aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-02-27 02:07:58 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-02-27 22:54:03 +0100
commitfbf98375e481980d7c19fdb9ccf6f9134b9050bb (patch)
tree090382f16a2a28d5aabab5b283f65822e4fc97f5
parenta05635ee015883b132e4f1004162d40f8796d9fc (diff)
downloadffmpeg-fbf98375e481980d7c19fdb9ccf6f9134b9050bb.tar.gz
x86/imdct36: don't build imdct36_float_sse on x86_64 targets
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>
-rw-r--r--libavcodec/x86/imdct36.asm2
-rw-r--r--libavcodec/x86/mpegaudiodsp.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/x86/imdct36.asm b/libavcodec/x86/imdct36.asm
index d311fbe1a0..1d58d6bcb9 100644
--- a/libavcodec/x86/imdct36.asm
+++ b/libavcodec/x86/imdct36.asm
@@ -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
diff --git a/libavcodec/x86/mpegaudiodsp.c b/libavcodec/x86/mpegaudiodsp.c
index 2ec4c5dc6c..3654c81248 100644
--- a/libavcodec/x86/mpegaudiodsp.c
+++ b/libavcodec/x86/mpegaudiodsp.c
@@ -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;
}