Mercurial > libavcodec.hg
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;