diff options
author | Ben Avison <bavison@riscosopen.org> | 2014-07-11 00:14:31 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-16 21:38:02 +0200 |
commit | 57641410d1a386937bec3fddd6c75119550916ec (patch) | |
tree | b8f37b13f5494954a0fb593048974a707e5fd886 /libavutil/arm/float_dsp_init_vfp.c | |
parent | 649c666137f43542b45941f42034ab3f44a31d38 (diff) | |
download | ffmpeg-57641410d1a386937bec3fddd6c75119550916ec.tar.gz |
armv6: Accelerate butterflies_float
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 butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 1542.8 43.7 1470.5 41.5 100.0% +4.9%
butterflies_float 130.0 11.9 70.2 12.1 100.0% +85.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 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavutil/arm/float_dsp_init_vfp.c b/libavutil/arm/float_dsp_init_vfp.c index 4dfe012255..45508b8f81 100644 --- a/libavutil/arm/float_dsp_init_vfp.c +++ b/libavutil/arm/float_dsp_init_vfp.c @@ -32,6 +32,8 @@ void ff_vector_fmul_window_vfp(float *dst, const float *src0, void ff_vector_fmul_reverse_vfp(float *dst, const float *src0, const float *src1, int len); +void ff_butterflies_float_vfp(float *restrict v1, float *restrict v2, int len); + av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags) { if (!have_vfpv3(cpu_flags)) { @@ -39,4 +41,6 @@ av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags) fdsp->vector_fmul_window = ff_vector_fmul_window_vfp; } fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_vfp; + if (!have_vfpv3(cpu_flags)) + fdsp->butterflies_float = ff_butterflies_float_vfp; } |