OSDN Git Service

x86/imdct36: don't build imdct36_float_sse on x86_64 targets
authorJames Almer <jamrial@gmail.com>
Thu, 27 Feb 2014 05:07:58 +0000 (02:07 -0300)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Feb 2014 21:54:03 +0000 (22:54 +0100)
There's an SSE2 version as well, and x86_64 guarantees that
instruction set is present.

Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/x86/imdct36.asm
libavcodec/x86/mpegaudiodsp.c

index d311fbe..1d58d6b 100644 (file)
@@ -358,8 +358,10 @@ cglobal imdct36_float, 4,4,9, out, buf, in, win
     RET
 %endmacro
 
+%if ARCH_X86_32
 INIT_XMM sse
 DEFINE_IMDCT
+%endif
 
 INIT_XMM sse2
 DEFINE_IMDCT
index 2ec4c5d..3654c81 100644 (file)
@@ -30,7 +30,9 @@
 static void imdct36_blocks_ ## CPU(float *out, float *buf, float *in, int count, int switch_point, int block_type);\
 void ff_imdct36_float_ ## CPU(float *out, float *buf, float *in, float *win);
 
+#if ARCH_X86_32
 DECL(sse)
+#endif
 DECL(sse2)
 DECL(sse3)
 DECL(ssse3)
@@ -223,7 +225,9 @@ static void imdct36_blocks_ ## CPU1(float *out, float *buf, float *in,      \
 }
 
 #if HAVE_SSE
+#if ARCH_X86_32
 DECL_IMDCT_BLOCKS(sse,sse)
+#endif
 DECL_IMDCT_BLOCKS(sse2,sse)
 DECL_IMDCT_BLOCKS(sse3,sse)
 DECL_IMDCT_BLOCKS(ssse3,sse)
@@ -258,9 +262,11 @@ av_cold void ff_mpadsp_init_x86(MPADSPContext *s)
 #endif /* HAVE_SSE2_INLINE */
 
 #if HAVE_YASM
+#if ARCH_X86_32
     if (EXTERNAL_SSE(cpu_flags)) {
         s->imdct36_blocks_float = imdct36_blocks_sse;
     }
+#endif
     if (EXTERNAL_SSE2(cpu_flags)) {
         s->imdct36_blocks_float = imdct36_blocks_sse2;
     }