New submission from Martin Storsjö <[email protected]>:

Since rev 23750, compilation is broken if only fixed-point mpegaudio decoders 
are enabled, when 
compiling with MMX.

The relevant parts of rev 23750:

Modified: trunk/libavcodec/mpegaudiodec.c
==============================================================================
--- trunk/libavcodec/mpegaudiodec.c     Thu Jun 24 08:55:53 2010        (r23749)
+++ trunk/libavcodec/mpegaudiodec.c     Thu Jun 24 09:44:50 2010        (r23750)
@@ -308,7 +308,9 @@ static av_cold int decode_init(AVCodecCo

     s->avctx = avctx;
     s->apply_window_mp3 = apply_window_mp3_c;
-
+#if HAVE_MMX
+    ff_mpegaudiodec_init_mmx(s);
+#endif
     avctx->sample_fmt= OUT_FMT;
     s->error_recognition= avctx->error_recognition;

Modified: trunk/libavcodec/x86/Makefile
==============================================================================
--- trunk/libavcodec/x86/Makefile       Thu Jun 24 08:55:53 2010        (r23749)
+++ trunk/libavcodec/x86/Makefile       Thu Jun 24 09:44:50 2010        (r23750)
@@ -10,6 +10,11 @@ YASM-OBJS-$(CONFIG_GPL)                +
                                           x86/h264_idct_sse2.o          \

 MMX-OBJS-$(CONFIG_CAVS_DECODER)        += x86/cavsdsp_mmx.o
+MMX-OBJS-$(CONFIG_MP1FLOAT_DECODER)    += x86/mpegaudiodec_mmx.o
+MMX-OBJS-$(CONFIG_MP2FLOAT_DECODER)    += x86/mpegaudiodec_mmx.o
+MMX-OBJS-$(CONFIG_MP3FLOAT_DECODER)    += x86/mpegaudiodec_mmx.o
+MMX-OBJS-$(CONFIG_MP3ON4FLOAT_DECODER) += x86/mpegaudiodec_mmx.o
+MMX-OBJS-$(CONFIG_MP3ADUFLOAT_DECODER) += x86/mpegaudiodec_mmx.o
 MMX-OBJS-$(CONFIG_ENCODERS)            += x86/dsputilenc_mmx.o
 MMX-OBJS-$(CONFIG_GPL)                 += x86/idct_mmx.o
 MMX-OBJS-$(CONFIG_LPC)                 += x86/lpc_mmx.o


mpegaudiodec.c references ff_mpegaudiodec_init_mmx within HAVE_MMX, but the 
function is only 
provided if one of the float decoders is enabled. To reproduce, build with e.g. 
--disable-everything 
--enable-decoder=mp3. Building with this configuration results in error like 
this:

.../ffmpeg/libavcodec/libavcodec.a(mpegaudiodec.o): In function `decode_init':
.../ffmpeg/libavcodec/mpegaudiodec.c:326: undefined reference to 
`ff_mpegaudiodec_init_mmx'

----------
assignedto: Vitor1001
messages: 11013
nosy: Vitor1001, mstorsjo
priority: normal
status: new
substatus: new
title: Compilation of only fixed-point mp3 decoder fails if MMX is enabled
type: bug

________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2054>
________________________________________________

Reply via email to