| Index: webrtc/modules/audio_processing/level_controller/signal_classifier.cc
|
| diff --git a/webrtc/modules/audio_processing/level_controller/signal_classifier.cc b/webrtc/modules/audio_processing/level_controller/signal_classifier.cc
|
| index c9a07e754d8f0e58c3a1cdfcb59600edf6db7d92..dd67737403aba12e9cdf089c4bef463dac53d4a5 100644
|
| --- a/webrtc/modules/audio_processing/level_controller/signal_classifier.cc
|
| +++ b/webrtc/modules/audio_processing/level_controller/signal_classifier.cc
|
| @@ -16,7 +16,6 @@
|
|
|
| #include "webrtc/base/array_view.h"
|
| #include "webrtc/base/constructormagic.h"
|
| -#include "webrtc/modules/audio_processing/aec/aec_rdft.h"
|
| #include "webrtc/modules/audio_processing/audio_buffer.h"
|
| #include "webrtc/modules/audio_processing/level_controller/down_sampler.h"
|
| #include "webrtc/modules/audio_processing/level_controller/noise_spectrum_estimator.h"
|
| @@ -35,13 +34,14 @@ void RemoveDcLevel(rtc::ArrayView<float> x) {
|
| }
|
| }
|
|
|
| -void PowerSpectrum(rtc::ArrayView<const float> x,
|
| +void PowerSpectrum(const OouraFft* ooura_fft,
|
| + rtc::ArrayView<const float> x,
|
| rtc::ArrayView<float> spectrum) {
|
| RTC_DCHECK_EQ(65u, spectrum.size());
|
| RTC_DCHECK_EQ(128u, x.size());
|
| float X[128];
|
| std::copy(x.data(), x.data() + x.size(), X);
|
| - aec_rdft_forward_128(X);
|
| + ooura_fft->Fft(X);
|
|
|
| float* X_p = X;
|
| RTC_DCHECK_EQ(X_p, &X[0]);
|
| @@ -118,7 +118,6 @@ SignalClassifier::SignalClassifier(ApmDataDumper* data_dumper)
|
| SignalClassifier::~SignalClassifier() {}
|
|
|
| void SignalClassifier::Initialize(int sample_rate_hz) {
|
| - aec_rdft_init();
|
| down_sampler_.Initialize(sample_rate_hz);
|
| noise_spectrum_estimator_.Initialize();
|
| frame_extender_.reset(new FrameExtender(80, 128));
|
| @@ -141,7 +140,7 @@ void SignalClassifier::Analyze(const AudioBuffer& audio,
|
| frame_extender_->ExtendFrame(downsampled_frame, extended_frame);
|
| RemoveDcLevel(extended_frame);
|
| float signal_spectrum[65];
|
| - PowerSpectrum(extended_frame, signal_spectrum);
|
| + PowerSpectrum(&ooura_fft_, extended_frame, signal_spectrum);
|
|
|
| // Classify the signal based on the estimate of the noise spectrum and the
|
| // signal spectrum estimate.
|
|
|