diff fft.c @ 3590:a3d97c60ea07 libavcodec

ff_fft_calc_3dn/3dn2/sse: convert intrinsics to inline asm. 2.5% faster fft, 0.5% faster vorbis.
author lorenm
date Fri, 18 Aug 2006 23:53:49 +0000
parents 1f8730f62765
children 088be7d7c4fd
line wrap: on
line diff
--- a/fft.c	Fri Aug 18 13:38:24 2006 +0000
+++ b/fft.c	Fri Aug 18 23:53:49 2006 +0000
@@ -58,7 +58,7 @@
     s->exptab1 = NULL;
 
     /* compute constant table for HAVE_SSE version */
-#if (defined(HAVE_MMX) && (defined(HAVE_BUILTIN_VECTOR) || defined(HAVE_MM3DNOW))) \
+#if defined(HAVE_MMX) \
     || (defined(HAVE_ALTIVEC) && !defined(ALTIVEC_USE_REFERENCE_C_CODE))
     {
         int has_vectors = mm_support();
@@ -67,15 +67,12 @@
 #if defined(HAVE_MMX)
             if (has_vectors & MM_3DNOWEXT)
                 s->imdct_calc = ff_imdct_calc_3dn2;
-#ifdef HAVE_MM3DNOW
             if (has_vectors & MM_3DNOWEXT)
                 /* 3DNowEx for Athlon(XP) */
                 s->fft_calc = ff_fft_calc_3dn2;
             else if (has_vectors & MM_3DNOW)
                 /* 3DNow! for K6-2/3 */
                 s->fft_calc = ff_fft_calc_3dn;
-#endif
-#ifdef HAVE_BUILTIN_VECTOR
             if (has_vectors & MM_SSE2)
                 /* SSE for P4/K8 */
                 s->fft_calc = ff_fft_calc_sse;
@@ -83,7 +80,6 @@
                      s->fft_calc == ff_fft_calc_c)
                 /* SSE for P3 */
                 s->fft_calc = ff_fft_calc_sse;
-#endif
 #else /* HAVE_MMX */
             if (has_vectors & MM_ALTIVEC)
                 s->fft_calc = ff_fft_calc_altivec;