aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/ac3dsp_init.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-01-31 15:08:19 -0300
committerJames Almer <jamrial@gmail.com>2017-01-31 15:08:19 -0300
commitac774cfa571734c49c26e2d3387adccff8957ff8 (patch)
tree92011adfe335fe1160bb26b159fd1510d96458f1 /libavcodec/x86/ac3dsp_init.c
parenta956164e1eb3418922cae949f02ad4035f013213 (diff)
parent4efab89332ea39a77145e8b15562b981d9dbde68 (diff)
downloadffmpeg-ac774cfa571734c49c26e2d3387adccff8957ff8.tar.gz
Merge commit '4efab89332ea39a77145e8b15562b981d9dbde68'
* commit '4efab89332ea39a77145e8b15562b981d9dbde68': x86: Use *_FAST/*_SLOW CPU feature detection macros where appropriate Merged-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86/ac3dsp_init.c')
-rw-r--r--libavcodec/x86/ac3dsp_init.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libavcodec/x86/ac3dsp_init.c b/libavcodec/x86/ac3dsp_init.c
index 07f0d25681..9fd0aef83e 100644
--- a/libavcodec/x86/ac3dsp_init.c
+++ b/libavcodec/x86/ac3dsp_init.c
@@ -228,16 +228,19 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact)
c->float_to_fixed24 = ff_float_to_fixed24_sse2;
c->compute_mantissa_size = ff_ac3_compute_mantissa_size_sse2;
c->extract_exponents = ff_ac3_extract_exponents_sse2;
- if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW)) {
- c->ac3_lshift_int16 = ff_ac3_lshift_int16_sse2;
- c->ac3_rshift_int32 = ff_ac3_rshift_int32_sse2;
- }
if (bit_exact) {
c->apply_window_int16 = ff_apply_window_int16_sse2;
- } else if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW)) {
+ }
+ }
+
+ if (EXTERNAL_SSE2_FAST(cpu_flags)) {
+ c->ac3_lshift_int16 = ff_ac3_lshift_int16_sse2;
+ c->ac3_rshift_int32 = ff_ac3_rshift_int32_sse2;
+ if (!bit_exact) {
c->apply_window_int16 = ff_apply_window_int16_round_sse2;
}
}
+
if (EXTERNAL_SSSE3(cpu_flags)) {
c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_ssse3;
if (cpu_flags & AV_CPU_FLAG_ATOM) {