diff options
author | xiangmingzhu <xiangzhu@cisco.com> | 2014-04-30 11:48:07 +0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2014-10-04 05:16:00 +0400 |
commit | c95c9a048f3283afb2e412b10085d4f7c19e1412 (patch) | |
tree | ed8873af6559d7a98922e0fed85be47c826ef521 /silk/LPC_analysis_filter.c | |
parent | 80460334b77d70e665a390503cd8992cdad06c10 (diff) |
Cisco optimization for x86 & fixed point
1. Only for fixed point on x86 platform (32bit and 64bit, uses SIMD
intrinsics up to SSE4.2)
2. Use "configure --enable-fixed-point --enable-intrinsics" to enable
optimization, default is disabled.
3. Official test cases are verified and passed.
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
Diffstat (limited to 'silk/LPC_analysis_filter.c')
-rw-r--r-- | silk/LPC_analysis_filter.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/silk/LPC_analysis_filter.c b/silk/LPC_analysis_filter.c index 9d1f16cb..20906673 100644 --- a/silk/LPC_analysis_filter.c +++ b/silk/LPC_analysis_filter.c @@ -44,7 +44,8 @@ void silk_LPC_analysis_filter( const opus_int16 *in, /* I Input signal */ const opus_int16 *B, /* I MA prediction coefficients, Q12 [order] */ const opus_int32 len, /* I Signal length */ - const opus_int32 d /* I Filter order */ + const opus_int32 d, /* I Filter order */ + int arch /* I Run-time architecture */ ) { opus_int j; @@ -69,11 +70,12 @@ void silk_LPC_analysis_filter( for (j=0;j<d;j++) { mem[ j ] = in[ d - j - 1 ]; } - celt_fir( in + d, num, out + d, len - d, d, mem ); + celt_fir( in + d, num, out + d, len - d, d, mem, arch ); for ( j = 0; j < d; j++ ) { out[ j ] = 0; } #else + (void)arch; for( ix = d; ix < len; ix++ ) { in_ptr = &in[ ix - 1 ]; |