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:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-05 19:07:02 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-05 19:07:02 +0300
commit29d1369a796580c952e7512ca24541966e0498c4 (patch)
tree0b54ab712c1b91cb97a8e39d74b17b414439e5bd /silk/process_NLSFs.c
parent3f4a64fabfbb3bd07267c2f087d9af7a03732d1d (diff)
Replace another useless 32x16 multiply with 16x16
Diffstat (limited to 'silk/process_NLSFs.c')
-rw-r--r--silk/process_NLSFs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/silk/process_NLSFs.c b/silk/process_NLSFs.c
index 248000bc..0ab71f01 100644
--- a/silk/process_NLSFs.c
+++ b/silk/process_NLSFs.c
@@ -41,7 +41,7 @@ void silk_process_NLSFs(
{
opus_int i, doInterpolate;
opus_int NLSF_mu_Q20;
- opus_int32 i_sqr_Q15;
+ opus_int16 i_sqr_Q15;
opus_int16 pNLSF0_temp_Q15[ MAX_LPC_ORDER ];
opus_int16 pNLSFW_QW[ MAX_LPC_ORDER ];
opus_int16 pNLSFW0_temp_QW[ MAX_LPC_ORDER ];
@@ -79,7 +79,8 @@ void silk_process_NLSFs(
/* Update NLSF weights with contribution from first half */
i_sqr_Q15 = silk_LSHIFT( silk_SMULBB( psEncC->indices.NLSFInterpCoef_Q2, psEncC->indices.NLSFInterpCoef_Q2 ), 11 );
for( i = 0; i < psEncC->predictLPCOrder; i++ ) {
- pNLSFW_QW[ i ] = silk_SMLAWB( silk_RSHIFT( pNLSFW_QW[ i ], 1 ), (opus_int32)pNLSFW0_temp_QW[ i ], i_sqr_Q15 );
+ pNLSFW_QW[ i ] = silk_ADD16( silk_RSHIFT( pNLSFW_QW[ i ], 1 ), silk_RSHIFT(
+ silk_SMULBB( pNLSFW0_temp_QW[ i ], i_sqr_Q15 ), 16) );
silk_assert( pNLSFW_QW[ i ] >= 1 );
}
}