From 7a1723086a9cc72c2f3e1e682b002ed3d81990d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 14 Jan 2012 17:09:07 +0100 Subject: [PATCH] Fix compilation without HAVE_AVX, HAVE_YASM etc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At the very least this should fix warnings about unused static functions if one or more of these is not defined. However even compilation might be broken if the compiler does not optimize the function away completely. This actually happens in case of the AVX function, since the function pointer is used in an assignment that is not under an #if and thus probably only optimized away after the function was already marked as used. Signed-off-by: Reimar Döffinger --- libavcodec/x86/mpegaudiodec_mmx.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/x86/mpegaudiodec_mmx.c b/libavcodec/x86/mpegaudiodec_mmx.c index b1fa6573b8..b85b8a5548 100644 --- a/libavcodec/x86/mpegaudiodec_mmx.c +++ b/libavcodec/x86/mpegaudiodec_mmx.c @@ -192,11 +192,17 @@ static void imdct36_blocks_ ## CPU1(float *out, float *buf, float *in, \ } \ } +#if HAVE_YASM +#if HAVE_SSE DECL_IMDCT_BLOCKS(sse,sse) DECL_IMDCT_BLOCKS(sse2,sse) DECL_IMDCT_BLOCKS(sse3,sse) DECL_IMDCT_BLOCKS(ssse3,sse) +#endif +#if HAVE_AVX DECL_IMDCT_BLOCKS(avx,avx) +#endif +#endif void ff_mpadsp_init_mmx(MPADSPContext *s) { @@ -220,8 +226,11 @@ void ff_mpadsp_init_mmx(MPADSPContext *s) s->apply_window_float = apply_window_mp3; } #if HAVE_YASM - if (mm_flags & AV_CPU_FLAG_AVX && HAVE_AVX) { + if (0) { +#if HAVE_AVX + } else if (mm_flags & AV_CPU_FLAG_AVX && HAVE_AVX) { s->imdct36_blocks_float = imdct36_blocks_avx; +#endif #if HAVE_SSE } else if (mm_flags & AV_CPU_FLAG_SSSE3) { s->imdct36_blocks_float = imdct36_blocks_ssse3;