51
51
void ff_ac3_extract_exponents_sse2 (uint8_t *exp, int32_t *coef, int nb_coefs);
52
52
void ff_ac3_extract_exponents_ssse3(uint8_t *exp, int32_t *coef, int nb_coefs);
54
void ff_apply_window_int16_round_mmxext(int16_t *output, const int16_t *input,
55
const int16_t *window, unsigned int len);
56
void ff_apply_window_int16_round_sse2(int16_t *output, const int16_t *input,
57
const int16_t *window, unsigned int len);
58
void ff_apply_window_int16_mmxext(int16_t *output, const int16_t *input,
59
const int16_t *window, unsigned int len);
60
void ff_apply_window_int16_sse2(int16_t *output, const int16_t *input,
61
const int16_t *window, unsigned int len);
62
void ff_apply_window_int16_ssse3(int16_t *output, const int16_t *input,
63
const int16_t *window, unsigned int len);
64
void ff_apply_window_int16_ssse3_atom(int16_t *output, const int16_t *input,
65
const int16_t *window, unsigned int len);
54
67
#if ARCH_X86_32 && defined(__INTEL_COMPILER)
56
69
# define HAVE_7REGS 0
201
214
if (EXTERNAL_MMXEXT(cpu_flags)) {
202
215
c->ac3_exponent_min = ff_ac3_exponent_min_mmxext;
203
216
c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_mmxext;
218
c->apply_window_int16 = ff_apply_window_int16_mmxext;
220
c->apply_window_int16 = ff_apply_window_int16_round_mmxext;
205
223
if (EXTERNAL_SSE(cpu_flags)) {
206
224
c->float_to_fixed24 = ff_float_to_fixed24_sse;
215
233
c->ac3_lshift_int16 = ff_ac3_lshift_int16_sse2;
216
234
c->ac3_rshift_int32 = ff_ac3_rshift_int32_sse2;
237
c->apply_window_int16 = ff_apply_window_int16_sse2;
238
} else if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW)) {
239
c->apply_window_int16 = ff_apply_window_int16_round_sse2;
219
242
if (EXTERNAL_SSSE3(cpu_flags)) {
220
243
c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_ssse3;
221
if (!(cpu_flags & AV_CPU_FLAG_ATOM)) {
244
if (cpu_flags & AV_CPU_FLAG_ATOM) {
245
c->apply_window_int16 = ff_apply_window_int16_ssse3_atom;
222
247
c->extract_exponents = ff_ac3_extract_exponents_ssse3;
248
c->apply_window_int16 = ff_apply_window_int16_ssse3;