Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: webrtc/modules/audio_processing/intelligibility/intelligibility_utils.cc

Issue 1234463003: Integrate Intelligibility with APM (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix Mac Error (3) Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698