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
This commit is contained in:
Benjamin Larsson 2006-07-02 02:05:35 +00:00
parent 76f2a12fe7
commit 7943355485
1 changed files with 4 additions and 0 deletions

View File

@ -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;