Options and settings for the Pre-amplifier.

Add configuration fields for the pre-amplifier in the Audio Processing
Module. Also add flags and settings for the pre-amplifier in
audioproc_f.

Also make the setting stored in Aec Dumps. And make the setting
applied when playing back Aec Dumps in audioproc_f.

Bug: webrtc:9138
Change-Id: I4e59df200e1ebc56f06fae74ebf17d85858958a3
Reviewed-on: https://webrtc-review.googlesource.com/69560
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22876}
This commit is contained in:
Alex Loiko
2018-04-16 13:52:32 +02:00
committed by Commit Bot
parent 28111d7fa0
commit 5feb30e85f
11 changed files with 59 additions and 1 deletions

View File

@ -35,6 +35,9 @@ bool InternalAPMConfig::operator==(const InternalAPMConfig& other) {
intelligibility_enhancer_enabled ==
other.intelligibility_enhancer_enabled &&
noise_robust_agc_enabled == other.noise_robust_agc_enabled &&
pre_amplifier_enabled == other.pre_amplifier_enabled &&
pre_amplifier_fixed_gain_factor ==
other.pre_amplifier_fixed_gain_factor &&
experiments_description == other.experiments_description;
}
} // namespace webrtc

View File

@ -50,6 +50,8 @@ struct InternalAPMConfig {
bool transient_suppression_enabled = false;
bool intelligibility_enhancer_enabled = false;
bool noise_robust_agc_enabled = false;
bool pre_amplifier_enabled = false;
float pre_amplifier_fixed_gain_factor = 1.f;
std::string experiments_description = "";
};

View File

@ -270,6 +270,13 @@ class AudioProcessing : public rtc::RefCountInterface {
bool enabled = false;
} high_pass_filter;
// Enabled the pre-amplifier. It amplifies the capture signal
// before any other processing is done.
struct PreAmplifier {
bool enabled = false;
float fixed_gain_factor = 1.f;
} pre_amplifier;
// Enables the next generation AGC functionality. This feature
// replaces the standard methods of gain control in the previous
// AGC. This functionality is currently only partially