Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2016-11-17 15:08:27 +0300
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2016-11-21 00:23:01 +0300
commit322568c079d6253e46e6730244162fd6aad455c6 (patch)
treea9f75ef826f5295463f7bd1ece6745d502a71b02 /libavcodec/ffv1dec.c
parent1c7da19a4b45f5623cb3955b29b9a581026e3c61 (diff)
lavc/ffv1: Support YUV4xxP12 and GRAY12.
Diffstat (limited to 'libavcodec/ffv1dec.c')
-rw-r--r--libavcodec/ffv1dec.c7
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) {