diff options
author | Uoti Urpala <uau@mplayer2.org> | 2011-06-26 01:22:53 +0300 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2011-06-26 06:27:50 +0300 |
commit | aba8a1838aa882dace748a7402caf3087dc1f25f (patch) | |
tree | acec9c61029e0aec6fdfb76763cc83db9968daee /libmpcodecs/img_format.c | |
parent | 949626ee4608792ae7a4b2fe0a97cb593a9c3132 (diff) | |
download | mpv-aba8a1838aa882dace748a7402caf3087dc1f25f.tar.bz2 mpv-aba8a1838aa882dace748a7402caf3087dc1f25f.tar.xz |
video/colorspaces: add new 9/10-bit formats from libavcodec
Add new internal 9/10-bit IMGFMT values and mappings to the
corresponding libav* PIX_FMT_* values.
Partially based on a patch from Arne Bochem <arneb.mp@ccan.de>.
Diffstat (limited to 'libmpcodecs/img_format.c')
-rw-r--r-- | libmpcodecs/img_format.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libmpcodecs/img_format.c b/libmpcodecs/img_format.c index df47ce043b..09711e5270 100644 --- a/libmpcodecs/img_format.c +++ b/libmpcodecs/img_format.c @@ -59,10 +59,20 @@ const char *vo_format_name(int format) case IMGFMT_Y8: return "Planar Y8"; case IMGFMT_420P16_LE: return "Planar 420P 16-bit little-endian"; case IMGFMT_420P16_BE: return "Planar 420P 16-bit big-endian"; + case IMGFMT_420P10_LE: return "Planar 420P 10-bit little-endian"; + case IMGFMT_420P10_BE: return "Planar 420P 10-bit big-endian"; + case IMGFMT_420P9_LE: return "Planar 420P 9-bit little-endian"; + case IMGFMT_420P9_BE: return "Planar 420P 9-bit big-endian"; case IMGFMT_422P16_LE: return "Planar 422P 16-bit little-endian"; case IMGFMT_422P16_BE: return "Planar 422P 16-bit big-endian"; + case IMGFMT_422P10_LE: return "Planar 422P 10-bit little-endian"; + case IMGFMT_422P10_BE: return "Planar 422P 10-bit big-endian"; case IMGFMT_444P16_LE: return "Planar 444P 16-bit little-endian"; case IMGFMT_444P16_BE: return "Planar 444P 16-bit big-endian"; + case IMGFMT_444P10_LE: return "Planar 444P 10-bit little-endian"; + case IMGFMT_444P10_BE: return "Planar 444P 10-bit big-endian"; + case IMGFMT_444P9_LE: return "Planar 444P 9-bit little-endian"; + case IMGFMT_444P9_BE: return "Planar 444P 9-bit big-endian"; case IMGFMT_420A: return "Planar 420P with alpha"; case IMGFMT_444P: return "Planar 444P"; case IMGFMT_422P: return "Planar 422P"; @@ -116,6 +126,10 @@ int mp_get_chroma_shift(int format, int *x_shift, int *y_shift) switch (format) { case IMGFMT_420P16_LE: case IMGFMT_420P16_BE: + case IMGFMT_420P10_LE: + case IMGFMT_420P10_BE: + case IMGFMT_420P9_LE: + case IMGFMT_420P9_BE: bpp_factor = 2; case IMGFMT_420A: case IMGFMT_I420: @@ -131,6 +145,10 @@ int mp_get_chroma_shift(int format, int *x_shift, int *y_shift) break; case IMGFMT_444P16_LE: case IMGFMT_444P16_BE: + case IMGFMT_444P10_LE: + case IMGFMT_444P10_BE: + case IMGFMT_444P9_LE: + case IMGFMT_444P9_BE: bpp_factor = 2; case IMGFMT_444P: xs = 0; @@ -138,6 +156,8 @@ int mp_get_chroma_shift(int format, int *x_shift, int *y_shift) break; case IMGFMT_422P16_LE: case IMGFMT_422P16_BE: + case IMGFMT_422P10_LE: + case IMGFMT_422P10_BE: bpp_factor = 2; case IMGFMT_422P: xs = 1; |