comparison fft.c @ 3746:2ec498208c6a libavcodec

sse implementation of imdct. patch mostly by Zuxy Meng (zuxy dot meng at gmail dot com)
author lorenm
date Thu, 21 Sep 2006 16:37:39 +0000
parents 088be7d7c4fd
children c8c591fe26f8
comparison
equal deleted inserted replaced
3745:78a02fd46b20 3746:2ec498208c6a
63 { 63 {
64 int has_vectors = mm_support(); 64 int has_vectors = mm_support();
65 65
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 /* 3DNowEx for K7/K8 */
69 s->imdct_calc = ff_imdct_calc_3dn2; 70 s->imdct_calc = ff_imdct_calc_3dn2;
70 if (has_vectors & MM_3DNOWEXT)
71 /* 3DNowEx for K7/K8 */
72 s->fft_calc = ff_fft_calc_3dn2; 71 s->fft_calc = ff_fft_calc_3dn2;
73 else if (has_vectors & MM_3DNOW) 72 } else if (has_vectors & MM_3DNOW) {
74 /* 3DNow! for K6-2/3 */ 73 /* 3DNow! for K6-2/3 */
75 s->fft_calc = ff_fft_calc_3dn; 74 s->fft_calc = ff_fft_calc_3dn;
76 else if (has_vectors & MM_SSE) 75 } else if (has_vectors & MM_SSE) {
77 /* SSE for P3/P4 */ 76 /* SSE for P3/P4 */
77 s->imdct_calc = ff_imdct_calc_sse;
78 s->fft_calc = ff_fft_calc_sse; 78 s->fft_calc = ff_fft_calc_sse;
79 }
79 #else /* HAVE_MMX */ 80 #else /* HAVE_MMX */
80 if (has_vectors & MM_ALTIVEC) 81 if (has_vectors & MM_ALTIVEC)
81 s->fft_calc = ff_fft_calc_altivec; 82 s->fft_calc = ff_fft_calc_altivec;
82 #endif 83 #endif
83 } 84 }