diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-02-14 15:03:07 +0000 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-02-28 13:00:47 +0100 |
commit | ad507d7907457e678900bac132122ba7be4644cb (patch) | |
tree | 9059edb8e42056cfccf80fa23dbde50f51129d0b /libavcodec/x86/dcadsp_init.c | |
parent | 87ec849fe9acba075c843e67bcd01f256f481a18 (diff) | |
download | ffmpeg-ad507d7907457e678900bac132122ba7be4644cb.tar.gz |
x86: dcadsp: implement SSE lfe_dir
Results for Arrandale/Windows:
32: 1670 -> 316
64: 728 -> 298
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Diffstat (limited to 'libavcodec/x86/dcadsp_init.c')
-rw-r--r-- | libavcodec/x86/dcadsp_init.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/x86/dcadsp_init.c b/libavcodec/x86/dcadsp_init.c index 976d8a3ba3..c234bd29f5 100644 --- a/libavcodec/x86/dcadsp_init.c +++ b/libavcodec/x86/dcadsp_init.c @@ -26,6 +26,8 @@ void ff_int8x8_fmul_int32_sse(float *dst, const int8_t *src, int scale); void ff_int8x8_fmul_int32_sse2(float *dst, const int8_t *src, int scale); void ff_int8x8_fmul_int32_sse4(float *dst, const int8_t *src, int scale); +void ff_dca_lfe_fir0_sse(float *out, const float *in, const float *coefs); +void ff_dca_lfe_fir1_sse(float *out, const float *in, const float *coefs); av_cold void ff_dcadsp_init_x86(DCADSPContext *s) { @@ -35,6 +37,8 @@ av_cold void ff_dcadsp_init_x86(DCADSPContext *s) #if ARCH_X86_32 s->int8x8_fmul_int32 = ff_int8x8_fmul_int32_sse; #endif + s->lfe_fir[0] = ff_dca_lfe_fir0_sse; + s->lfe_fir[1] = ff_dca_lfe_fir1_sse; } if (EXTERNAL_SSE2(cpu_flags)) { |