Mercurial > libavcodec.hg
comparison fft.c @ 3591:088be7d7c4fd libavcodec
use ff_fft_calc_3dn2 instead of sse on a K8.
1.5% faster vorbis.
author | lorenm |
---|---|
date | Sat, 19 Aug 2006 02:42:20 +0000 |
parents | a3d97c60ea07 |
children | 2ec498208c6a |
comparison
equal
deleted
inserted
replaced
3590:a3d97c60ea07 | 3591:088be7d7c4fd |
---|---|
66 if (has_vectors) { | 66 if (has_vectors) { |
67 #if defined(HAVE_MMX) | 67 #if defined(HAVE_MMX) |
68 if (has_vectors & MM_3DNOWEXT) | 68 if (has_vectors & MM_3DNOWEXT) |
69 s->imdct_calc = ff_imdct_calc_3dn2; | 69 s->imdct_calc = ff_imdct_calc_3dn2; |
70 if (has_vectors & MM_3DNOWEXT) | 70 if (has_vectors & MM_3DNOWEXT) |
71 /* 3DNowEx for Athlon(XP) */ | 71 /* 3DNowEx for K7/K8 */ |
72 s->fft_calc = ff_fft_calc_3dn2; | 72 s->fft_calc = ff_fft_calc_3dn2; |
73 else if (has_vectors & MM_3DNOW) | 73 else if (has_vectors & MM_3DNOW) |
74 /* 3DNow! for K6-2/3 */ | 74 /* 3DNow! for K6-2/3 */ |
75 s->fft_calc = ff_fft_calc_3dn; | 75 s->fft_calc = ff_fft_calc_3dn; |
76 if (has_vectors & MM_SSE2) | 76 else if (has_vectors & MM_SSE) |
77 /* SSE for P4/K8 */ | 77 /* SSE for P3/P4 */ |
78 s->fft_calc = ff_fft_calc_sse; | |
79 else if ((has_vectors & MM_SSE) && | |
80 s->fft_calc == ff_fft_calc_c) | |
81 /* SSE for P3 */ | |
82 s->fft_calc = ff_fft_calc_sse; | 78 s->fft_calc = ff_fft_calc_sse; |
83 #else /* HAVE_MMX */ | 79 #else /* HAVE_MMX */ |
84 if (has_vectors & MM_ALTIVEC) | 80 if (has_vectors & MM_ALTIVEC) |
85 s->fft_calc = ff_fft_calc_altivec; | 81 s->fft_calc = ff_fft_calc_altivec; |
86 #endif | 82 #endif |