diff options
author | James Almer <jamrial@gmail.com> | 2015-01-25 18:06:28 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2015-01-25 18:20:39 -0300 |
commit | 449b21bfab25beafe673971dced5e812f531e157 (patch) | |
tree | 7a0fa1162568c4035b2696f3f242c85951391c45 /libavcodec/x86/sbrdsp_init.c | |
parent | 961353d842bc33ac81cf3cf3e66dc37db613fac5 (diff) |
x86/sbrdsp: add ff_sbr_autocorrelate_{sse,sse3}
2 to 2.5 times faster.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86/sbrdsp_init.c')
-rw-r--r-- | libavcodec/x86/sbrdsp_init.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/x86/sbrdsp_init.c b/libavcodec/x86/sbrdsp_init.c index a2aca742cf..6911a1a515 100644 --- a/libavcodec/x86/sbrdsp_init.c +++ b/libavcodec/x86/sbrdsp_init.c @@ -53,6 +53,9 @@ void ff_sbr_hf_apply_noise_3_sse2(float (*Y)[2], const float *s_m, void ff_sbr_qmf_deint_neg_sse(float *v, const float *src); +void ff_sbr_autocorrelate_sse (const float x[40][2], float phi[3][2][2]); +void ff_sbr_autocorrelate_sse3(const float x[40][2], float phi[3][2][2]); + av_cold void ff_sbrdsp_init_x86(SBRDSPContext *s) { int cpu_flags = av_get_cpu_flags(); @@ -66,6 +69,7 @@ av_cold void ff_sbrdsp_init_x86(SBRDSPContext *s) s->qmf_post_shuffle = ff_sbr_qmf_post_shuffle_sse; s->qmf_deint_bfly = ff_sbr_qmf_deint_bfly_sse; s->qmf_deint_neg = ff_sbr_qmf_deint_neg_sse; + s->autocorrelate = ff_sbr_autocorrelate_sse; } if (EXTERNAL_SSE2(cpu_flags)) { @@ -76,4 +80,8 @@ av_cold void ff_sbrdsp_init_x86(SBRDSPContext *s) s->hf_apply_noise[2] = ff_sbr_hf_apply_noise_2_sse2; s->hf_apply_noise[3] = ff_sbr_hf_apply_noise_3_sse2; } + + if (EXTERNAL_SSE3(cpu_flags)) { + s->autocorrelate = ff_sbr_autocorrelate_sse3; + } } |