diff options
author | Linfeng Zhang <linfengz@google.com> | 2016-09-02 00:20:57 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2017-05-17 22:55:42 +0300 |
commit | 43db56225b5716b61c16a3275f65b8d3d3ea5343 (patch) | |
tree | e9ac1ced761949a46885f92a419a3227ac8550e2 /silk/SigProc_FIX.h | |
parent | 60eb7d88b4eace91395e553cf70fc4578a950353 (diff) |
Optimize silk_biquad_alt_stride2() for ARM NEON
The optimization is bit exact with C function.
Change-Id: Ifb8f04b19f2d576e79ce5dcfa7e0fc374d71d6c8
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'silk/SigProc_FIX.h')
-rw-r--r-- | silk/SigProc_FIX.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/silk/SigProc_FIX.h b/silk/SigProc_FIX.h index 43f9ffac..f9ae3263 100644 --- a/silk/SigProc_FIX.h +++ b/silk/SigProc_FIX.h @@ -48,6 +48,7 @@ extern "C" #endif #if (defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)) +#include "arm/biquad_alt_arm.h" #include "arm/LPC_inv_pred_gain_arm.h" #endif @@ -109,7 +110,7 @@ void silk_biquad_alt_stride1( const opus_int32 len /* I signal length (must be even) */ ); -void silk_biquad_alt_stride2( +void silk_biquad_alt_stride2_c( const opus_int16 *in, /* I input signal */ const opus_int32 *B_Q28, /* I MA coefficients [3] */ const opus_int32 *A_Q28, /* I AR coefficients [2] */ @@ -158,6 +159,10 @@ void silk_ana_filt_bank_1( const opus_int32 N /* I Number of input samples */ ); +#if !defined(OVERRIDE_silk_biquad_alt_stride2) +#define silk_biquad_alt_stride2(in, B_Q28, A_Q28, S, out, len, arch) ((void)(arch), silk_biquad_alt_stride2_c(in, B_Q28, A_Q28, S, out, len)) +#endif + #if !defined(OVERRIDE_silk_LPC_inverse_pred_gain) #define silk_LPC_inverse_pred_gain(A_Q12, order, arch) ((void)(arch), silk_LPC_inverse_pred_gain_c(A_Q12, order)) #endif |