diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-11-17 13:08:27 +0100 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-11-20 22:23:01 +0100 |
commit | 322568c079d6253e46e6730244162fd6aad455c6 (patch) | |
tree | a9f75ef826f5295463f7bd1ece6745d502a71b02 /libavcodec/ffv1dec.c | |
parent | 1c7da19a4b45f5623cb3955b29b9a581026e3c61 (diff) | |
download | ffmpeg-322568c079d6253e46e6730244162fd6aad455c6.tar.gz |
lavc/ffv1: Support YUV4xxP12 and GRAY12.
Diffstat (limited to 'libavcodec/ffv1dec.c')
-rw-r--r-- | libavcodec/ffv1dec.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 358da1701f..31433e3782 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -636,6 +636,13 @@ static int read_header(FFV1Context *f) case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUVA422P10; break; case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUVA420P10; break; } + } else if (f->avctx->bits_per_raw_sample == 12 && !f->transparency) { + f->packed_at_lsb = 1; + switch(16 * f->chroma_h_shift + f->chroma_v_shift) { + case 0x00: f->avctx->pix_fmt = AV_PIX_FMT_YUV444P12; break; + case 0x10: f->avctx->pix_fmt = AV_PIX_FMT_YUV422P12; break; + case 0x11: f->avctx->pix_fmt = AV_PIX_FMT_YUV420P12; break; + } } else if (f->avctx->bits_per_raw_sample == 16 && !f->transparency){ f->packed_at_lsb = 1; switch(16 * f->chroma_h_shift + f->chroma_v_shift) { |