aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-16 17:29:58 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-16 17:29:58 +0100
commitef0282125cf4cc373ddbc177939d17857bb6b31b (patch)
tree3d7260dd7d000d3d3c15f7fe6911cbaf45c63fd0
parentb53aab1a5819abe7c65b5f645e09559bb42db793 (diff)
downloadffmpeg-ef0282125cf4cc373ddbc177939d17857bb6b31b.tar.gz
avcodec/huffyuv: add YUV{420,422,444}P{9,10,12,14} support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/huffyuvdec.c33
-rw-r--r--libavcodec/huffyuvenc.c15
2 files changed, 47 insertions, 1 deletions
diff --git a/libavcodec/huffyuvdec.c b/libavcodec/huffyuvdec.c
index d08aa5c4f6..2d9d12ce64 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 55e0b1e398..3175f79ce9 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
},