Separated the AEC3 adaptive filter parameters into sub-structs
Bug: webrtc:8671
Change-Id: I02bceceb85da6db65f65c1a2366a2d5021f148ef
Reviewed-on: https://webrtc-review.googlesource.com/39502
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21617}
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 6f7cda0..4f68a6d 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -1244,13 +1244,22 @@
} delay;
struct Filter {
- size_t length_blocks = 12;
- float shadow_rate = 0.1f;
- float leakage_converged = 0.005f;
- float leakage_diverged = 0.05f;
- float error_floor = 0.001f;
- float main_noise_gate = 20075344.f;
- float shadow_noise_gate = 20075344.f;
+ struct MainConfiguration {
+ size_t length_blocks;
+ float leakage_converged;
+ float leakage_diverged;
+ float error_floor;
+ float noise_gate;
+ };
+
+ struct ShadowConfiguration {
+ size_t length_blocks;
+ float rate;
+ float noise_gate;
+ };
+
+ MainConfiguration main = {12, 0.005f, 0.05f, 0.001f, 20075344.f};
+ ShadowConfiguration shadow = {12, 0.1f, 20075344.f};
} filter;
struct Erle {