From e4d23b1adf16190e4a71ceb2f7f40f20bcd0f78f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Tue, 2 Oct 2018 23:40:07 +0200 Subject: [PATCH] Hooked up the control of the adaptive AGC2 mode in audioproc_f MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL adds the ability to toggle the AGC2 adaptive digital mode in audioproc_f Bug: webrtc:5298 Change-Id: If1567d8c87f88992dff89253edb293a56cee0a73 Reviewed-on: https://webrtc-review.googlesource.com/c/103361 Reviewed-by: Alex Loiko Commit-Queue: Per Ã…hgren Cr-Commit-Position: refs/heads/master@{#24954} --- modules/audio_processing/test/audio_processing_simulator.cc | 4 ++++ modules/audio_processing/test/audio_processing_simulator.h | 1 + modules/audio_processing/test/audioproc_float_impl.cc | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc index c52036bbfc..6b4162da1d 100644 --- a/modules/audio_processing/test/audio_processing_simulator.cc +++ b/modules/audio_processing/test/audio_processing_simulator.cc @@ -918,6 +918,10 @@ void AudioProcessingSimulator::CreateAudioProcessor() { if (settings_.use_agc2) { apm_config.gain_controller2.enabled = *settings_.use_agc2; apm_config.gain_controller2.fixed_gain_db = settings_.agc2_fixed_gain_db; + if (settings_.agc2_use_adaptive_gain) { + apm_config.gain_controller2.adaptive_digital_mode = + *settings_.agc2_use_adaptive_gain; + } } if (settings_.use_pre_amplifier) { apm_config.pre_amplifier.enabled = *settings_.use_pre_amplifier; diff --git a/modules/audio_processing/test/audio_processing_simulator.h b/modules/audio_processing/test/audio_processing_simulator.h index 81349e69b2..4e580b4fce 100644 --- a/modules/audio_processing/test/audio_processing_simulator.h +++ b/modules/audio_processing/test/audio_processing_simulator.h @@ -73,6 +73,7 @@ struct SimulationSettings { absl::optional agc_target_level; absl::optional use_agc_limiter; absl::optional agc_compression_gain; + absl::optional agc2_use_adaptive_gain; float agc2_fixed_gain_db; float pre_amplifier_gain_factor; absl::optional vad_likelihood; diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc index 8bb078e9e8..3a448877d8 100644 --- a/modules/audio_processing/test/audioproc_float_impl.cc +++ b/modules/audio_processing/test/audioproc_float_impl.cc @@ -139,6 +139,9 @@ DEFINE_int(agc_limiter, DEFINE_int(agc_compression_gain, kParameterNotSpecifiedValue, "Specify the AGC compression gain (0-90)"); +DEFINE_float(agc2_enable_adaptive_gain, + kParameterNotSpecifiedValue, + "Activate (1) or deactivate(0) the AGC2 adaptive gain"); DEFINE_float(agc2_fixed_gain_db, 0.f, "AGC2 fixed gain (dB) to apply"); DEFINE_float(pre_amplifier_gain_factor, 1.f, @@ -269,6 +272,8 @@ SimulationSettings CreateSettings() { SetSettingIfFlagSet(FLAG_agc_limiter, &settings.use_agc_limiter); SetSettingIfSpecified(FLAG_agc_compression_gain, &settings.agc_compression_gain); + SetSettingIfFlagSet(FLAG_agc2_enable_adaptive_gain, + &settings.agc2_use_adaptive_gain); settings.agc2_fixed_gain_db = FLAG_agc2_fixed_gain_db; settings.pre_amplifier_gain_factor = FLAG_pre_amplifier_gain_factor; SetSettingIfSpecified(FLAG_vad_likelihood, &settings.vad_likelihood);