ffmpeg | branch: master | Michael Niedermayer <mich...@niedermayer.cc> | Tue Mar 11 13:22:45 2025 +0100| [a90ff8128772a03dd61dce7bcfc5d8416c9a6d8a] | committer: Michael Niedermayer
avcodec/ffv1enc: Factor set_micro_version() out of ff_ffv1_write_extradata() and call it from ff_ffv1_encode_init() setting micro version from code writing the extradata is messy, this should be cleaner Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a90ff8128772a03dd61dce7bcfc5d8416c9a6d8a --- libavcodec/ffv1enc.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c index 79288e945d..abdb284302 100644 --- a/libavcodec/ffv1enc.c +++ b/libavcodec/ffv1enc.c @@ -392,6 +392,22 @@ static void write_header(FFV1Context *f) } } +static void set_micro_version(FFV1Context *f) +{ + f->combined_version = f->version << 16; + if (f->version > 2) { + if (f->version == 3) { + f->micro_version = 4; + } else if (f->version == 4) { + f->micro_version = 5; + } else + av_assert0(0); + + f->combined_version += f->micro_version; + } else + av_assert0(f->micro_version == 0); +} + av_cold int ff_ffv1_write_extradata(AVCodecContext *avctx) { FFV1Context *f = avctx->priv_data; @@ -414,15 +430,8 @@ av_cold int ff_ffv1_write_extradata(AVCodecContext *avctx) ff_build_rac_states(&c, 0.05 * (1LL << 32), 256 - 8); put_symbol(&c, state, f->version, 0); - f->combined_version = f->version << 16; - if (f->version > 2) { - if (f->version == 3) { - f->micro_version = 4; - } else if (f->version == 4) - f->micro_version = 5; - f->combined_version += f->micro_version; + if (f->version > 2) put_symbol(&c, state, f->micro_version, 0); - } put_symbol(&c, state, f->ac, 0); if (f->ac == AC_RANGE_CUSTOM_TAB) @@ -742,6 +751,8 @@ av_cold int ff_ffv1_encode_init(AVCodecContext *avctx) s->num_v_slices = 1; } + set_micro_version(s); + return 0; } _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".