changeset 34189:4b5f57ccfff1

Support YUV 4:4:4 9-bit output.
author cehoyos
date Sat, 29 Oct 2011 16:51:26 +0000
parents d7bcbf5f7dc3
children e491bbbddf5d
files codec-cfg.c etc/codecs.conf fmt-conversion.c libmpcodecs/img_format.c libmpcodecs/img_format.h libmpcodecs/mp_image.c libmpcodecs/vf_scale.c m_option.c
diffstat 8 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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},
--- 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
--- 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).
--- 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";
--- 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
--- 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:
--- 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,
--- 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},