[FFmpeg-devel] [PATCH 1/2] avcodec/mpegvideo: Don't initialize H264Chroma ctx unnecessarily
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Thu Oct 27 02:33:39 EEST 2022
Andreas Rheinhardt:
> It is only used by the decoders' lowres code, so only initialize
> it for decoders.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> configure | 4 ++--
> libavcodec/mpegvideo.c | 1 -
> libavcodec/mpegvideo_dec.c | 3 +++
> 3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/configure b/configure
> index eefd103414..dd207769a2 100755
> --- a/configure
> +++ b/configure
> @@ -2754,8 +2754,8 @@ me_cmp_select="idctdsp"
> mpeg_er_select="error_resilience"
> mpegaudio_select="mpegaudiodsp mpegaudioheader"
> mpegaudiodsp_select="dct"
> -mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp videodsp"
> -mpegvideodec_select="mpegvideo mpeg_er"
> +mpegvideo_select="blockdsp hpeldsp idctdsp videodsp"
> +mpegvideodec_select="h264chroma mpegvideo mpeg_er"
> mpegvideoenc_select="aandcttables fdctdsp me_cmp mpegvideo pixblockdsp qpeldsp"
> msmpeg4dec_select="h263_decoder"
> msmpeg4enc_select="h263_encoder"
> diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
> index c436dc8001..697438fa6f 100644
> --- a/libavcodec/mpegvideo.c
> +++ b/libavcodec/mpegvideo.c
> @@ -275,7 +275,6 @@ static void gray8(uint8_t *dst, const uint8_t *src, ptrdiff_t linesize, int h)
> static av_cold int dct_init(MpegEncContext *s)
> {
> ff_blockdsp_init(&s->bdsp);
> - ff_h264chroma_init(&s->h264chroma, 8); //for lowres
> ff_hpeldsp_init(&s->hdsp, s->avctx->flags);
> ff_videodsp_init(&s->vdsp, s->avctx->bits_per_raw_sample);
>
> diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c
> index c2d6d8bdd7..12c7144ffb 100644
> --- a/libavcodec/mpegvideo_dec.c
> +++ b/libavcodec/mpegvideo_dec.c
> @@ -51,6 +51,8 @@ void ff_mpv_decode_init(MpegEncContext *s, AVCodecContext *avctx)
>
> /* convert fourcc to upper case */
> s->codec_tag = ff_toupper4(avctx->codec_tag);
> +
> + ff_h264chroma_init(&s->h264chroma, 8); //for lowres
> }
>
> int ff_mpeg_update_thread_context(AVCodecContext *dst,
> @@ -83,6 +85,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
> memset(s, 0, sizeof(*s));
> s->avctx = dst;
> s->private_ctx = private_ctx;
> + memcpy(&s->h264chroma, &s1->h264chroma, sizeof(s->h264chroma));
> return err;
> }
> }
Will apply the first two patches of this patchset tonight.
- Andreas
More information about the ffmpeg-devel
mailing list