summaryrefslogtreecommitdiff
path: root/ffmpeg/libavcodec/x86/fft_init.c
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2013-12-29 12:19:38 +0000
committerTim Redfern <tim@eclectronics.org>2013-12-29 12:19:38 +0000
commitf7813a5324be39d13ab536c245d15dfc602a7849 (patch)
treefad99148b88823d34a5df2f0a25881a002eb291b /ffmpeg/libavcodec/x86/fft_init.c
parentb7a5a477b8ff4d4e3028b9dfb9a9df0a41463f92 (diff)
basic type mechanism working
Diffstat (limited to 'ffmpeg/libavcodec/x86/fft_init.c')
-rw-r--r--ffmpeg/libavcodec/x86/fft_init.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/ffmpeg/libavcodec/x86/fft_init.c b/ffmpeg/libavcodec/x86/fft_init.c
index bfa7947..5682230 100644
--- a/ffmpeg/libavcodec/x86/fft_init.c
+++ b/ffmpeg/libavcodec/x86/fft_init.c
@@ -16,29 +16,31 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "config.h"
+#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "libavutil/x86/cpu.h"
-#include "libavcodec/dct.h"
#include "fft.h"
av_cold void ff_fft_init_x86(FFTContext *s)
{
- int has_vectors = av_get_cpu_flags();
+ int cpu_flags = av_get_cpu_flags();
+
#if ARCH_X86_32
- if (EXTERNAL_AMD3DNOW(has_vectors)) {
+ if (EXTERNAL_AMD3DNOW(cpu_flags)) {
/* 3DNow! for K6-2/3 */
s->imdct_calc = ff_imdct_calc_3dnow;
s->imdct_half = ff_imdct_half_3dnow;
s->fft_calc = ff_fft_calc_3dnow;
}
- if (EXTERNAL_AMD3DNOWEXT(has_vectors)) {
+ if (EXTERNAL_AMD3DNOWEXT(cpu_flags)) {
/* 3DNowEx for K7 */
s->imdct_calc = ff_imdct_calc_3dnowext;
s->imdct_half = ff_imdct_half_3dnowext;
s->fft_calc = ff_fft_calc_3dnowext;
}
#endif
- if (EXTERNAL_SSE(has_vectors)) {
+ if (EXTERNAL_SSE(cpu_flags)) {
/* SSE for P3/P4/K8 */
s->imdct_calc = ff_imdct_calc_sse;
s->imdct_half = ff_imdct_half_sse;
@@ -46,23 +48,10 @@ av_cold void ff_fft_init_x86(FFTContext *s)
s->fft_calc = ff_fft_calc_sse;
s->fft_permutation = FF_FFT_PERM_SWAP_LSBS;
}
- if (EXTERNAL_AVX(has_vectors) && s->nbits >= 5) {
+ if (EXTERNAL_AVX(cpu_flags) && s->nbits >= 5) {
/* AVX for SB */
s->imdct_half = ff_imdct_half_avx;
s->fft_calc = ff_fft_calc_avx;
s->fft_permutation = FF_FFT_PERM_AVX;
}
}
-
-#if CONFIG_DCT
-av_cold void ff_dct_init_x86(DCTContext *s)
-{
- int has_vectors = av_get_cpu_flags();
- if (EXTERNAL_SSE(has_vectors))
- s->dct32 = ff_dct32_float_sse;
- if (EXTERNAL_SSE2(has_vectors))
- s->dct32 = ff_dct32_float_sse2;
- if (EXTERNAL_AVX(has_vectors))
- s->dct32 = ff_dct32_float_avx;
-}
-#endif