[FFmpeg-devel] [PATCH 4/4] lavc/mpv_enc: rationalize dct_quantize init
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun Jun 9 11:37:41 EEST 2024
Rémi Denis-Courmont:
> On entry the function pointer is always NULL. We just need to set the
> pointer before probing x86 CPU optimisations.
>
Incorrect:
https://github.com/mkver/FFmpeg/commit/d22d4ee8419788f9bb239a21e276cebce0891737
(see also
https://github.com/mkver/FFmpeg/commits/mpegvideo_pool/?after=d2dfcf8f226c3708f3df080aed043ff4aa26e7cd+34
which contains the equivalent of patches 1+2 and a better version of #4)
> Note that there is a third code path setting this function pointer, but
> it does so *after* calling this function: the DNxHD encoder.
> ---
> libavcodec/mpegvideo_enc.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
> index af04db70d8..49eed6301b 100644
> --- a/libavcodec/mpegvideo_enc.c
> +++ b/libavcodec/mpegvideo_enc.c
> @@ -371,14 +371,13 @@ static void mpv_encode_defaults(MpegEncContext *s)
>
> av_cold int ff_dct_encode_init(MpegEncContext *s)
> {
> + s->dct_quantize = dct_quantize_c;
> #if ARCH_X86
> ff_dct_encode_init_x86(s);
> #endif
>
> if (CONFIG_H263_ENCODER)
> ff_h263dsp_init(&s->h263dsp);
> - if (!s->dct_quantize)
> - s->dct_quantize = dct_quantize_c;
> if (!s->denoise_dct)
> s->denoise_dct = denoise_dct_c;
> s->fast_dct_quantize = s->dct_quantize;
More information about the ffmpeg-devel
mailing list