From f7813a5324be39d13ab536c245d15dfc602a7849 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Sun, 29 Dec 2013 12:19:38 +0000 Subject: basic type mechanism working --- ffmpeg/libavcodec/x86/fft_init.c | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) (limited to 'ffmpeg/libavcodec/x86/fft_init.c') 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 -- cgit v1.2.3