diff options
author | Linfeng Zhang <linfengz@google.com> | 2016-09-01 13:44:11 -0700 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2017-05-17 15:55:42 -0400 |
commit | 60eb7d88b4eace91395e553cf70fc4578a950353 (patch) | |
tree | 489d13c37dbb73fe5ad385df7057e5cef49d4d5b /src | |
parent | 1eaa67c0dce1f642af872cc26b7ff4b057a55bfb (diff) | |
download | opus-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.c | 7 |
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 ); |