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 /silk/SigProc_FIX.h | |
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 'silk/SigProc_FIX.h')
-rw-r--r-- | silk/SigProc_FIX.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/silk/SigProc_FIX.h b/silk/SigProc_FIX.h index e0c39679..43f9ffac 100644 --- a/silk/SigProc_FIX.h +++ b/silk/SigProc_FIX.h @@ -100,14 +100,22 @@ void silk_resampler_down2_3( * slower than biquad() but uses more precise coefficients * can handle (slowly) varying coefficients */ -void silk_biquad_alt( +void silk_biquad_alt_stride1( 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] */ opus_int32 *S, /* I/O State vector [2] */ opus_int16 *out, /* O output signal */ - const opus_int32 len, /* I signal length (must be even) */ - opus_int stride /* I Operate on interleaved signal if > 1 */ + const opus_int32 len /* I signal length (must be even) */ +); + +void silk_biquad_alt_stride2( + 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] */ + opus_int32 *S, /* I/O State vector [4] */ + opus_int16 *out, /* O output signal */ + const opus_int32 len /* I signal length (must be even) */ ); /* Variable order MA prediction error filter. */ |