aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/dcadsp_init.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2016-02-22 19:59:07 -0300
committerJames Almer <jamrial@gmail.com>2016-02-22 21:21:34 -0300
commit45d3af90593a8725ea72059fa3572577b30110c8 (patch)
tree1dc755dfad5539295f9659ce18cd34a20374a4b6 /libavcodec/x86/dcadsp_init.c
parent37afeabd1b836fc77debc597f9e5b5de3c27ebfc (diff)
downloadffmpeg-45d3af90593a8725ea72059fa3572577b30110c8.tar.gz
x86/dcadec: add ff_lfe_fir1_float_{sse3,avx}
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86/dcadsp_init.c')
-rw-r--r--libavcodec/x86/dcadsp_init.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/x86/dcadsp_init.c b/libavcodec/x86/dcadsp_init.c
index bfe13e5a71..fc10fb8bc5 100644
--- a/libavcodec/x86/dcadsp_init.c
+++ b/libavcodec/x86/dcadsp_init.c
@@ -23,10 +23,13 @@
#define LFE_FIR_FLOAT_FUNC(opt) \
void ff_lfe_fir0_float_##opt(float *pcm_samples, int32_t *lfe_samples, \
+ const float *filter_coeff, ptrdiff_t npcmblocks); \
+void ff_lfe_fir1_float_##opt(float *pcm_samples, int32_t *lfe_samples, \
const float *filter_coeff, ptrdiff_t npcmblocks);
LFE_FIR_FLOAT_FUNC(sse)
LFE_FIR_FLOAT_FUNC(sse2)
+LFE_FIR_FLOAT_FUNC(sse3)
LFE_FIR_FLOAT_FUNC(avx)
LFE_FIR_FLOAT_FUNC(fma3)
@@ -38,8 +41,12 @@ av_cold void ff_dcadsp_init_x86(DCADSPContext *s)
s->lfe_fir_float[0] = ff_lfe_fir0_float_sse;
if (EXTERNAL_SSE2(cpu_flags))
s->lfe_fir_float[0] = ff_lfe_fir0_float_sse2;
- if (EXTERNAL_AVX(cpu_flags))
+ if (EXTERNAL_SSE3(cpu_flags))
+ s->lfe_fir_float[1] = ff_lfe_fir1_float_sse3;
+ if (EXTERNAL_AVX(cpu_flags)) {
s->lfe_fir_float[0] = ff_lfe_fir0_float_avx;
+ s->lfe_fir_float[1] = ff_lfe_fir1_float_avx;
+ }
if (EXTERNAL_FMA3(cpu_flags))
s->lfe_fir_float[0] = ff_lfe_fir0_float_fma3;
}