summaryrefslogtreecommitdiff
path: root/src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c
diff options
context:
space:
mode:
Diffstat (limited to 'src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c')
-rw-r--r--src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c b/src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c
index 7a2171cc..e1f5283e 100644
--- a/src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c
+++ b/src_FIX/SKP_Silk_NLSF_VQ_sum_error_FIX.c
@@ -32,16 +32,16 @@ void SKP_Silk_NLSF_VQ_sum_error_FIX(
SKP_int32 *err_Q20, /* O Weighted quantization errors [N*K] */
const SKP_int *in_Q15, /* I Input vectors to be quantized [N*LPC_order] */
const SKP_int *w_Q6, /* I Weighting vectors [N*LPC_order] */
- const SKP_int16 *pCB_Q15, /* I Codebook vectors [K*LPC_order] */
+ const SKP_int8 *pCB_Q8, /* I Codebook vectors [K*LPC_order] */
const SKP_int N, /* I Number of input vectors */
const SKP_int K, /* I Number of codebook vectors */
const SKP_int LPC_order /* I Number of LPCs */
)
{
- SKP_int i, n, m;
- SKP_int32 diff_Q15, sum_error, Wtmp_Q6;
- SKP_int32 Wcpy_Q6[ MAX_LPC_ORDER / 2 ];
- const SKP_int16 *cb_vec_Q15;
+ SKP_int i, n, m;
+ SKP_int32 diff_Q15, sum_error, Wtmp_Q6;
+ SKP_int32 Wcpy_Q6[ MAX_LPC_ORDER / 2 ];
+ const SKP_int8 *cb_vec_Q8;
SKP_assert( LPC_order <= 16 );
SKP_assert( ( LPC_order & 1 ) == 0 );
@@ -54,7 +54,7 @@ void SKP_Silk_NLSF_VQ_sum_error_FIX(
/* Loop over input vectors */
for( n = 0; n < N; n++ ) {
/* Loop over codebook */
- cb_vec_Q15 = pCB_Q15;
+ cb_vec_Q8 = pCB_Q8;
for( i = 0; i < K; i++ ) {
sum_error = 0;
for( m = 0; m < LPC_order; m += 2 ) {
@@ -62,11 +62,11 @@ void SKP_Silk_NLSF_VQ_sum_error_FIX(
Wtmp_Q6 = Wcpy_Q6[ SKP_RSHIFT( m, 1 ) ];
/* Compute weighted squared quantization error for index m */
- diff_Q15 = in_Q15[ m ] - *cb_vec_Q15++; // range: [ -32767 : 32767 ]
+ diff_Q15 = in_Q15[ m ] - SKP_LSHIFT16( ( SKP_int )( *cb_vec_Q8++ ), 7 ); // range: [ -32767 : 32767 ]
sum_error = SKP_SMLAWB( sum_error, SKP_SMULBB( diff_Q15, diff_Q15 ), Wtmp_Q6 );
/* Compute weighted squared quantization error for index m + 1 */
- diff_Q15 = in_Q15[m + 1] - *cb_vec_Q15++; // range: [ -32767 : 32767 ]
+ diff_Q15 = in_Q15[m + 1] - SKP_LSHIFT16( ( SKP_int )( *cb_vec_Q8++ ), 7 ); // range: [ -32767 : 32767 ]
sum_error = SKP_SMLAWT( sum_error, SKP_SMULBB( diff_Q15, diff_Q15 ), Wtmp_Q6 );
}
SKP_assert( sum_error >= 0 );