AGC2 adaptive digital controller config clean-up
- Remove dry-run option
- Hard-code `adjacent_speech_frames_threshold` and
`vad_reset_period_ms`
- Expose `initial_gain_db` via field trial
Tested: adaptive digital controller bit-exactness verified
Bug: webrtc:7494
Change-Id: I6166611f91320b6c37de3f8e553c06c2ed95b772
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287222
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38862}
diff --git a/modules/audio_processing/include/audio_processing.cc b/modules/audio_processing/include/audio_processing.cc
index 83917c2..13ddcc5 100644
--- a/modules/audio_processing/include/audio_processing.cc
+++ b/modules/audio_processing/include/audio_processing.cc
@@ -87,12 +87,9 @@
bool Agc2Config::AdaptiveDigital::operator==(
const Agc2Config::AdaptiveDigital& rhs) const {
- return enabled == rhs.enabled && dry_run == rhs.dry_run &&
- headroom_db == rhs.headroom_db && max_gain_db == rhs.max_gain_db &&
+ return enabled == rhs.enabled && headroom_db == rhs.headroom_db &&
+ max_gain_db == rhs.max_gain_db &&
initial_gain_db == rhs.initial_gain_db &&
- vad_reset_period_ms == rhs.vad_reset_period_ms &&
- adjacent_speech_frames_threshold ==
- rhs.adjacent_speech_frames_threshold &&
max_gain_change_db_per_second == rhs.max_gain_change_db_per_second &&
max_output_noise_level_dbfs == rhs.max_output_noise_level_dbfs;
}
@@ -197,15 +194,10 @@
<< gain_controller2.fixed_digital.gain_db
<< " }, adaptive_digital: { enabled: "
<< gain_controller2.adaptive_digital.enabled
- << ", dry_run: " << gain_controller2.adaptive_digital.dry_run
<< ", headroom_db: " << gain_controller2.adaptive_digital.headroom_db
<< ", max_gain_db: " << gain_controller2.adaptive_digital.max_gain_db
<< ", initial_gain_db: "
<< gain_controller2.adaptive_digital.initial_gain_db
- << ", vad_reset_period_ms: "
- << gain_controller2.adaptive_digital.vad_reset_period_ms
- << ", adjacent_speech_frames_threshold: "
- << gain_controller2.adaptive_digital.adjacent_speech_frames_threshold
<< ", max_gain_change_db_per_second: "
<< gain_controller2.adaptive_digital.max_gain_change_db_per_second
<< ", max_output_noise_level_dbfs: "
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index c5c6070..f613a38 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -362,21 +362,10 @@
bool operator!=(const AdaptiveDigital& rhs) const {
return !(*this == rhs);
}
-
bool enabled = false;
- // TODO(bugs.webrtc.org/7494): Remove `dry_run`.
- // When true, the adaptive digital controller runs but the signal is not
- // modified.
- bool dry_run = false;
float headroom_db = 6.0f;
- // TODO(bugs.webrtc.org/7494): Consider removing and inferring from
- // `max_output_noise_level_dbfs`.
float max_gain_db = 30.0f;
float initial_gain_db = 8.0f;
- // TODO(bugs.webrtc.org/7494): Hard-code and remove parameter below.
- int vad_reset_period_ms = 1500;
- // TODO(bugs.webrtc.org/7494): Hard-code and remove parameter below.
- int adjacent_speech_frames_threshold = 12;
float max_gain_change_db_per_second = 3.0f;
float max_output_noise_level_dbfs = -50.0f;
} adaptive_digital;