OSDN Git Service

avcodec/ffv1enc: Fix storing RGB48 without explicitly set level
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 24 Oct 2016 23:15:56 +0000 (01:15 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 25 Oct 2016 00:51:34 +0000 (02:51 +0200)
the bps value is only stored with level >= 1, using rgb48 with level 0 requires the
user app to keep track of the bps by external means, which does not always happen
also we force level >= 1 for other 16bps formats, so this is consistent.

Found-by: Jerome Martinez <jerome@mediaarea.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/ffv1enc.c

index dae68ae..68d311d 100644 (file)
@@ -629,6 +629,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
         s->chroma_planes = 1;
         s->bits_per_raw_sample = 16;
         s->use32bit = 1;
+        s->version = FFMAX(s->version, 1);
         if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {
             av_log(avctx, AV_LOG_ERROR, "16bit RGB is experimental and under development, only use it for experiments\n");
             return AVERROR_INVALIDDATA;