aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2025-05-25 05:21:44 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2025-05-27 13:45:21 +0200
commita6bcc773b5aa3ad5b50f4498f2e70c0ec6d9dbf0 (patch)
treed7e5d9d0dd482a68a3743daf1f1a3c67d3812a41
parent3cbe3418b2b7b60299e54321b78922a3c3a9527b (diff)
downloadffmpeg-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.c5
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");