diff options
Diffstat (limited to 'chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c')
-rw-r--r-- | chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c b/chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c index 8893f48368f..a54951584fd 100644 --- a/chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c +++ b/chromium/third_party/ffmpeg/libavcodec/arm/dcadsp_init_arm.c @@ -24,16 +24,18 @@ #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); +void ff_dca_lfe_fir1_neon(float *out, const float *in, const float *coefs); + +void ff_dca_lfe_fir32_vfp(float *out, const float *in, const float *coefs); +void ff_dca_lfe_fir64_vfp(float *out, const float *in, const float *coefs); + 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,16 +49,26 @@ void ff_synth_filter_float_neon(FFTContext *imdct, float out[32], const float in[32], float scale); +void ff_decode_hf_neon(float dst[DCA_SUBBANDS][8], + const int32_t vq_num[DCA_SUBBANDS], + const int8_t hf_vq[1024][32], intptr_t vq_offset, + int32_t scale[DCA_SUBBANDS][2], + intptr_t start, intptr_t end); + 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; + 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 = ff_dca_lfe_fir_neon; + if (have_neon(cpu_flags)) { + s->lfe_fir[0] = ff_dca_lfe_fir0_neon; + s->lfe_fir[1] = ff_dca_lfe_fir1_neon; + s->decode_hf = ff_decode_hf_neon; + } } av_cold void ff_synth_filter_init_arm(SynthFilterContext *s) |