[FFmpeg-devel] [PATCH] Fix compilation without HAVE_AVX, HAVE_YASM etc.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Sat Jan 14 17:12:53 CET 2012
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 <Reimar.Doeffinger at gmx.de>
---
libavcodec/x86/mpegaudiodec_mmx.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/libavcodec/x86/mpegaudiodec_mmx.c b/libavcodec/x86/mpegaudiodec_mmx.c
index b1fa657..b85b8a5 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;
--
1.7.8.3
More information about the ffmpeg-devel
mailing list