Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinfeng Zhang <linfengz@google.com>2016-09-02 00:20:57 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-05-17 22:55:42 +0300
commit43db56225b5716b61c16a3275f65b8d3d3ea5343 (patch)
treee9ac1ced761949a46885f92a419a3227ac8550e2 /silk/SigProc_FIX.h
parent60eb7d88b4eace91395e553cf70fc4578a950353 (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.h7
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