From 6f3103f23dae1ed80c98318425d9dba04bd08626 Mon Sep 17 00:00:00 2001 From: Hanna Silen Date: Wed, 5 Jun 2024 15:52:33 +0300 Subject: [PATCH] Add AGC2 input volume controller mode in audioproc_f Bug: webrtc:7494 Change-Id: I454f1fcdfe0eff2440b7fba426f8d950250b6a5a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/353740 Commit-Queue: Sam Zackrisson Reviewed-by: Sam Zackrisson Cr-Commit-Position: refs/heads/main@{#42459} --- .../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 | 7 ++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc index a47e4b5be2..9bded526bd 100644 --- a/modules/audio_processing/test/audio_processing_simulator.cc +++ b/modules/audio_processing/test/audio_processing_simulator.cc @@ -515,6 +515,10 @@ void AudioProcessingSimulator::ConfigureAudioProcessor() { apm_config.gain_controller2.adaptive_digital.enabled = *settings_.agc2_use_adaptive_gain; } + if (settings_.agc2_use_input_volume_controller) { + apm_config.gain_controller2.input_volume_controller.enabled = + *settings_.agc2_use_input_volume_controller; + } } 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 82e22cca4f..082ccb1e0b 100644 --- a/modules/audio_processing/test/audio_processing_simulator.h +++ b/modules/audio_processing/test/audio_processing_simulator.h @@ -113,6 +113,7 @@ struct SimulationSettings { absl::optional agc_compression_gain; absl::optional agc2_use_adaptive_gain; absl::optional agc2_fixed_gain_db; + absl::optional agc2_use_input_volume_controller; absl::optional pre_amplifier_gain_factor; absl::optional pre_gain_factor; absl::optional post_gain_factor; diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc index 980b80a81e..5d3c75a495 100644 --- a/modules/audio_processing/test/audioproc_float_impl.cc +++ b/modules/audio_processing/test/audioproc_float_impl.cc @@ -150,6 +150,10 @@ ABSL_FLAG(float, agc2_fixed_gain_db, kParameterNotSpecifiedValue, "AGC2 fixed gain (dB) to apply"); +ABSL_FLAG(int, + agc2_enable_input_volume_controller, + kParameterNotSpecifiedValue, + "Activate (1) or deactivate (0) the AGC2 input volume adjustments"); ABSL_FLAG(float, pre_amplifier_gain_factor, kParameterNotSpecifiedValue, @@ -429,9 +433,10 @@ SimulationSettings CreateSettings() { &settings.agc_compression_gain); SetSettingIfFlagSet(absl::GetFlag(FLAGS_agc2_enable_adaptive_gain), &settings.agc2_use_adaptive_gain); - SetSettingIfSpecified(absl::GetFlag(FLAGS_agc2_fixed_gain_db), &settings.agc2_fixed_gain_db); + SetSettingIfFlagSet(absl::GetFlag(FLAGS_agc2_enable_input_volume_controller), + &settings.agc2_use_input_volume_controller); SetSettingIfSpecified(absl::GetFlag(FLAGS_pre_amplifier_gain_factor), &settings.pre_amplifier_gain_factor); SetSettingIfSpecified(absl::GetFlag(FLAGS_pre_gain_factor),