ref: dcb285211683d7e6d7ee7f47a7c556239f91c231
parent: e99896ebe5eaf57d2590fa2d6b653b4ee94d4b81
author: Jean-Marc Valin <[email protected]>
date: Wed Feb 2 13:16:06 EST 2011
Fixes uninitialised memory issues
--- a/src_FIX/SKP_Silk_find_pitch_lags_FIX.c
+++ b/src_FIX/SKP_Silk_find_pitch_lags_FIX.c
@@ -128,5 +128,10 @@
} 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;
}
}
--- a/src_FLP/SKP_Silk_find_pitch_lags_FLP.c
+++ b/src_FLP/SKP_Silk_find_pitch_lags_FLP.c
@@ -120,5 +120,10 @@
} 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;
}
}
--- a/src_FLP/SKP_Silk_wrappers_FLP.c
+++ b/src_FLP/SKP_Silk_wrappers_FLP.c
@@ -163,7 +163,6 @@
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 @@
/* 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++ ) {