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),