| Index: third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h
|
| diff --git a/third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h b/third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h
|
| index ad1cfe2a9b0841012701b1fe77d7da2f044d0b26..cd70713a8f5d9453ec62d7786bc30a90abddc409 100644
|
| --- a/third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h
|
| +++ b/third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h
|
| @@ -61,7 +61,7 @@ static inline void silk_noise_shape_quantizer_del_dec(
|
| opus_int predictLPCOrder, /* I Prediction filter order */
|
| opus_int warping_Q16, /* I */
|
| opus_int nStatesDelayedDecision, /* I Number of states in decision tree */
|
| - opus_int *smpl_buf_idx, /* I Index to newest samples in buffers */
|
| + opus_int *smpl_buf_idx, /* I/O Index to newest samples in buffers */
|
| opus_int decisionDelay, /* I */
|
| int arch /* I */
|
| )
|
| @@ -323,8 +323,9 @@ static inline void silk_noise_shape_quantizer_del_dec(
|
| psSS[ 1 ].xq_Q14 = xq_Q14;
|
| }
|
|
|
| - *smpl_buf_idx = ( *smpl_buf_idx - 1 ) & DECISION_DELAY_MASK; /* Index to newest samples */
|
| - last_smple_idx = ( *smpl_buf_idx + decisionDelay ) & DECISION_DELAY_MASK; /* Index to decisionDelay old samples */
|
| + *smpl_buf_idx = ( *smpl_buf_idx - 1 ) % DECISION_DELAY;
|
| + if( *smpl_buf_idx < 0 ) *smpl_buf_idx += DECISION_DELAY;
|
| + last_smple_idx = ( *smpl_buf_idx + decisionDelay ) % DECISION_DELAY;
|
|
|
| /* Find winner */
|
| RDmin_Q10 = psSampleState[ 0 ][ 0 ].RD_Q10;
|
|
|