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 <saza@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42459}
diff --git a/modules/audio_processing/test/audio_processing_simulator.cc b/modules/audio_processing/test/audio_processing_simulator.cc
index a47e4b5..9bded52 100644
--- a/modules/audio_processing/test/audio_processing_simulator.cc
+++ b/modules/audio_processing/test/audio_processing_simulator.cc
@@ -515,6 +515,10 @@
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 82e22cc..082ccb1 100644
--- a/modules/audio_processing/test/audio_processing_simulator.h
+++ b/modules/audio_processing/test/audio_processing_simulator.h
@@ -113,6 +113,7 @@
absl::optional<int> agc_compression_gain;
absl::optional<bool> agc2_use_adaptive_gain;
absl::optional<float> agc2_fixed_gain_db;
+ absl::optional<bool> agc2_use_input_volume_controller;
absl::optional<float> pre_amplifier_gain_factor;
absl::optional<float> pre_gain_factor;
absl::optional<float> post_gain_factor;
diff --git a/modules/audio_processing/test/audioproc_float_impl.cc b/modules/audio_processing/test/audioproc_float_impl.cc
index 980b80a..5d3c75a 100644
--- a/modules/audio_processing/test/audioproc_float_impl.cc
+++ b/modules/audio_processing/test/audioproc_float_impl.cc
@@ -150,6 +150,10 @@
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 @@
&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),