aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/x86/aacpsdsp_init.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-05-23 15:19:39 -0300
committerJames Almer <jamrial@gmail.com>2017-06-02 11:06:24 -0300
commitb5a0971ff041badbdd1482e4ae2a0a16700a748f (patch)
tree13a08aa486992682b02fce7dc7ebcc8d1a372093 /libavcodec/x86/aacpsdsp_init.c
parent3385989b98be7940044e4f0a6b431a0a00abf2fa (diff)
downloadffmpeg-b5a0971ff041badbdd1482e4ae2a0a16700a748f.tar.gz
x86/aacps: add ff_ps_stereo_interpolate_ipdopd_sse3()
About 2x faster than the c version. Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/x86/aacpsdsp_init.c')
-rw-r--r--libavcodec/x86/aacpsdsp_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/x86/aacpsdsp_init.c b/libavcodec/x86/aacpsdsp_init.c
index f6d6c039c3..767ae6588e 100644
--- a/libavcodec/x86/aacpsdsp_init.c
+++ b/libavcodec/x86/aacpsdsp_init.c
@@ -37,6 +37,9 @@ void ff_ps_hybrid_analysis_sse3(float (*out)[2], float (*in)[2],
void ff_ps_stereo_interpolate_sse3(float (*l)[2], float (*r)[2],
float h[2][4], float h_step[2][4],
int len);
+void ff_ps_stereo_interpolate_ipdopd_sse3(float (*l)[2], float (*r)[2],
+ float h[2][4], float h_step[2][4],
+ int len);
av_cold void ff_psdsp_init_x86(PSDSPContext *s)
{
@@ -50,6 +53,7 @@ av_cold void ff_psdsp_init_x86(PSDSPContext *s)
if (EXTERNAL_SSE3(cpu_flags)) {
s->add_squares = ff_ps_add_squares_sse3;
s->stereo_interpolate[0] = ff_ps_stereo_interpolate_sse3;
+ s->stereo_interpolate[1] = ff_ps_stereo_interpolate_ipdopd_sse3;
s->hybrid_analysis = ff_ps_hybrid_analysis_sse3;
}
}