From 35d597d556af54ead069fe63ef6d8fa403af4340 Mon Sep 17 00:00:00 2001 From: =?utf8?q?M=C3=A5ns=20Rullg=C3=A5rd?= Date: Thu, 1 Jul 2010 23:21:17 +0000 Subject: [PATCH] mpegaudio: call ff_mpegaudiodec_init_mmx() only from float decoder 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. Fixes issue 2054. Originally committed as revision 23949 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpegaudiodec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 00ed7fc..e5a1ace 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -322,7 +322,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 ff_mpegaudiodec_init_mmx(s); #endif if (HAVE_ALTIVEC && CONFIG_FLOAT) ff_mpegaudiodec_init_altivec(s); -- 2.7.4