aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/arm/dcadsp_init_arm.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-02-08 02:16:47 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-02-08 02:27:27 +0100
commit5794e9fce22a4d3dffda536a220ca9483a2d87da (patch)
tree9cd8048ad384e3568814fadeb1c81e7632a950ec /libavcodec/arm/dcadsp_init_arm.c
parent45854df9a5220bdde400a447f63f61618b89dde2 (diff)
parent5fdbfcb5b793f5849c496214668094a8ec99fa07 (diff)
downloadffmpeg-5794e9fce22a4d3dffda536a220ca9483a2d87da.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: dcadsp: split lfe_dir cases Conflicts: libavcodec/arm/dcadsp_init_arm.c See: 45854df9a5220bdde400a447f63f61618b89dde2 Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/arm/dcadsp_init_arm.c')
-rw-r--r--libavcodec/arm/dcadsp_init_arm.c46
1 files changed, 14 insertions, 32 deletions
diff --git a/libavcodec/arm/dcadsp_init_arm.c b/libavcodec/arm/dcadsp_init_arm.c
index 0a8c2feafd..99e2df400c 100644
--- a/libavcodec/arm/dcadsp_init_arm.c
+++ b/libavcodec/arm/dcadsp_init_arm.c
@@ -24,16 +24,22 @@
#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_fir0_neon(float *out, const float *in, const float *coefs,
+ float scale);
+void ff_dca_lfe_fir1_neon(float *out, const float *in, const float *coefs,
+ float scale);
+
+void ff_dca_lfe_fir32_vfp(float *out, const float *in, const float *coefs,
+ float scale);
+void ff_dca_lfe_fir64_vfp(float *out, const float *in, const float *coefs,
+ float scale);
+
void ff_dca_qmf_32_subbands_vfp(float samples_in[32][8], int sb_act,
SynthFilterContext *synth, FFTContext *imdct,
float synth_buf_ptr[512],
int *synth_buf_offset, float synth_buf2[32],
const float window[512], float *samples_out,
float raXin[32], float scale);
-void ff_dca_lfe_fir_neon(float *out, const float *in, const float *coefs,
- int decifactor, float scale);
void ff_synth_filter_float_vfp(FFTContext *imdct,
float *synth_buf_ptr, int *synth_buf_offset,
@@ -47,42 +53,18 @@ void ff_synth_filter_float_neon(FFTContext *imdct,
float out[32], const float in[32],
float scale);
-static void lfe_fir0_vfp(float *out, const float *in, const float *coefs,
- float scale)
-{
- ff_dca_lfe_fir_vfp(out, in, coefs, 32, scale);
-}
-
-static void lfe_fir1_vfp(float *out, const float *in, const float *coefs,
- float scale)
-{
- ff_dca_lfe_fir_vfp(out, in, coefs, 64, scale);
-}
-
-static void lfe_fir0_neon(float *out, const float *in, const float *coefs,
- float scale)
-{
- ff_dca_lfe_fir_neon(out, in, coefs, 32, scale);
-}
-
-static void lfe_fir1_neon(float *out, const float *in, const float *coefs,
- float scale)
-{
- ff_dca_lfe_fir_neon(out, in, coefs, 64, scale);
-}
-
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[0] = lfe_fir0_vfp;
- s->lfe_fir[1] = lfe_fir1_vfp;
+ s->lfe_fir[0] = ff_dca_lfe_fir32_vfp;
+ s->lfe_fir[1] = ff_dca_lfe_fir64_vfp;
s->qmf_32_subbands = ff_dca_qmf_32_subbands_vfp;
}
if (have_neon(cpu_flags)) {
- s->lfe_fir[0] = lfe_fir0_neon;
- s->lfe_fir[1] = lfe_fir1_neon;
+ s->lfe_fir[0] = ff_dca_lfe_fir0_neon;
+ s->lfe_fir[1] = ff_dca_lfe_fir1_neon;
}
}