From aaf4109a5f36f4a481c6d278fda6f180d31c5802 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 2 Oct 2022 22:26:14 +0200 Subject: [PATCH] avcodec/mpegvideo_enc: Call ff_mpeg1_encode_init() earlier It does not require anything that is being set between the new position where it is called and the old position where it used to be called; and nothing that it sets gets overwritten between these two positions. Doing so allows to remove a check lateron. Signed-off-by: Andreas Rheinhardt --- libavcodec/mpegvideo_enc.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 2d305b9bf2..2cbb856866 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -647,17 +647,17 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) s->time_increment_bits = av_log2(avctx->time_base.den - 1) + 1; switch (avctx->codec->id) { +#if CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER + case AV_CODEC_ID_MPEG2VIDEO: + s->rtp_mode = 1; + /* fallthrough */ case AV_CODEC_ID_MPEG1VIDEO: s->out_format = FMT_MPEG1; s->low_delay = !!(avctx->flags & AV_CODEC_FLAG_LOW_DELAY); avctx->delay = s->low_delay ? 0 : (s->max_b_frames + 1); + ff_mpeg1_encode_init(s); break; - case AV_CODEC_ID_MPEG2VIDEO: - s->out_format = FMT_MPEG1; - s->low_delay = !!(avctx->flags & AV_CODEC_FLAG_LOW_DELAY); - avctx->delay = s->low_delay ? 0 : (s->max_b_frames + 1); - s->rtp_mode = 1; - break; +#endif #if CONFIG_MJPEG_ENCODER || CONFIG_AMV_ENCODER case AV_CODEC_ID_MJPEG: case AV_CODEC_ID_AMV: @@ -895,10 +895,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) ff_set_cmp(&s->mecc, s->mecc.ildct_cmp, avctx->ildct_cmp); ff_set_cmp(&s->mecc, s->mecc.frame_skip_cmp, s->frame_skip_cmp); - if ((CONFIG_MPEG1VIDEO_ENCODER || CONFIG_MPEG2VIDEO_ENCODER) - && s->out_format == FMT_MPEG1) { - ff_mpeg1_encode_init(s); - } else if (CONFIG_H263_ENCODER && s->out_format == FMT_H263) { + if (CONFIG_H263_ENCODER && s->out_format == FMT_H263) { ff_h263_encode_init(s); if (CONFIG_MSMPEG4ENC && s->msmpeg4_version) ff_msmpeg4_encode_init(s);