[FFmpeg-devel] [PATCH] compilation error in libavcodec/x86/mpegaudiodsp.c

Paweł Witas pw178860 at gmail.com
Mon May 5 13:42:24 CEST 2014


diff --git a/libavcodec/x86/mpegaudiodsp.c b/libavcodec/x86/mpegaudiodsp.c
index 163f84b..ac4ed7b 100644
--- a/libavcodec/x86/mpegaudiodsp.c
+++ b/libavcodec/x86/mpegaudiodsp.c
@@ -276,8 +276,10 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s)
      if (EXTERNAL_SSSE3(cpu_flags)) {
          s->imdct36_blocks_float = imdct36_blocks_ssse3;
      }
+#if HAVE_AVX_EXTERNAL
      if (EXTERNAL_AVX(cpu_flags)) {
          s->imdct36_blocks_float = imdct36_blocks_avx;
      }
+#endif
  #endif /* HAVE_YASM */
  }

-------------- next part --------------
Compilation Error:
CC      libavcodec/x86/mpegaudiodsp.o
mpegaudiodsp.c
libavcodec/x86/mpegaudiodsp.c(284) : error C2129: static function 'void imdct36_blocks_avx(float *,float *,float *,int,int,int)' declared but not defined
        libavcodec/x86/mpegaudiodsp.c(39) : see declaration of 'imdct36_blocks_avx'
make: *** [libavcodec/x86/mpegaudiodsp.o] Error 2

I use MinGW/MSys tools.
My ffmpeg compilation configuration for Pentium III and above, that causes this error:

./configure --toolchain=msvc --prefix=/usr/local \
  --extra-cflags="-arch:SSE -O2 -MT -LD -I/usr/local/include -D_BIND_TO_CURRENT_CRT_VERSION=1 -D_BIND_TO_CURRENT_MFC_VERSION=1" \
  --arch=x86 --cpu=c3-2 --disable-runtime-cpudetect --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 \
  --disable-amd3dnow --disable-amd3dnowext --disable-avx --disable-avx2 --disable-xop --disable-fma3 --disable-fma4 \
  --disable-gpl --disable-debug --enable-shared --enable-swscale \
  --disable-decoder=aac --disable-encoder=aac --enable-decoder=aac_latm \
  --enable-libfdk-aac --disable-libaacplus --enable-nonfree



More information about the ffmpeg-devel mailing list