Browse code

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

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

Michael Niedermayer authored on 2014/01/17 01:29:58
Showing 2 changed files
... ...
@@ -387,9 +387,33 @@ static av_cold int decode_init(AVCodecContext *avctx)
387 387
         case 0x670:
388 388
             avctx->pix_fmt = AV_PIX_FMT_YUV444P;
389 389
             break;
390
+        case 0x680:
391
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P9;
392
+            break;
393
+        case 0x690:
394
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P10;
395
+            break;
396
+        case 0x6B0:
397
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P12;
398
+            break;
399
+        case 0x6D0:
400
+            avctx->pix_fmt = AV_PIX_FMT_YUV444P14;
401
+            break;
390 402
         case 0x671:
391 403
             avctx->pix_fmt = AV_PIX_FMT_YUV422P;
392 404
             break;
405
+        case 0x681:
406
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P9;
407
+            break;
408
+        case 0x691:
409
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P10;
410
+            break;
411
+        case 0x6B1:
412
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P12;
413
+            break;
414
+        case 0x6D1:
415
+            avctx->pix_fmt = AV_PIX_FMT_YUV422P14;
416
+            break;
393 417
         case 0x672:
394 418
             avctx->pix_fmt = AV_PIX_FMT_YUV411P;
395 419
             break;
... ...
@@ -399,9 +423,18 @@ static av_cold int decode_init(AVCodecContext *avctx)
399 399
         case 0x675:
400 400
             avctx->pix_fmt = AV_PIX_FMT_YUV420P;
401 401
             break;
402
+        case 0x685:
403
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P9;
404
+            break;
402 405
         case 0x695:
403 406
             avctx->pix_fmt = AV_PIX_FMT_YUV420P10;
404 407
             break;
408
+        case 0x6B5:
409
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P12;
410
+            break;
411
+        case 0x6D5:
412
+            avctx->pix_fmt = AV_PIX_FMT_YUV420P14;
413
+            break;
405 414
         case 0x67A:
406 415
             avctx->pix_fmt = AV_PIX_FMT_YUV410P;
407 416
             break;
... ...
@@ -252,7 +252,18 @@ static av_cold int encode_init(AVCodecContext *avctx)
252 252
     case AV_PIX_FMT_YUVA422P:
253 253
     case AV_PIX_FMT_GBRAP:
254 254
     case AV_PIX_FMT_GRAY8A:
255
+    case AV_PIX_FMT_YUV420P9:
255 256
     case AV_PIX_FMT_YUV420P10:
257
+    case AV_PIX_FMT_YUV420P12:
258
+    case AV_PIX_FMT_YUV420P14:
259
+    case AV_PIX_FMT_YUV422P9:
260
+    case AV_PIX_FMT_YUV422P10:
261
+    case AV_PIX_FMT_YUV422P12:
262
+    case AV_PIX_FMT_YUV422P14:
263
+    case AV_PIX_FMT_YUV444P9:
264
+    case AV_PIX_FMT_YUV444P10:
265
+    case AV_PIX_FMT_YUV444P12:
266
+    case AV_PIX_FMT_YUV444P14:
256 267
         s->version = 3;
257 268
         break;
258 269
     case AV_PIX_FMT_RGB32:
... ...
@@ -948,7 +959,9 @@ AVCodec ff_ffvhuff_encoder = {
948 948
         AV_PIX_FMT_YUVA420P, AV_PIX_FMT_YUVA422P, AV_PIX_FMT_YUVA444P,
949 949
         AV_PIX_FMT_GBRAP,
950 950
         AV_PIX_FMT_GRAY8A,
951
-        AV_PIX_FMT_YUV420P10,
951
+        AV_PIX_FMT_YUV420P9, AV_PIX_FMT_YUV420P10, AV_PIX_FMT_YUV420P12, AV_PIX_FMT_YUV420P14,
952
+        AV_PIX_FMT_YUV422P9, AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV422P14,
953
+        AV_PIX_FMT_YUV444P9, AV_PIX_FMT_YUV444P10, AV_PIX_FMT_YUV444P12, AV_PIX_FMT_YUV444P14,
952 954
         AV_PIX_FMT_RGB24,
953 955
         AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
954 956
     },