aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/fft.c
diff options
context:
space:
mode:
authorBenjamin Larsson <banan@ludd.ltu.se>2006-07-02 02:05:35 +0000
committerBenjamin Larsson <banan@ludd.ltu.se>2006-07-02 02:05:35 +0000
commit7943355485cf889c14f9c4151f917ae2be01ee73 (patch)
tree5ad315e137f2d4042709026238e67bf1ceda307d /libavcodec/fft.c
parent76f2a12fe7da507c1d089816659ed99f20319ed0 (diff)
downloadffmpeg-7943355485cf889c14f9c4151f917ae2be01ee73.tar.gz
ff_fft_init now double checks that the system has mm3dnow.h before
checking if the cpu can do 3dnow at all. This bug caused amd cpu's without sse to not have a working fft function. Ie no wma, cook or vorbis decoder. Originally committed as revision 5570 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/fft.c')
-rw-r--r--libavcodec/fft.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/fft.c b/libavcodec/fft.c
index 1306abd69b..1c63f6889f 100644
--- a/libavcodec/fft.c
+++ b/libavcodec/fft.c
@@ -62,7 +62,11 @@ int ff_fft_init(FFTContext *s, int nbits, int inverse)
int has_vectors = 0;
#if defined(HAVE_MMX)
+#ifdef HAVE_MM3DNOW
has_vectors = mm_support() & (MM_3DNOW | MM_3DNOWEXT | MM_SSE | MM_SSE2);
+#else
+ has_vectors = mm_support() & (MM_SSE | MM_SSE2);
+#endif
#endif
#if defined(HAVE_ALTIVEC) && !defined(ALTIVEC_USE_REFERENCE_C_CODE)
has_vectors = mm_support() & MM_ALTIVEC;