| Index: webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
|
| diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c b/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
|
| index c9ddf935801090e5959df3ee45bf38334011a4be..8e351277c3fd6a9decad2c3d96043598f9d37599 100644
|
| --- a/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
|
| +++ b/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c
|
| @@ -255,7 +255,7 @@ static void CalcInvArSpec(const int16_t *ARCoefQ12,
|
| }
|
|
|
| for (k=0; k<FRAMESAMPLES/8; k++) {
|
| - int32_t diff_q16 = diffQ16[k] << shftVal;
|
| + int32_t diff_q16 = diffQ16[k] * (1 << shftVal);
|
| CurveQ16[FRAMESAMPLES / 4 - 1 - k] = CurveQ16[k] - diff_q16;
|
| CurveQ16[k] += diff_q16;
|
| }
|
| @@ -864,8 +864,8 @@ void WebRtcIsacfix_MatrixProduct1C(const int16_t matrix0[],
|
| matrix0_index = matrix0_index_factor1 * (*matrix0_index_factor2);
|
| matrix1_index = matrix1_index_factor1 * (*matrix1_index_factor2);
|
| for (n = 0; n < inner_loop_count; n++) {
|
| - sum32 += (WEBRTC_SPL_MUL_16_32_RSFT16(matrix0[matrix0_index],
|
| - matrix1[matrix1_index] << shift));
|
| + sum32 += WEBRTC_SPL_MUL_16_32_RSFT16(
|
| + matrix0[matrix0_index], matrix1[matrix1_index] * (1 << shift));
|
| matrix0_index += matrix0_index_step;
|
| matrix1_index += matrix1_index_step;
|
| }
|
| @@ -1042,7 +1042,8 @@ int WebRtcIsacfix_DecodeLpcCoef(Bitstr_dec *streamdata,
|
| /* hi band LAR coeffs */
|
| for (n=0; n<ORDERHI; n++, pos++, poss++) {
|
| // ((Q13*Q17)>>16)<<3 = Q17, with 1/0.45 = 2.222222222222 ~= 18204 in Q13
|
| - tmp32 = WEBRTC_SPL_MUL_16_32_RSFT16(18204, tmpcoeffs_sQ17[poss]) << 3;
|
| + tmp32 =
|
| + WEBRTC_SPL_MUL_16_32_RSFT16(18204, tmpcoeffs_sQ17[poss]) * (1 << 3);
|
| tmp32 = tmp32 + WebRtcIsacfix_kMeansShapeQ17[model][poss]; // Q17+Q17 = Q17
|
| LPCCoefQ17[pos] = tmp32;
|
| }
|
|
|