# HG changeset patch # User cehoyos # Date 1319907086 0 # Node ID 4b5f57ccfff128a511b1aa382a2974943f4fab46 # Parent d7bcbf5f7dc33e8a60f76b64ca6d82fdfb7deb15 Support YUV 4:4:4 9-bit output. diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 codec-cfg.c --- a/codec-cfg.c Sat Oct 29 10:01:32 2011 +0000 +++ b/codec-cfg.c Sat Oct 29 16:51:26 2011 +0000 @@ -179,6 +179,7 @@ {"420P16BE", IMGFMT_420P16_BE}, {"444P16", IMGFMT_444P16}, {"444P10", IMGFMT_444P10}, + {"444P9", IMGFMT_444P9}, {"422P16", IMGFMT_422P16}, {"422P10", IMGFMT_422P10}, {"420P16", IMGFMT_420P16}, diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 etc/codecs.conf --- a/etc/codecs.conf Sat Oct 29 10:01:32 2011 +0000 +++ b/etc/codecs.conf Sat Oct 29 16:51:26 2011 +0000 @@ -1114,7 +1114,7 @@ dll h264 out YV12,I420,IYUV,420P10,420P9 out 422P,422P10 - out 444P,444P10 + out 444P,444P9,444P10 out GBR24P videocodec ffh264vdpau diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 fmt-conversion.c --- a/fmt-conversion.c Sat Oct 29 10:01:32 2011 +0000 +++ b/fmt-conversion.c Sat Oct 29 16:51:26 2011 +0000 @@ -90,6 +90,8 @@ {IMGFMT_444P16_BE, PIX_FMT_YUV444P16BE}, {IMGFMT_444P10_LE, PIX_FMT_YUV444P10LE}, {IMGFMT_444P10_BE, PIX_FMT_YUV444P10BE}, + {IMGFMT_444P9_LE, PIX_FMT_YUV444P9LE}, + {IMGFMT_444P9_BE, PIX_FMT_YUV444P9BE}, // YUVJ are YUV formats that use the full Y range and not just // 16 - 235 (see colorspaces.txt). diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 libmpcodecs/img_format.c --- a/libmpcodecs/img_format.c Sat Oct 29 10:01:32 2011 +0000 +++ b/libmpcodecs/img_format.c Sat Oct 29 16:51:26 2011 +0000 @@ -73,6 +73,8 @@ 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"; diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 libmpcodecs/img_format.h --- a/libmpcodecs/img_format.h Sat Oct 29 10:01:32 2011 +0000 +++ b/libmpcodecs/img_format.h Sat Oct 29 16:51:26 2011 +0000 @@ -127,6 +127,8 @@ #define IMGFMT_444P16_BE 0x34343451 #define IMGFMT_444P10_LE 0x52343434 #define IMGFMT_444P10_BE 0x34343452 +#define IMGFMT_444P9_LE 0x53343434 +#define IMGFMT_444P9_BE 0x34343453 #define IMGFMT_422P16_LE 0x51323234 #define IMGFMT_422P16_BE 0x34323251 #define IMGFMT_422P10_LE 0x52323234 @@ -140,6 +142,7 @@ #if HAVE_BIGENDIAN #define IMGFMT_444P16 IMGFMT_444P16_BE #define IMGFMT_444P10 IMGFMT_444P10_BE +#define IMGFMT_444P9 IMGFMT_444P9_BE #define IMGFMT_422P16 IMGFMT_422P16_BE #define IMGFMT_422P10 IMGFMT_422P10_BE #define IMGFMT_420P16 IMGFMT_420P16_BE @@ -149,6 +152,7 @@ #else #define IMGFMT_444P16 IMGFMT_444P16_LE #define IMGFMT_444P10 IMGFMT_444P10_LE +#define IMGFMT_444P9 IMGFMT_444P9_LE #define IMGFMT_422P16 IMGFMT_422P16_LE #define IMGFMT_422P10 IMGFMT_422P10_LE #define IMGFMT_420P16 IMGFMT_420P16_LE diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 libmpcodecs/mp_image.c --- a/libmpcodecs/mp_image.c Sat Oct 29 10:01:32 2011 +0000 +++ b/libmpcodecs/mp_image.c Sat Oct 29 16:51:26 2011 +0000 @@ -152,6 +152,8 @@ case IMGFMT_444P16_BE: case IMGFMT_444P10_LE: case IMGFMT_444P10_BE: + case IMGFMT_444P9_LE: + case IMGFMT_444P9_BE: case IMGFMT_422P16_LE: case IMGFMT_422P16_BE: case IMGFMT_422P10_LE: diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 libmpcodecs/vf_scale.c --- a/libmpcodecs/vf_scale.c Sat Oct 29 10:01:32 2011 +0000 +++ b/libmpcodecs/vf_scale.c Sat Oct 29 16:51:26 2011 +0000 @@ -70,6 +70,8 @@ IMGFMT_444P16_BE, IMGFMT_444P10_LE, IMGFMT_444P10_BE, + IMGFMT_444P9_LE, + IMGFMT_444P9_BE, IMGFMT_422P, IMGFMT_422P16_LE, IMGFMT_422P16_BE, diff -r d7bcbf5f7dc3 -r 4b5f57ccfff1 m_option.c --- a/m_option.c Sat Oct 29 10:01:32 2011 +0000 +++ b/m_option.c Sat Oct 29 16:51:26 2011 +0000 @@ -1078,6 +1078,8 @@ {"444p16be", IMGFMT_444P16_BE}, {"444p10le", IMGFMT_444P10_LE}, {"444p10be", IMGFMT_444P10_BE}, + {"444p9le", IMGFMT_444P9_LE}, + {"444p9be", IMGFMT_444P9_BE}, {"422p16le", IMGFMT_422P16_LE}, {"422p16be", IMGFMT_422P16_BE}, {"422p10le", IMGFMT_422P10_LE},