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
This commit is contained in:
parent
525fcb2798
commit
35d597d556
@ -322,7 +322,7 @@ static av_cold int decode_init(AVCodecContext * avctx)
|
|||||||
|
|
||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
s->apply_window_mp3 = apply_window_mp3_c;
|
s->apply_window_mp3 = apply_window_mp3_c;
|
||||||
#if HAVE_MMX
|
#if HAVE_MMX && CONFIG_FLOAT
|
||||||
ff_mpegaudiodec_init_mmx(s);
|
ff_mpegaudiodec_init_mmx(s);
|
||||||
#endif
|
#endif
|
||||||
if (HAVE_ALTIVEC && CONFIG_FLOAT) ff_mpegaudiodec_init_altivec(s);
|
if (HAVE_ALTIVEC && CONFIG_FLOAT) ff_mpegaudiodec_init_altivec(s);
|
||||||
|
Loading…
Reference in New Issue
Block a user