[FFmpeg-cvslog] avcodec/huffyuv: add YUV{420, 422, 444}P{9, 10, 12, 14} support

Michael Niedermayer git at videolan.org
Thu Jan 16 17:35:59 CET 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Jan 16 17:29:58 2014 +0100| [ef0282125cf4cc373ddbc177939d17857bb6b31b] | committer: Michael Niedermayer

avcodec/huffyuv: add YUV{420,422,444}P{9,10,12,14} support

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ef0282125cf4cc373ddbc177939d17857bb6b31b
---

 libavcodec/huffyuvdec.c |   33 +++++++++++++++++++++++++++++++++
 libavcodec/huffyuvenc.c |   15 ++++++++++++++-
 2 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index d08aa5c..2d9d12c 100644
--- a/libavcodec/huffyuvdec.c
+++ b/libavcodec/huffyuvdec.c
@@ -387,9 +387,33 @@ static av_cold int decode_init(AVCodecContext *avctx)
         case 0x670:
             avctx->pix_fmt = AV_PIX_FMT_YUV444P;
             break;
+        case 0x680:
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P9;
+            break;
+        case 0x690:
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P10;
+            break;
+        case 0x6B0:
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P12;
+            break;
+        case 0x6D0:
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P14;
+            break;
         case 0x671:
             avctx->pix_fmt = AV_PIX_FMT_YUV422P;
             break;
+        case 0x681:
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P9;
+            break;
+        case 0x691:
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P10;
+            break;
+        case 0x6B1:
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P12;
+            break;
+        case 0x6D1:
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P14;
+            break;
         case 0x672:
             avctx->pix_fmt = AV_PIX_FMT_YUV411P;
             break;
@@ -399,9 +423,18 @@ static av_cold int decode_init(AVCodecContext *avctx)
         case 0x675:
             avctx->pix_fmt = AV_PIX_FMT_YUV420P;
             break;
+        case 0x685:
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P9;
+            break;
         case 0x695:
             avctx->pix_fmt = AV_PIX_FMT_YUV420P10;
             break;
+        case 0x6B5:
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P12;
+            break;
+        case 0x6D5:
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P14;
+            break;
         case 0x67A:
             avctx->pix_fmt = AV_PIX_FMT_YUV410P;
             break;
diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index 55e0b1e..3175f79 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -252,7 +252,18 @@ static av_cold int encode_init(AVCodecContext *avctx)
     case AV_PIX_FMT_YUVA422P:
     case AV_PIX_FMT_GBRAP:
     case AV_PIX_FMT_GRAY8A:
+    case AV_PIX_FMT_YUV420P9:
     case AV_PIX_FMT_YUV420P10:
+    case AV_PIX_FMT_YUV420P12:
+    case AV_PIX_FMT_YUV420P14:
+    case AV_PIX_FMT_YUV422P9:
+    case AV_PIX_FMT_YUV422P10:
+    case AV_PIX_FMT_YUV422P12:
+    case AV_PIX_FMT_YUV422P14:
+    case AV_PIX_FMT_YUV444P9:
+    case AV_PIX_FMT_YUV444P10:
+    case AV_PIX_FMT_YUV444P12:
+    case AV_PIX_FMT_YUV444P14:
         s->version = 3;
         break;
     case AV_PIX_FMT_RGB32:
@@ -948,7 +959,9 @@ AVCodec ff_ffvhuff_encoder = {
         AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
         AV_PIX_FMT_GBRAP,
         AV_PIX_FMT_GRAY8A,
-        AV_PIX_FMT_YUV420P10,
+        AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14,
+        AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
+        AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14,
         AV_PIX_FMT_RGB24,
         AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
     },



More information about the ffmpeg-cvslog mailing list