aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/fft.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-07-31 20:23:39 -0700
committerRonald S. Bultje <rsbultje@gmail.com>2012-07-31 21:20:47 -0700
commitb6a3849adb0381a437952a785d39e22cb3b00282 (patch)
tree4f2ec873af703a90ba0a7018b618438559a8b33d /libavcodec/x86/fft.c
parentddbe71b44fc810cc39b576bf0047f89090cfabcb (diff)
downloadffmpeg-b6a3849adb0381a437952a785d39e22cb3b00282.tar.gz
fft: port FFT/IMDCT 3dnow functions to yasm, and disable on x86-64.
64-bit CPUs always have SSE available, thus there is no need to compile in the 3dnow functions. This results in smaller binaries.
Diffstat (limited to 'libavcodec/x86/fft.c')
-rw-r--r--libavcodec/x86/fft.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/x86/fft.c b/libavcodec/x86/fft.c
index 6349c239c3..f1c1c9d36b 100644
--- a/libavcodec/x86/fft.c
+++ b/libavcodec/x86/fft.c
@@ -25,6 +25,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s)
{
#if HAVE_YASM
int has_vectors = av_get_cpu_flags();
+#if ARCH_X86_32
if (has_vectors & AV_CPU_FLAG_3DNOW && HAVE_AMD3DNOW) {
/* 3DNow! for K6-2/3 */
s->imdct_calc = ff_imdct_calc_3dnow;
@@ -37,6 +38,7 @@ av_cold void ff_fft_init_mmx(FFTContext *s)
s->imdct_half = ff_imdct_half_3dnow2;
s->fft_calc = ff_fft_calc_3dnow2;
}
+#endif
if (has_vectors & AV_CPU_FLAG_SSE && HAVE_SSE) {
/* SSE for P3/P4/K8 */
s->imdct_calc = ff_imdct_calc_sse;