Index: webrtc/modules/audio_coding/neteq/background_noise.cc |
diff --git a/webrtc/modules/audio_coding/neteq/background_noise.cc b/webrtc/modules/audio_coding/neteq/background_noise.cc |
index c86045eed90cbdcf62580c34301d80df433b1d59..7e7a6325e97ad18071570f0381cbee5df26cd67e 100644 |
--- a/webrtc/modules/audio_coding/neteq/background_noise.cc |
+++ b/webrtc/modules/audio_coding/neteq/background_noise.cc |
@@ -17,7 +17,6 @@ |
#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h" |
#include "webrtc/modules/audio_coding/neteq/audio_multi_vector.h" |
-#include "webrtc/modules/audio_coding/neteq/cross_correlation.h" |
#include "webrtc/modules/audio_coding/neteq/post_decode_vad.h" |
namespace webrtc { |
@@ -170,10 +169,15 @@ |
int32_t BackgroundNoise::CalculateAutoCorrelation( |
const int16_t* signal, size_t length, int32_t* auto_correlation) const { |
+ int16_t signal_max = WebRtcSpl_MaxAbsValueW16(signal, length); |
+ int correlation_scale = kLogVecLen - |
+ WebRtcSpl_NormW32(signal_max * signal_max); |
+ correlation_scale = std::max(0, correlation_scale); |
+ |
static const int kCorrelationStep = -1; |
- const int correlation_scale = |
- CrossCorrelationWithAutoShift(signal, signal, length, kMaxLpcOrder + 1, |
- kCorrelationStep, auto_correlation); |
+ WebRtcSpl_CrossCorrelation(auto_correlation, signal, signal, length, |
+ kMaxLpcOrder + 1, correlation_scale, |
+ kCorrelationStep); |
// Number of shifts to normalize energy to energy/sample. |
int energy_sample_shift = kLogVecLen - correlation_scale; |