[FFmpeg-devel] [PATCH 2/2] mpegaudio: call ff_mpegaudiodec_init_mmx() only from float decoder
Vitor Sessak
vitor1001
Thu Jul 1 19:01:45 CEST 2010
On 07/01/2010 06:26 PM, Mans Rullgard wrote:
> The mmx code is floating-point only, and this function does not know
> from which decoder it is called. Without this change, the integer
> decoder only "works" because the size of the context struct is smaller
> in this case, and the mmx init function writes the function pointer
> outside the allocated context.
> ---
> libavcodec/mpegaudiodec.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
> index 3edfc65..af5b3b8 100644
> --- a/libavcodec/mpegaudiodec.c
> +++ b/libavcodec/mpegaudiodec.c
> @@ -320,7 +320,7 @@ static av_cold int decode_init(AVCodecContext * avctx)
>
> s->avctx = avctx;
> s->apply_window_mp3 = apply_window_mp3_c;
> -#if HAVE_MMX
> +#if HAVE_MMX&& CONFIG_FLOAT
I was thinking about committing something similar. Your patch should fix
issue2054. I would also move the line
s->apply_window_mp3 = apply_window_mp3_c;
inside a #if CONFIG_FLOAT.
-Vitor
More information about the ffmpeg-devel
mailing list