diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-10-24 03:20:22 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-10-27 19:37:44 +0200 |
commit | 938c62b368e90e5686d08caf9e2b5d12f06ab884 (patch) | |
tree | db813efb82f62c28aefa44221c922b26a2f52313 | |
parent | e59e14eee11e2efd8b2c58ee1033682ddfe22845 (diff) | |
download | ffmpeg-938c62b368e90e5686d08caf9e2b5d12f06ab884.tar.gz |
avcodec/mpegvideo: Don't initialize H264Chroma ctx unnecessarily
It is only used by the decoders' lowres code, so only initialize
it for decoders.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | libavcodec/mpegvideo.c | 2 | ||||
-rw-r--r-- | libavcodec/mpegvideo_dec.c | 3 |
3 files changed, 5 insertions, 4 deletions
@@ -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..dbb72f8e94 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -34,7 +34,6 @@ #include "avcodec.h" #include "blockdsp.h" -#include "h264chroma.h" #include "idctdsp.h" #include "mathops.h" #include "mpeg_er.h" @@ -275,7 +274,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; } } |