aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil/arm/float_dsp_init_vfp.c
diff options
context:
space:
mode:
authorBen Avison <bavison@riscosopen.org>2014-07-11 00:12:34 +0100
committerMartin Storsjö <martin@martin.st>2014-07-18 01:34:38 +0300
commit5a272190a04666f0fe41be767396b30712638c21 (patch)
tree1bff50bd3d7926346d90e319e80bb526b128ee89 /libavutil/arm/float_dsp_init_vfp.c
parent5edad2c4a1f46bcc56be755af86ab355c2f1b37f (diff)
downloadffmpeg-5a272190a04666f0fe41be767396b30712638c21.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: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavutil/arm/float_dsp_init_vfp.c')
-rw-r--r--libavutil/arm/float_dsp_init_vfp.c4
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 f44020e0fd..61ff2ed38e 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;
}