Index: webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc |
diff --git a/webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc b/webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc |
index 00d9b536584360a9ad989c72751bdd6e64319356..2c2743f05323fef4597a3d2a20367105ae942e11 100644 |
--- a/webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc |
+++ b/webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc |
@@ -51,33 +51,33 @@ void AddToMean(complex<float> data, int count, complex<float>* mean) { |
static const int kWindowBlockSize = 10; |
-VarianceArray::VarianceArray(int freqs, |
+VarianceArray::VarianceArray(int num_freqs, |
StepType type, |
int window_size, |
float decay) |
- : running_mean_(new complex<float>[freqs]()), |
- running_mean_sq_(new complex<float>[freqs]()), |
- sub_running_mean_(new complex<float>[freqs]()), |
- sub_running_mean_sq_(new complex<float>[freqs]()), |
- variance_(new float[freqs]()), |
- conj_sum_(new float[freqs]()), |
- freqs_(freqs), |
+ : running_mean_(new complex<float>[num_freqs]()), |
+ running_mean_sq_(new complex<float>[num_freqs]()), |
+ sub_running_mean_(new complex<float>[num_freqs]()), |
+ sub_running_mean_sq_(new complex<float>[num_freqs]()), |
+ variance_(new float[num_freqs]()), |
+ conj_sum_(new float[num_freqs]()), |
+ num_freqs_(num_freqs), |
window_size_(window_size), |
decay_(decay), |
history_cursor_(0), |
count_(0), |
array_mean_(0.0f), |
buffer_full_(false) { |
- history_.reset(new rtc::scoped_ptr<complex<float>[]>[freqs_]()); |
- for (int i = 0; i < freqs_; ++i) { |
+ history_.reset(new rtc::scoped_ptr<complex<float>[]>[num_freqs_]()); |
+ for (int i = 0; i < num_freqs_; ++i) { |
history_[i].reset(new complex<float>[window_size_]()); |
} |
- subhistory_.reset(new rtc::scoped_ptr<complex<float>[]>[freqs_]()); |
- for (int i = 0; i < freqs_; ++i) { |
+ subhistory_.reset(new rtc::scoped_ptr<complex<float>[]>[num_freqs_]()); |
+ for (int i = 0; i < num_freqs_; ++i) { |
subhistory_[i].reset(new complex<float>[window_size_]()); |
} |
- subhistory_sq_.reset(new rtc::scoped_ptr<complex<float>[]>[freqs_]()); |
- for (int i = 0; i < freqs_; ++i) { |
+ subhistory_sq_.reset(new rtc::scoped_ptr<complex<float>[]>[num_freqs_]()); |
+ for (int i = 0; i < num_freqs_; ++i) { |
subhistory_sq_[i].reset(new complex<float>[window_size_]()); |
} |
switch (type) { |
@@ -104,7 +104,7 @@ VarianceArray::VarianceArray(int freqs, |
void VarianceArray::InfiniteStep(const complex<float>* data, bool skip_fudge) { |
array_mean_ = 0.0f; |
++count_; |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
complex<float> sample = data[i]; |
if (!skip_fudge) { |
sample = zerofudge(sample); |
@@ -132,7 +132,7 @@ void VarianceArray::InfiniteStep(const complex<float>* data, bool skip_fudge) { |
void VarianceArray::DecayStep(const complex<float>* data, bool /*dummy*/) { |
array_mean_ = 0.0f; |
++count_; |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
complex<float> sample = data[i]; |
sample = zerofudge(sample); |
@@ -159,7 +159,7 @@ void VarianceArray::DecayStep(const complex<float>* data, bool /*dummy*/) { |
void VarianceArray::WindowedStep(const complex<float>* data, bool /*dummy*/) { |
int num = min(count_ + 1, window_size_); |
array_mean_ = 0.0f; |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
complex<float> mean; |
float conj_sum = 0.0f; |
@@ -192,7 +192,7 @@ void VarianceArray::WindowedStep(const complex<float>* data, bool /*dummy*/) { |
// are recomputed from scratch at each of these transitions. |
void VarianceArray::BlockedStep(const complex<float>* data, bool /*dummy*/) { |
int blocks = min(window_size_, history_cursor_ + 1); |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
AddToMean(data[i], count_ + 1, &sub_running_mean_[i]); |
AddToMean(data[i] * std::conj(data[i]), count_ + 1, |
&sub_running_mean_sq_[i]); |
@@ -228,7 +228,7 @@ void VarianceArray::BlockBasedMovingAverage(const std::complex<float>* data, |
// TODO(ekmeyerson) To mitigate potential divergence, add counter so that |
// after every so often sums are computed scratch by summing over all |
// elements instead of subtracting oldest and adding newest. |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
sub_running_mean_[i] += data[i]; |
sub_running_mean_sq_[i] += data[i] * std::conj(data[i]); |
} |
@@ -239,7 +239,7 @@ void VarianceArray::BlockBasedMovingAverage(const std::complex<float>* data, |
if (count_ >= kWindowBlockSize) { |
count_ = 0; |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
running_mean_[i] -= subhistory_[i][history_cursor_]; |
running_mean_sq_[i] -= subhistory_sq_[i][history_cursor_]; |
@@ -268,10 +268,11 @@ void VarianceArray::BlockBasedMovingAverage(const std::complex<float>* data, |
} |
void VarianceArray::Clear() { |
- memset(running_mean_.get(), 0, sizeof(*running_mean_.get()) * freqs_); |
- memset(running_mean_sq_.get(), 0, sizeof(*running_mean_sq_.get()) * freqs_); |
- memset(variance_.get(), 0, sizeof(*variance_.get()) * freqs_); |
- memset(conj_sum_.get(), 0, sizeof(*conj_sum_.get()) * freqs_); |
+ memset(running_mean_.get(), 0, sizeof(*running_mean_.get()) * num_freqs_); |
+ memset(running_mean_sq_.get(), 0, |
+ sizeof(*running_mean_sq_.get()) * num_freqs_); |
+ memset(variance_.get(), 0, sizeof(*variance_.get()) * num_freqs_); |
+ memset(conj_sum_.get(), 0, sizeof(*conj_sum_.get()) * num_freqs_); |
history_cursor_ = 0; |
count_ = 0; |
array_mean_ = 0.0f; |
@@ -279,14 +280,14 @@ void VarianceArray::Clear() { |
void VarianceArray::ApplyScale(float scale) { |
array_mean_ = 0.0f; |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
variance_[i] *= scale * scale; |
array_mean_ += (variance_[i] - array_mean_) / (i + 1); |
} |
} |
GainApplier::GainApplier(int freqs, float change_limit) |
- : freqs_(freqs), |
+ : num_freqs_(freqs), |
change_limit_(change_limit), |
target_(new float[freqs]()), |
current_(new float[freqs]()) { |
@@ -298,7 +299,7 @@ GainApplier::GainApplier(int freqs, float change_limit) |
void GainApplier::Apply(const complex<float>* in_block, |
complex<float>* out_block) { |
- for (int i = 0; i < freqs_; ++i) { |
+ for (int i = 0; i < num_freqs_; ++i) { |
float factor = sqrtf(fabsf(current_[i])); |
if (!std::isnormal(factor)) { |
factor = 1.0f; |