summaryrefslogtreecommitdiff
path: root/libavcodec/arm/dcadsp_init_arm.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-07-19 11:03:32 +0300
committerMartin Storsjö <martin@martin.st>2013-07-22 10:15:39 +0300
commitba6836c966debc56314ce2ef133c7f0c1fdfdeac (patch)
tree6d2414eec296337d4f89e5575b8082b005684ed3 /libavcodec/arm/dcadsp_init_arm.c
parentb63bb251ea6d6ba23295294e37a92625c0192206 (diff)
arm: Add VFP-accelerated version of dca_lfe_fir
Before After Mean StdDev Mean StdDev Change This function 868.2 33.5 436.0 27.0 +99.1% Overall 15973.0 223.2 15577.5 83.2 +2.5% Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec/arm/dcadsp_init_arm.c')
-rw-r--r--libavcodec/arm/dcadsp_init_arm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/arm/dcadsp_init_arm.c b/libavcodec/arm/dcadsp_init_arm.c
index f0375c9710..824b909aae 100644
--- a/libavcodec/arm/dcadsp_init_arm.c
+++ b/libavcodec/arm/dcadsp_init_arm.c
@@ -24,6 +24,8 @@
#include "libavutil/attributes.h"
#include "libavcodec/dcadsp.h"
+void ff_dca_lfe_fir_vfp(float *out, const float *in, const float *coefs,
+ int decifactor, float scale);
void ff_dca_lfe_fir_neon(float *out, const float *in, const float *coefs,
int decifactor, float scale);
@@ -31,6 +33,8 @@ av_cold void ff_dcadsp_init_arm(DCADSPContext *s)
{
int cpu_flags = av_get_cpu_flags();
+ if (have_vfp(cpu_flags) && !have_vfpv3(cpu_flags))
+ s->lfe_fir = ff_dca_lfe_fir_vfp;
if (have_neon(cpu_flags))
s->lfe_fir = ff_dca_lfe_fir_neon;
}