diff --git a/modules/audio_coding/codecs/ilbc/enhancer_interface.c b/modules/audio_coding/codecs/ilbc/enhancer_interface.c index 55a4105561..fb9740eb22 100644 --- a/modules/audio_coding/codecs/ilbc/enhancer_interface.c +++ b/modules/audio_coding/codecs/ilbc/enhancer_interface.c @@ -203,7 +203,9 @@ size_t // (o) Estimated lag in end of in[] regressor=in+tlag-1; /* scaling */ - max16 = WebRtcSpl_MaxAbsValueW16(regressor, plc_blockl + 3 - 1); + // Note that this is not abs-max, but it doesn't matter since we use only + // the square of it. + max16 = regressor[WebRtcSpl_MaxAbsIndexW16(regressor, plc_blockl + 3 - 1)]; const int64_t max_val = plc_blockl * max16 * max16; const int32_t factor = max_val >> 31; diff --git a/modules/audio_coding/neteq/cross_correlation.cc b/modules/audio_coding/neteq/cross_correlation.cc index 895fea32d1..7ee867aa9b 100644 --- a/modules/audio_coding/neteq/cross_correlation.cc +++ b/modules/audio_coding/neteq/cross_correlation.cc @@ -26,15 +26,16 @@ int CrossCorrelationWithAutoShift(const int16_t* sequence_1, int cross_correlation_step, int32_t* cross_correlation) { // Find the maximum absolute value of sequence_1 and 2. - const int16_t max_1 = WebRtcSpl_MaxAbsValueW16(sequence_1, sequence_1_length); + const int32_t max_1 = + abs(sequence_1[WebRtcSpl_MaxAbsIndexW16(sequence_1, sequence_1_length)]); const int sequence_2_shift = cross_correlation_step * (static_cast(cross_correlation_length) - 1); const int16_t* sequence_2_start = sequence_2_shift >= 0 ? sequence_2 : sequence_2 + sequence_2_shift; const size_t sequence_2_length = sequence_1_length + std::abs(sequence_2_shift); - const int16_t max_2 = - WebRtcSpl_MaxAbsValueW16(sequence_2_start, sequence_2_length); + const int32_t max_2 = abs(sequence_2_start[WebRtcSpl_MaxAbsIndexW16( + sequence_2_start, sequence_2_length)]); // In order to avoid overflow when computing the sum we should scale the // samples so that (in_vector_length * max_1 * max_2) will not overflow.