diff --git a/src_FIX/SKP_Silk_find_pitch_lags_FIX.c b/src_FIX/SKP_Silk_find_pitch_lags_FIX.c index ad78d55c48a86e4cfad1b3756f28bc8ce6d5eecd..12f62a028bdce76a855f2db2181ca3be303e5612 100644 --- a/src_FIX/SKP_Silk_find_pitch_lags_FIX.c +++ b/src_FIX/SKP_Silk_find_pitch_lags_FIX.c @@ -128,5 +128,10 @@ void SKP_Silk_find_pitch_lags_FIX( } else { psEncCtrl->sCmn.signalType = TYPE_UNVOICED; } + } else { + SKP_memset( psEncCtrl->sCmn.pitchL, 0, sizeof( psEncCtrl->sCmn.pitchL ) ); + psEncCtrl->sCmn.lagIndex = 0; + psEncCtrl->sCmn.contourIndex = 0; + psEnc->LTPCorr_Q15 = 0; } } diff --git a/src_FLP/SKP_Silk_find_pitch_lags_FLP.c b/src_FLP/SKP_Silk_find_pitch_lags_FLP.c index 5ab8ef64aae45f2ddd6e3f3edba0a2ff7ebfd5c0..01e83486f1086818eab6d181100175a54a136e4c 100644 --- a/src_FLP/SKP_Silk_find_pitch_lags_FLP.c +++ b/src_FLP/SKP_Silk_find_pitch_lags_FLP.c @@ -120,5 +120,10 @@ void SKP_Silk_find_pitch_lags_FLP( } else { psEncCtrl->sCmn.signalType = TYPE_UNVOICED; } + } else { + SKP_memset( psEncCtrl->sCmn.pitchL, 0, sizeof( psEncCtrl->sCmn.pitchL ) ); + psEncCtrl->sCmn.lagIndex = 0; + psEncCtrl->sCmn.contourIndex = 0; + psEnc->LTPCorr = 0; } } diff --git a/src_FLP/SKP_Silk_wrappers_FLP.c b/src_FLP/SKP_Silk_wrappers_FLP.c index c87c20b215dc60c851dc1df96890fb1c0782c7b4..449424ea959288eea03c9881bb89bf60be5c659d 100644 --- a/src_FLP/SKP_Silk_wrappers_FLP.c +++ b/src_FLP/SKP_Silk_wrappers_FLP.c @@ -163,7 +163,6 @@ void SKP_Silk_NSQ_wrapper_FLP( SKP_int i, j; SKP_float tmp_float; SKP_int16 x_16[ MAX_FRAME_LENGTH ]; - /* Prediction and coding parameters */ SKP_int32 Gains_Q16[ MAX_NB_SUBFR ]; SKP_DWORD_ALIGN SKP_int16 PredCoef_Q12[ 2 ][ MAX_LPC_ORDER ]; SKP_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ]; @@ -179,8 +178,10 @@ void SKP_Silk_NSQ_wrapper_FLP( /* Convert control struct to fix control struct */ /* Noise shape parameters */ - for( i = 0; i < MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER; i++ ) { - AR2_Q13[ i ] = SKP_float2int( psEncCtrl->AR2[ i ] * 8192.0f ); + for( i = 0; i < MAX_NB_SUBFR; i++ ) { + for( j = 0; j < psEnc->sCmn.shapingLPCOrder; j++ ) { + AR2_Q13[ i * MAX_SHAPE_LPC_ORDER + j ] = SKP_float2int( psEncCtrl->AR2[ i * MAX_SHAPE_LPC_ORDER + j ] * 8192.0f ); + } } for( i = 0; i < MAX_NB_SUBFR; i++ ) {