diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-09-09 13:27:42 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-09-09 13:27:42 +0200 |
commit | 77aedc77abbe21f2c28052544a0b2f227bca1c77 (patch) | |
tree | 78e2b3d349105d6f73cd5f811e5374bca4bbcb94 /libavcodec/x86/ac3dsp_init.c | |
parent | 4819d43d7f0e220b231699e0ac7b0dc906b3147c (diff) | |
parent | 75c37c5ace6271dc9dc996a61b799bcd2fc1b30d (diff) |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
swscale: Provide the right alignment for external mmx asm
x86: Replace checks for CPU extensions and flags by convenience macros
configure: msvc: fix/simplify setting of flags for hostcc
x86: mlpdsp: mlp_filter_channel_x86 requires inline asm
Conflicts:
libavcodec/x86/fft_init.c
libavcodec/x86/h264_intrapred_init.c
libavcodec/x86/h264dsp_init.c
libavcodec/x86/mpegaudiodec.c
libavcodec/x86/proresdsp_init.c
libavutil/x86/float_dsp_init.c
libswscale/utils.c
libswscale/x86/swscale.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86/ac3dsp_init.c')
-rw-r--r-- | libavcodec/x86/ac3dsp_init.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libavcodec/x86/ac3dsp_init.c b/libavcodec/x86/ac3dsp_init.c index cf1d7db8a4..516a6adb19 100644 --- a/libavcodec/x86/ac3dsp_init.c +++ b/libavcodec/x86/ac3dsp_init.c @@ -20,6 +20,7 @@ */ #include "libavutil/x86/asm.h" +#include "libavutil/x86/cpu.h" #include "dsputil_mmx.h" #include "libavcodec/ac3dsp.h" @@ -50,29 +51,28 @@ extern void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_c av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) { -#if HAVE_YASM int mm_flags = av_get_cpu_flags(); - if (mm_flags & AV_CPU_FLAG_MMX) { + if (EXTERNAL_MMX(mm_flags)) { c->ac3_exponent_min = ff_ac3_exponent_min_mmx; c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_mmx; c->ac3_lshift_int16 = ff_ac3_lshift_int16_mmx; c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx; } - if (mm_flags & AV_CPU_FLAG_3DNOW && HAVE_AMD3DNOW) { + if (EXTERNAL_AMD3DNOW(mm_flags)) { c->extract_exponents = ff_ac3_extract_exponents_3dnow; if (!bit_exact) { c->float_to_fixed24 = ff_float_to_fixed24_3dnow; } } - if (mm_flags & AV_CPU_FLAG_MMXEXT && HAVE_MMXEXT) { + if (EXTERNAL_MMXEXT(mm_flags)) { c->ac3_exponent_min = ff_ac3_exponent_min_mmxext; c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_mmx2; } - if (mm_flags & AV_CPU_FLAG_SSE && HAVE_SSE) { + if (EXTERNAL_SSE(mm_flags)) { c->float_to_fixed24 = ff_float_to_fixed24_sse; } - if (mm_flags & AV_CPU_FLAG_SSE2 && HAVE_SSE) { + if (EXTERNAL_SSE2(mm_flags)) { c->ac3_exponent_min = ff_ac3_exponent_min_sse2; c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_sse2; c->float_to_fixed24 = ff_float_to_fixed24_sse2; @@ -83,11 +83,10 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) c->ac3_rshift_int32 = ff_ac3_rshift_int32_sse2; } } - if (mm_flags & AV_CPU_FLAG_SSSE3 && HAVE_SSSE3) { + if (EXTERNAL_SSSE3(mm_flags)) { c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_ssse3; if (!(mm_flags & AV_CPU_FLAG_ATOM)) { c->extract_exponents = ff_ac3_extract_exponents_ssse3; } } -#endif } |