aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLinfeng Zhang <linfengz@google.com>2016-09-01 13:44:11 -0700
committerJean-Marc Valin <jmvalin@jmvalin.ca>2017-05-17 15:55:42 -0400
commit60eb7d88b4eace91395e553cf70fc4578a950353 (patch)
tree489d13c37dbb73fe5ad385df7057e5cef49d4d5b /src
parent1eaa67c0dce1f642af872cc26b7ff4b057a55bfb (diff)
downloadlibopus-60eb7d88b4eace91395e553cf70fc4578a950353.tar.gz
Update silk_biquad_alt()
Split to silk_biquad_alt_stride1() and silk_biquad_alt_stride2(), so that it can be optimized more efficiently when stride is 2. This change in C code is bit exact with the origin. Change-Id: Idaefe670397016ace2a489e3435ac61b7dbe79d5 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'src')
-rw-r--r--src/opus_encoder.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index 10bb62d5..62dadcfb 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -364,9 +364,10 @@ static void hp_cutoff(const opus_val16 *in, opus_int32 cutoff_Hz, opus_val16 *ou
A_Q28[ 1 ] = silk_SMULWW( r_Q22, r_Q22 );
#ifdef FIXED_POINT
- silk_biquad_alt( in, B_Q28, A_Q28, hp_mem, out, len, channels );
- if( channels == 2 ) {
- silk_biquad_alt( in+1, B_Q28, A_Q28, hp_mem+2, out+1, len, channels );
+ if( channels == 1 ) {
+ silk_biquad_alt_stride1( in, B_Q28, A_Q28, hp_mem, out, len );
+ } else {
+ silk_biquad_alt_stride2( in, B_Q28, A_Q28, hp_mem, out, len );
}
#else
silk_biquad_float( in, B_Q28, A_Q28, hp_mem, out, len, channels );