diff options
author | Ben Avison | 2014-07-11 00:14:30 +0100 |
---|---|---|
committer | Michael Niedermayer | 2014-07-16 21:37:41 +0200 |
commit | 649c666137f43542b45941f42034ab3f44a31d38 (patch) | |
tree | 8729c66f4754dea4538ceab513a2656743757875 /libavutil/arm/float_dsp_init_vfp.c | |
parent | a3f752bcee4d09648bc76519a9dbe1ffe85c97a9 (diff) |
armv6: Accelerate vector_fmul_window
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1598.2 47.4 1529.2 25.4 100.0% +4.5%
vector_fmul_window 244.0 22.1 188.9 22.3 100.0% +29.2%
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavutil/arm/float_dsp_init_vfp.c')
-rw-r--r-- | libavutil/arm/float_dsp_init_vfp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavutil/arm/float_dsp_init_vfp.c b/libavutil/arm/float_dsp_init_vfp.c index 1fe52ab755..4dfe012255 100644 --- a/libavutil/arm/float_dsp_init_vfp.c +++ b/libavutil/arm/float_dsp_init_vfp.c @@ -26,12 +26,17 @@ void ff_vector_fmul_vfp(float *dst, const float *src0, const float *src1, int len); +void ff_vector_fmul_window_vfp(float *dst, const float *src0, + const float *src1, const float *win, int len); + void ff_vector_fmul_reverse_vfp(float *dst, const float *src0, const float *src1, int len); av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags) { - if (!have_vfpv3(cpu_flags)) + if (!have_vfpv3(cpu_flags)) { fdsp->vector_fmul = ff_vector_fmul_vfp; + fdsp->vector_fmul_window = ff_vector_fmul_window_vfp; + } fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_vfp; } |