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