Index: webrtc/modules/audio_coding/codecs/ilbc/cb_search.c |
diff --git a/webrtc/modules/audio_coding/codecs/ilbc/cb_search.c b/webrtc/modules/audio_coding/codecs/ilbc/cb_search.c |
index d502cf0c32b91b3ec80506539f0f08b85dd51f3c..be9495144965af843f8febcffaf77e857e914c90 100644 |
--- a/webrtc/modules/audio_coding/codecs/ilbc/cb_search.c |
+++ b/webrtc/modules/audio_coding/codecs/ilbc/cb_search.c |
@@ -40,29 +40,31 @@ void WebRtcIlbcfix_CbSearch( |
int16_t *gain_index, /* (o) Gain quantization indices */ |
int16_t *intarget, /* (i) Target vector for encoding */ |
int16_t *decResidual,/* (i) Decoded residual for codebook construction */ |
- int16_t lMem, /* (i) Length of buffer */ |
- int16_t lTarget, /* (i) Length of vector */ |
+ size_t lMem, /* (i) Length of buffer */ |
+ size_t lTarget, /* (i) Length of vector */ |
int16_t *weightDenum,/* (i) weighting filter coefficients in Q12 */ |
- int16_t block /* (i) the subblock number */ |
+ size_t block /* (i) the subblock number */ |
) { |
- int16_t i, j, stage, range; |
+ size_t i, range; |
+ int16_t ii, j, stage; |
int16_t *pp; |
int16_t tmp; |
int scale; |
int16_t bits, temp1, temp2; |
- int16_t base_size; |
+ size_t base_size; |
int32_t codedEner, targetEner; |
int16_t gains[CB_NSTAGES+1]; |
int16_t *cb_vecPtr; |
- int16_t indexOffset, sInd, eInd; |
+ size_t indexOffset, sInd, eInd; |
int32_t CritMax=0; |
int16_t shTotMax=WEBRTC_SPL_WORD16_MIN; |
- int16_t bestIndex=0; |
+ size_t bestIndex=0; |
int16_t bestGain=0; |
- int16_t indexNew, CritNewSh; |
+ size_t indexNew; |
+ int16_t CritNewSh; |
int32_t CritNew; |
int32_t *cDotPtr; |
- int16_t noOfZeros; |
+ size_t noOfZeros; |
int16_t *gainPtr; |
int32_t t32, tmpW32; |
int16_t *WebRtcIlbcfix_kGainSq5_ptr; |
@@ -148,9 +150,9 @@ void WebRtcIlbcfix_CbSearch( |
scale, 20, energyW16, energyShifts); |
/* Compute the CB vectors' energies for the second cb section (filtered cb) */ |
- WebRtcIlbcfix_CbMemEnergyAugmentation(interpSamplesFilt, cbvectors, |
- scale, (int16_t)(base_size + 20), |
- energyW16, energyShifts); |
+ WebRtcIlbcfix_CbMemEnergyAugmentation(interpSamplesFilt, cbvectors, scale, |
+ base_size + 20, energyW16, |
+ energyShifts); |
/* Compute the CB vectors' energies and store them in the vector |
* energyW16. Also the corresponding shift values are stored. The |
@@ -224,7 +226,7 @@ void WebRtcIlbcfix_CbSearch( |
/* Update the global best index and the corresponding gain */ |
WebRtcIlbcfix_CbUpdateBestIndex( |
- CritNew, CritNewSh, (int16_t)(indexNew+indexOffset), cDot[indexNew+indexOffset], |
+ CritNew, CritNewSh, indexNew+indexOffset, cDot[indexNew+indexOffset], |
inverseEnergy[indexNew+indexOffset], inverseEnergyShifts[indexNew+indexOffset], |
&CritMax, &shTotMax, &bestIndex, &bestGain); |
@@ -242,11 +244,8 @@ void WebRtcIlbcfix_CbSearch( |
i=sInd; |
if (sInd<20) { |
WebRtcIlbcfix_AugmentedCbCorr(target, cbvectors + lMem, |
- interpSamplesFilt, cDot, |
- (int16_t)(sInd + 20), |
- (int16_t)(WEBRTC_SPL_MIN(39, |
- (eInd + 20))), |
- scale); |
+ interpSamplesFilt, cDot, sInd + 20, |
+ WEBRTC_SPL_MIN(39, (eInd + 20)), scale); |
i=20; |
cDotPtr = &cDot[20 - sInd]; |
} else { |
@@ -257,7 +256,7 @@ void WebRtcIlbcfix_CbSearch( |
/* Calculate the cross correlations (main part of the filtered CB) */ |
WebRtcSpl_CrossCorrelation(cDotPtr, target, cb_vecPtr, lTarget, |
- (int16_t)(eInd - i + 1), scale, -1); |
+ eInd - i + 1, scale, -1); |
} else { |
cDotPtr = cDot; |
@@ -265,7 +264,7 @@ void WebRtcIlbcfix_CbSearch( |
/* Calculate the cross correlations (main part of the filtered CB) */ |
WebRtcSpl_CrossCorrelation(cDotPtr, target, cb_vecPtr, lTarget, |
- (int16_t)(eInd - sInd + 1), scale, -1); |
+ eInd - sInd + 1, scale, -1); |
} |
@@ -274,17 +273,17 @@ void WebRtcIlbcfix_CbSearch( |
/* Search for best index in this part of the vector */ |
WebRtcIlbcfix_CbSearchCore( |
- cDot, (int16_t)(eInd-sInd+1), stage, inverseEnergy+indexOffset, |
+ cDot, eInd-sInd+1, stage, inverseEnergy+indexOffset, |
inverseEnergyShifts+indexOffset, Crit, |
&indexNew, &CritNew, &CritNewSh); |
/* Update the global best index and the corresponding gain */ |
WebRtcIlbcfix_CbUpdateBestIndex( |
- CritNew, CritNewSh, (int16_t)(indexNew+indexOffset), cDot[indexNew], |
+ CritNew, CritNewSh, indexNew+indexOffset, cDot[indexNew], |
inverseEnergy[indexNew+indexOffset], inverseEnergyShifts[indexNew+indexOffset], |
&CritMax, &shTotMax, &bestIndex, &bestGain); |
- index[stage] = bestIndex; |
+ index[stage] = (int16_t)bestIndex; |
bestGain = WebRtcIlbcfix_GainQuant(bestGain, |
@@ -297,7 +296,7 @@ void WebRtcIlbcfix_CbSearch( |
if(lTarget==(STATE_LEN-iLBCenc_inst->state_short_len)) { |
- if(index[stage]<base_size) { |
+ if((size_t)index[stage]<base_size) { |
pp=buf+lMem-lTarget-index[stage]; |
} else { |
pp=cbvectors+lMem-lTarget- |
@@ -306,16 +305,16 @@ void WebRtcIlbcfix_CbSearch( |
} else { |
- if (index[stage]<base_size) { |
+ if ((size_t)index[stage]<base_size) { |
if (index[stage]>=20) { |
/* Adjust index and extract vector */ |
index[stage]-=20; |
pp=buf+lMem-lTarget-index[stage]; |
} else { |
/* Adjust index and extract vector */ |
- index[stage]+=(base_size-20); |
+ index[stage]+=(int16_t)(base_size-20); |
- WebRtcIlbcfix_CreateAugmentedVec((int16_t)(index[stage]-base_size+40), |
+ WebRtcIlbcfix_CreateAugmentedVec(index[stage]-base_size+40, |
buf+lMem, aug_vec); |
pp = aug_vec; |
@@ -329,8 +328,8 @@ void WebRtcIlbcfix_CbSearch( |
index[stage]+base_size; |
} else { |
/* Adjust index and extract vector */ |
- index[stage]+=(base_size-20); |
- WebRtcIlbcfix_CreateAugmentedVec((int16_t)(index[stage]-2*base_size+40), |
+ index[stage]+=(int16_t)(base_size-20); |
+ WebRtcIlbcfix_CreateAugmentedVec(index[stage]-2*base_size+40, |
cbvectors+lMem, aug_vec); |
pp = aug_vec; |
} |
@@ -381,7 +380,7 @@ void WebRtcIlbcfix_CbSearch( |
WebRtcIlbcfix_kGainSq5_ptr = (int16_t*)&WebRtcIlbcfix_kGainSq5[j]; |
/* targetEner and codedEner are in Q(-2*scale) */ |
- for (i=gain_index[0];i<32;i++) { |
+ for (ii=gain_index[0];ii<32;ii++) { |
/* Change the index if |
(codedEnergy*gainTbl[i]*gainTbl[i])<(targetEn*gain[0]*gain[0]) AND |
@@ -392,8 +391,8 @@ void WebRtcIlbcfix_CbSearch( |
t32 = t32 - targetEner; |
if (t32 < 0) { |
if ((*WebRtcIlbcfix_kGainSq5_ptr) < tmpW32) { |
- j=i; |
- WebRtcIlbcfix_kGainSq5_ptr = (int16_t*)&WebRtcIlbcfix_kGainSq5[i]; |
+ j=ii; |
+ WebRtcIlbcfix_kGainSq5_ptr = (int16_t*)&WebRtcIlbcfix_kGainSq5[ii]; |
} |
} |
gainPtr++; |