diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2025-05-25 05:21:44 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2025-05-27 13:45:21 +0200 |
commit | a6bcc773b5aa3ad5b50f4498f2e70c0ec6d9dbf0 (patch) | |
tree | d7e5d9d0dd482a68a3743daf1f1a3c67d3812a41 | |
parent | 3cbe3418b2b7b60299e54321b78922a3c3a9527b (diff) | |
download | ffmpeg-a6bcc773b5aa3ad5b50f4498f2e70c0ec6d9dbf0.tar.gz |
avcodec/ffv1enc: Fix explicitly set -slicecrc 2
crcref needs to be set properly iff ec is two, regardless
of whether it has been explicitly set by the user or set
by default based on level/version.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/ffv1enc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 40209f9935..463f46e091 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -629,7 +629,6 @@ av_cold int ff_ffv1_encode_init(AVCodecContext *avctx) if (s->ec < 0) { if (s->version >= 4) { s->ec = 2; - s->crcref = 0x7a8c4079; } else if (s->version >= 3) { s->ec = 1; } else @@ -639,8 +638,10 @@ av_cold int ff_ffv1_encode_init(AVCodecContext *avctx) // CRC requires version 3+ if (s->ec == 1) s->version = FFMAX(s->version, 3); - if (s->ec == 2) + if (s->ec == 2) { s->version = FFMAX(s->version, 4); + s->crcref = 0x7a8c4079; + } if ((s->version == 2 || s->version>3) && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) { av_log(avctx, AV_LOG_ERROR, "Version 2 or 4 needed for requested features but version 2 or 4 is experimental and not enabled\n"); |