diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-15 13:03:32 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-15 13:03:53 +0200 |
commit | c387c45e8301bc49d5b233e890839cdc0f8b3752 (patch) | |
tree | 4c31f122c968aa78340753c2ae626161284fafc2 /libavcodec | |
parent | 8ec618826302c2c6661453b515d4974eb3178a96 (diff) | |
download | ffmpeg-c387c45e8301bc49d5b233e890839cdc0f8b3752.tar.gz |
ffv1: fix plane_count at version 1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ffv1dec.c | 2 | ||||
-rw-r--r-- | libavcodec/ffv1enc.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 7722507703..fba01b9d37 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -499,7 +499,7 @@ static int read_extra_header(FFV1Context *f) f->chroma_h_shift = get_symbol(c, state, 0); f->chroma_v_shift = get_symbol(c, state, 0); f->transparency = get_rac(c, state); - f->plane_count = 2 + f->transparency; + f->plane_count = 1 + (f->chroma_planes || f->version<4) + f->transparency; f->num_h_slices = 1 + get_symbol(c, state, 0); f->num_v_slices = 1 + get_symbol(c, state, 0); diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 128eeb269d..032375aa45 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -797,6 +797,9 @@ static av_cold int encode_init(AVCodecContext *avctx) if (!s->transparency) s->plane_count = 2; + if (!s->chroma_planes && s->version > 3) + s->plane_count--; + avcodec_get_chroma_sub_sample(avctx->pix_fmt, &s->chroma_h_shift, &s->chroma_v_shift); s->picture_number = 0; |