diff options
author | James Almer <jamrial@gmail.com> | 2014-02-27 02:07:58 -0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-27 22:54:03 +0100 |
commit | fbf98375e481980d7c19fdb9ccf6f9134b9050bb (patch) | |
tree | 090382f16a2a28d5aabab5b283f65822e4fc97f5 | |
parent | a05635ee015883b132e4f1004162d40f8796d9fc (diff) | |
download | ffmpeg-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.asm | 2 | ||||
-rw-r--r-- | libavcodec/x86/mpegaudiodsp.c | 6 |
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; } |