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

Unified Diff: webrtc/modules/audio_processing/audio_processing_impl.cc

Issue 2272423003: Deactivated the intelligibility enhancement functionality by default (Closed)
Patch Set: Changed name of build file flags Created 4 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/audio_processing_impl.cc
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index 3b3a9518b1723497b6e352b6f729e26e096ae2d1..011325f8ca1cc00a525d01e11ef296db4ecddf52 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -30,7 +30,9 @@
#include "webrtc/modules/audio_processing/gain_control_for_experimental_agc.h"
#include "webrtc/modules/audio_processing/gain_control_impl.h"
#include "webrtc/modules/audio_processing/high_pass_filter_impl.h"
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
#include "webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.h"
+#endif
#include "webrtc/modules/audio_processing/level_controller/level_controller.h"
#include "webrtc/modules/audio_processing/level_estimator_impl.h"
#include "webrtc/modules/audio_processing/noise_suppression_impl.h"
@@ -50,6 +52,14 @@
#endif
#endif // WEBRTC_AUDIOPROC_DEBUG_DUMP
+// Check to verify that the define for the intelligibility enhancer is properly
+// set.
+#if !defined(WEBRTC_INTELLIGIBILITY_ENHANCER) || \
+ (WEBRTC_INTELLIGIBILITY_ENHANCER != 0 && \
+ WEBRTC_INTELLIGIBILITY_ENHANCER != 1)
+#error "Set WEBRTC_INTELLIGIBILITY_ENHANCER to either 0 or 1"
+#endif
+
#define RETURN_ON_ERR(expr) \
do { \
int err = (expr); \
@@ -124,7 +134,9 @@ struct AudioProcessingImpl::ApmPublicSubmodules {
// Accessed internally from both render and capture.
std::unique_ptr<TransientSuppressor> transient_suppressor;
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
std::unique_ptr<IntelligibilityEnhancer> intelligibility_enhancer;
+#endif
};
struct AudioProcessingImpl::ApmPrivateSubmodules {
@@ -321,7 +333,9 @@ int AudioProcessingImpl::InitializeLocked() {
InitializeExperimentalAgc();
InitializeTransient();
InitializeBeamformer();
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
InitializeIntelligibility();
+#endif
InitializeHighPassFilter();
InitializeNoiseSuppression();
InitializeLevelEstimator();
@@ -423,12 +437,14 @@ void AudioProcessingImpl::SetExtraOptions(const Config& config) {
InitializeLevelController();
}
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
if(capture_nonlocked_.intelligibility_enabled !=
config.Get<Intelligibility>().enabled) {
capture_nonlocked_.intelligibility_enabled =
config.Get<Intelligibility>().enabled;
InitializeIntelligibility();
}
+#endif
#ifdef WEBRTC_ANDROID_PLATFORM_BUILD
if (capture_nonlocked_.beamformer_enabled !=
@@ -725,6 +741,7 @@ int AudioProcessingImpl::ProcessStreamLocked() {
ca->CopyLowPassToReference();
}
public_submodules_->noise_suppression->ProcessCaptureAudio(ca);
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
if (capture_nonlocked_.intelligibility_enabled) {
RTC_DCHECK(public_submodules_->noise_suppression->is_enabled());
int gain_db = public_submodules_->gain_control->is_enabled() ?
@@ -737,6 +754,7 @@ int AudioProcessingImpl::ProcessStreamLocked() {
public_submodules_->intelligibility_enhancer->SetCaptureNoiseEstimate(
public_submodules_->noise_suppression->NoiseEstimate(), gain);
}
+#endif
// Ensure that the stream delay was set before the call to the
// AECM ProcessCaptureAudio function.
@@ -936,11 +954,13 @@ int AudioProcessingImpl::ProcessReverseStreamLocked() {
ra->SplitIntoFrequencyBands();
}
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
if (capture_nonlocked_.intelligibility_enabled) {
public_submodules_->intelligibility_enhancer->ProcessRenderAudio(
ra->split_channels_f(kBand0To8kHz), capture_nonlocked_.split_rate,
ra->num_channels());
}
+#endif
RETURN_ON_ERR(public_submodules_->echo_cancellation->ProcessRenderAudio(ra));
RETURN_ON_ERR(
@@ -1172,7 +1192,11 @@ bool AudioProcessingImpl::fwd_analysis_needed() const {
}
bool AudioProcessingImpl::is_rev_processed() const {
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
return capture_nonlocked_.intelligibility_enabled;
+#else
+ return false;
+#endif
}
bool AudioProcessingImpl::rev_synthesis_needed() const {
@@ -1237,12 +1261,14 @@ void AudioProcessingImpl::InitializeBeamformer() {
}
void AudioProcessingImpl::InitializeIntelligibility() {
+#if WEBRTC_INTELLIGIBILITY_ENHANCER
if (capture_nonlocked_.intelligibility_enabled) {
public_submodules_->intelligibility_enhancer.reset(
new IntelligibilityEnhancer(capture_nonlocked_.split_rate,
render_.render_audio->num_channels(),
NoiseSuppressionImpl::num_noise_bins()));
}
+#endif
}
void AudioProcessingImpl::InitializeHighPassFilter() {
« no previous file with comments | « webrtc/modules/audio_processing/audio_processing.gypi ('k') | webrtc/modules/audio_processing/audio_processing_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698