Index: webrtc/modules/audio_processing/test/audioproc_float.cc |
diff --git a/webrtc/modules/audio_processing/test/audioproc_float.cc b/webrtc/modules/audio_processing/test/audioproc_float.cc |
index a11f41c855183c371c454ecc1b0d24d343b7e595..bdf49d7afa8d3dcb6dfe28bc302045c0dfa07838 100644 |
--- a/webrtc/modules/audio_processing/test/audioproc_float.cc |
+++ b/webrtc/modules/audio_processing/test/audioproc_float.cc |
@@ -13,11 +13,11 @@ |
#include <string.h> |
-#include "gflags/gflags.h" |
#include "webrtc/modules/audio_processing/include/audio_processing.h" |
#include "webrtc/modules/audio_processing/test/aec_dump_based_simulator.h" |
#include "webrtc/modules/audio_processing/test/audio_processing_simulator.h" |
#include "webrtc/modules/audio_processing/test/wav_based_simulator.h" |
+#include "webrtc/rtc_base/flags.h" |
namespace webrtc { |
namespace test { |
@@ -32,7 +32,7 @@ const char kUsageDescription[] = |
"\n\n" |
"Command-line tool to simulate a call using the audio " |
"processing module, either based on wav files or " |
- "protobuf debug dump recordings."; |
+ "protobuf debug dump recordings.\n"; |
DEFINE_string(dump_input, "", "Aec dump input filename"); |
DEFINE_string(dump_output, "", "Aec dump output filename"); |
@@ -41,126 +41,126 @@ DEFINE_string(o, "", "Forward stream output wav filename"); |
DEFINE_string(ri, "", "Reverse stream input wav filename"); |
DEFINE_string(ro, "", "Reverse stream output wav filename"); |
DEFINE_string(artificial_nearend, "", "Artificial nearend wav filename"); |
-DEFINE_int32(output_num_channels, |
- kParameterNotSpecifiedValue, |
- "Number of forward stream output channels"); |
-DEFINE_int32(reverse_output_num_channels, |
- kParameterNotSpecifiedValue, |
- "Number of Reverse stream output channels"); |
-DEFINE_int32(output_sample_rate_hz, |
- kParameterNotSpecifiedValue, |
- "Forward stream output sample rate in Hz"); |
-DEFINE_int32(reverse_output_sample_rate_hz, |
- kParameterNotSpecifiedValue, |
- "Reverse stream output sample rate in Hz"); |
+DEFINE_int(output_num_channels, |
+ kParameterNotSpecifiedValue, |
+ "Number of forward stream output channels"); |
+DEFINE_int(reverse_output_num_channels, |
+ kParameterNotSpecifiedValue, |
+ "Number of Reverse stream output channels"); |
+DEFINE_int(output_sample_rate_hz, |
+ kParameterNotSpecifiedValue, |
+ "Forward stream output sample rate in Hz"); |
+DEFINE_int(reverse_output_sample_rate_hz, |
+ kParameterNotSpecifiedValue, |
+ "Reverse stream output sample rate in Hz"); |
DEFINE_string(mic_positions, |
"", |
"Space delimited cartesian coordinates of microphones in " |
"meters. The coordinates of each point are contiguous. For a " |
"two element array: \"x1 y1 z1 x2 y2 z2\""); |
-DEFINE_int32(target_angle_degrees, |
- 90, |
- "The azimuth of the target in degrees (0-359). Only applies to " |
- "beamforming."); |
+DEFINE_int(target_angle_degrees, |
+ 90, |
+ "The azimuth of the target in degrees (0-359). Only applies to " |
+ "beamforming."); |
DEFINE_bool(fixed_interface, |
false, |
"Use the fixed interface when operating on wav files"); |
-DEFINE_int32(aec, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the echo canceller"); |
-DEFINE_int32(aecm, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the mobile echo controller"); |
-DEFINE_int32(ed, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate (0) the residual echo detector"); |
+DEFINE_int(aec, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the echo canceller"); |
+DEFINE_int(aecm, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the mobile echo controller"); |
+DEFINE_int(ed, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate (0) the residual echo detector"); |
DEFINE_string(ed_graph, "", "Output filename for graph of echo likelihood"); |
-DEFINE_int32(agc, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the AGC"); |
-DEFINE_int32(agc2, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the AGC2"); |
-DEFINE_int32(hpf, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the high-pass filter"); |
-DEFINE_int32(ns, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the noise suppressor"); |
-DEFINE_int32(ts, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the transient suppressor"); |
-DEFINE_int32(bf, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the beamformer"); |
-DEFINE_int32(ie, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the intelligibility enhancer"); |
-DEFINE_int32(vad, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the voice activity detector"); |
-DEFINE_int32(le, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the level estimator"); |
+DEFINE_int(agc, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the AGC"); |
+DEFINE_int(agc2, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the AGC2"); |
+DEFINE_int(hpf, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the high-pass filter"); |
+DEFINE_int(ns, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the noise suppressor"); |
+DEFINE_int(ts, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the transient suppressor"); |
+DEFINE_int(bf, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the beamformer"); |
+DEFINE_int(ie, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the intelligibility enhancer"); |
+DEFINE_int(vad, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the voice activity detector"); |
+DEFINE_int(le, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the level estimator"); |
DEFINE_bool(all_default, |
false, |
"Activate all of the default components (will be overridden by any " |
"other settings)"); |
-DEFINE_int32(aec_suppression_level, |
- kParameterNotSpecifiedValue, |
- "Set the aec suppression level (0-2)"); |
-DEFINE_int32(delay_agnostic, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the AEC delay agnostic mode"); |
-DEFINE_int32(extended_filter, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the AEC extended filter mode"); |
-DEFINE_int32(drift_compensation, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the drift compensation"); |
-DEFINE_int32(aec3, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the experimental AEC mode AEC3"); |
-DEFINE_int32(lc, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the level control"); |
-DEFINE_int32(experimental_agc, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the experimental AGC"); |
-DEFINE_int32( |
+DEFINE_int(aec_suppression_level, |
+ kParameterNotSpecifiedValue, |
+ "Set the aec suppression level (0-2)"); |
+DEFINE_int(delay_agnostic, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the AEC delay agnostic mode"); |
+DEFINE_int(extended_filter, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the AEC extended filter mode"); |
+DEFINE_int(drift_compensation, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the drift compensation"); |
+DEFINE_int(aec3, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the experimental AEC mode AEC3"); |
+DEFINE_int(lc, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the level control"); |
+DEFINE_int(experimental_agc, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the experimental AGC"); |
+DEFINE_int( |
refined_adaptive_filter, |
kParameterNotSpecifiedValue, |
"Activate (1) or deactivate(0) the refined adaptive filter functionality"); |
-DEFINE_int32(aecm_routing_mode, |
- kParameterNotSpecifiedValue, |
- "Specify the AECM routing mode (0-4)"); |
-DEFINE_int32(aecm_comfort_noise, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the AECM comfort noise"); |
-DEFINE_int32(agc_mode, |
- kParameterNotSpecifiedValue, |
- "Specify the AGC mode (0-2)"); |
-DEFINE_int32(agc_target_level, |
- kParameterNotSpecifiedValue, |
- "Specify the AGC target level (0-31)"); |
-DEFINE_int32(agc_limiter, |
- kParameterNotSpecifiedValue, |
- "Activate (1) or deactivate(0) the level estimator"); |
-DEFINE_int32(agc_compression_gain, |
- kParameterNotSpecifiedValue, |
- "Specify the AGC compression gain (0-90)"); |
-DEFINE_int32(vad_likelihood, |
- kParameterNotSpecifiedValue, |
- "Specify the VAD likelihood (0-3)"); |
-DEFINE_int32(ns_level, |
- kParameterNotSpecifiedValue, |
- "Specify the NS level (0-3)"); |
-DEFINE_int32(stream_delay, |
- kParameterNotSpecifiedValue, |
- "Specify the stream delay in ms to use"); |
-DEFINE_int32(stream_drift_samples, |
- kParameterNotSpecifiedValue, |
- "Specify the number of stream drift samples to use"); |
+DEFINE_int(aecm_routing_mode, |
+ kParameterNotSpecifiedValue, |
+ "Specify the AECM routing mode (0-4)"); |
+DEFINE_int(aecm_comfort_noise, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the AECM comfort noise"); |
+DEFINE_int(agc_mode, |
+ kParameterNotSpecifiedValue, |
+ "Specify the AGC mode (0-2)"); |
+DEFINE_int(agc_target_level, |
+ kParameterNotSpecifiedValue, |
+ "Specify the AGC target level (0-31)"); |
+DEFINE_int(agc_limiter, |
+ kParameterNotSpecifiedValue, |
+ "Activate (1) or deactivate(0) the level estimator"); |
+DEFINE_int(agc_compression_gain, |
+ kParameterNotSpecifiedValue, |
+ "Specify the AGC compression gain (0-90)"); |
+DEFINE_int(vad_likelihood, |
+ kParameterNotSpecifiedValue, |
+ "Specify the VAD likelihood (0-3)"); |
+DEFINE_int(ns_level, |
+ kParameterNotSpecifiedValue, |
+ "Specify the NS level (0-3)"); |
+DEFINE_int(stream_delay, |
+ kParameterNotSpecifiedValue, |
+ "Specify the stream delay in ms to use"); |
+DEFINE_int(stream_drift_samples, |
+ kParameterNotSpecifiedValue, |
+ "Specify the number of stream drift samples to use"); |
DEFINE_bool(performance_report, false, "Report the APM performance "); |
DEFINE_bool(verbose, false, "Produce verbose output"); |
DEFINE_bool(bitexactness_report, |
@@ -173,6 +173,7 @@ DEFINE_bool(store_intermediate_output, |
false, |
"Creates new output files after each init"); |
DEFINE_string(custom_call_order_file, "", "Custom process API call order file"); |
+DEFINE_bool(help, false, "Print this message"); |
void SetSettingIfSpecified(const std::string value, |
rtc::Optional<std::string>* parameter) { |
@@ -197,7 +198,7 @@ void SetSettingIfFlagSet(int32_t flag, rtc::Optional<bool>* parameter) { |
SimulationSettings CreateSettings() { |
SimulationSettings settings; |
- if (FLAGS_all_default) { |
+ if (FLAG_all_default) { |
settings.use_le = rtc::Optional<bool>(true); |
settings.use_vad = rtc::Optional<bool>(true); |
settings.use_ie = rtc::Optional<bool>(false); |
@@ -210,70 +211,70 @@ SimulationSettings CreateSettings() { |
settings.use_aecm = rtc::Optional<bool>(false); |
settings.use_ed = rtc::Optional<bool>(false); |
} |
- SetSettingIfSpecified(FLAGS_dump_input, &settings.aec_dump_input_filename); |
- SetSettingIfSpecified(FLAGS_dump_output, &settings.aec_dump_output_filename); |
- SetSettingIfSpecified(FLAGS_i, &settings.input_filename); |
- SetSettingIfSpecified(FLAGS_o, &settings.output_filename); |
- SetSettingIfSpecified(FLAGS_ri, &settings.reverse_input_filename); |
- SetSettingIfSpecified(FLAGS_ro, &settings.reverse_output_filename); |
- SetSettingIfSpecified(FLAGS_artificial_nearend, |
+ SetSettingIfSpecified(FLAG_dump_input, &settings.aec_dump_input_filename); |
+ SetSettingIfSpecified(FLAG_dump_output, &settings.aec_dump_output_filename); |
+ SetSettingIfSpecified(FLAG_i, &settings.input_filename); |
+ SetSettingIfSpecified(FLAG_o, &settings.output_filename); |
+ SetSettingIfSpecified(FLAG_ri, &settings.reverse_input_filename); |
+ SetSettingIfSpecified(FLAG_ro, &settings.reverse_output_filename); |
+ SetSettingIfSpecified(FLAG_artificial_nearend, |
&settings.artificial_nearend_filename); |
- SetSettingIfSpecified(FLAGS_output_num_channels, |
+ SetSettingIfSpecified(FLAG_output_num_channels, |
&settings.output_num_channels); |
- SetSettingIfSpecified(FLAGS_reverse_output_num_channels, |
+ SetSettingIfSpecified(FLAG_reverse_output_num_channels, |
&settings.reverse_output_num_channels); |
- SetSettingIfSpecified(FLAGS_output_sample_rate_hz, |
+ SetSettingIfSpecified(FLAG_output_sample_rate_hz, |
&settings.output_sample_rate_hz); |
- SetSettingIfSpecified(FLAGS_reverse_output_sample_rate_hz, |
+ SetSettingIfSpecified(FLAG_reverse_output_sample_rate_hz, |
&settings.reverse_output_sample_rate_hz); |
- SetSettingIfSpecified(FLAGS_mic_positions, &settings.microphone_positions); |
- settings.target_angle_degrees = FLAGS_target_angle_degrees; |
- SetSettingIfFlagSet(FLAGS_aec, &settings.use_aec); |
- SetSettingIfFlagSet(FLAGS_aecm, &settings.use_aecm); |
- SetSettingIfFlagSet(FLAGS_ed, &settings.use_ed); |
- SetSettingIfSpecified(FLAGS_ed_graph, &settings.ed_graph_output_filename); |
- SetSettingIfFlagSet(FLAGS_agc, &settings.use_agc); |
- SetSettingIfFlagSet(FLAGS_agc2, &settings.use_agc2); |
- SetSettingIfFlagSet(FLAGS_hpf, &settings.use_hpf); |
- SetSettingIfFlagSet(FLAGS_ns, &settings.use_ns); |
- SetSettingIfFlagSet(FLAGS_ts, &settings.use_ts); |
- SetSettingIfFlagSet(FLAGS_bf, &settings.use_bf); |
- SetSettingIfFlagSet(FLAGS_ie, &settings.use_ie); |
- SetSettingIfFlagSet(FLAGS_vad, &settings.use_vad); |
- SetSettingIfFlagSet(FLAGS_le, &settings.use_le); |
- SetSettingIfSpecified(FLAGS_aec_suppression_level, |
+ SetSettingIfSpecified(FLAG_mic_positions, &settings.microphone_positions); |
+ settings.target_angle_degrees = FLAG_target_angle_degrees; |
+ SetSettingIfFlagSet(FLAG_aec, &settings.use_aec); |
+ SetSettingIfFlagSet(FLAG_aecm, &settings.use_aecm); |
+ SetSettingIfFlagSet(FLAG_ed, &settings.use_ed); |
+ SetSettingIfSpecified(FLAG_ed_graph, &settings.ed_graph_output_filename); |
+ SetSettingIfFlagSet(FLAG_agc, &settings.use_agc); |
+ SetSettingIfFlagSet(FLAG_agc2, &settings.use_agc2); |
+ SetSettingIfFlagSet(FLAG_hpf, &settings.use_hpf); |
+ SetSettingIfFlagSet(FLAG_ns, &settings.use_ns); |
+ SetSettingIfFlagSet(FLAG_ts, &settings.use_ts); |
+ SetSettingIfFlagSet(FLAG_bf, &settings.use_bf); |
+ SetSettingIfFlagSet(FLAG_ie, &settings.use_ie); |
+ SetSettingIfFlagSet(FLAG_vad, &settings.use_vad); |
+ SetSettingIfFlagSet(FLAG_le, &settings.use_le); |
+ SetSettingIfSpecified(FLAG_aec_suppression_level, |
&settings.aec_suppression_level); |
- SetSettingIfFlagSet(FLAGS_delay_agnostic, &settings.use_delay_agnostic); |
- SetSettingIfFlagSet(FLAGS_extended_filter, &settings.use_extended_filter); |
- SetSettingIfFlagSet(FLAGS_drift_compensation, |
+ SetSettingIfFlagSet(FLAG_delay_agnostic, &settings.use_delay_agnostic); |
+ SetSettingIfFlagSet(FLAG_extended_filter, &settings.use_extended_filter); |
+ SetSettingIfFlagSet(FLAG_drift_compensation, |
&settings.use_drift_compensation); |
- SetSettingIfFlagSet(FLAGS_refined_adaptive_filter, |
+ SetSettingIfFlagSet(FLAG_refined_adaptive_filter, |
&settings.use_refined_adaptive_filter); |
- SetSettingIfFlagSet(FLAGS_aec3, &settings.use_aec3); |
- SetSettingIfFlagSet(FLAGS_lc, &settings.use_lc); |
- SetSettingIfFlagSet(FLAGS_experimental_agc, &settings.use_experimental_agc); |
- SetSettingIfSpecified(FLAGS_aecm_routing_mode, &settings.aecm_routing_mode); |
- SetSettingIfFlagSet(FLAGS_aecm_comfort_noise, |
+ SetSettingIfFlagSet(FLAG_aec3, &settings.use_aec3); |
+ SetSettingIfFlagSet(FLAG_lc, &settings.use_lc); |
+ SetSettingIfFlagSet(FLAG_experimental_agc, &settings.use_experimental_agc); |
+ SetSettingIfSpecified(FLAG_aecm_routing_mode, &settings.aecm_routing_mode); |
+ SetSettingIfFlagSet(FLAG_aecm_comfort_noise, |
&settings.use_aecm_comfort_noise); |
- SetSettingIfSpecified(FLAGS_agc_mode, &settings.agc_mode); |
- SetSettingIfSpecified(FLAGS_agc_target_level, &settings.agc_target_level); |
- SetSettingIfFlagSet(FLAGS_agc_limiter, &settings.use_agc_limiter); |
- SetSettingIfSpecified(FLAGS_agc_compression_gain, |
+ SetSettingIfSpecified(FLAG_agc_mode, &settings.agc_mode); |
+ SetSettingIfSpecified(FLAG_agc_target_level, &settings.agc_target_level); |
+ SetSettingIfFlagSet(FLAG_agc_limiter, &settings.use_agc_limiter); |
+ SetSettingIfSpecified(FLAG_agc_compression_gain, |
&settings.agc_compression_gain); |
- SetSettingIfSpecified(FLAGS_vad_likelihood, &settings.vad_likelihood); |
- SetSettingIfSpecified(FLAGS_ns_level, &settings.ns_level); |
- SetSettingIfSpecified(FLAGS_stream_delay, &settings.stream_delay); |
- SetSettingIfSpecified(FLAGS_stream_drift_samples, |
+ SetSettingIfSpecified(FLAG_vad_likelihood, &settings.vad_likelihood); |
+ SetSettingIfSpecified(FLAG_ns_level, &settings.ns_level); |
+ SetSettingIfSpecified(FLAG_stream_delay, &settings.stream_delay); |
+ SetSettingIfSpecified(FLAG_stream_drift_samples, |
&settings.stream_drift_samples); |
- SetSettingIfSpecified(FLAGS_custom_call_order_file, |
+ SetSettingIfSpecified(FLAG_custom_call_order_file, |
&settings.custom_call_order_filename); |
- settings.report_performance = FLAGS_performance_report; |
- settings.use_verbose_logging = FLAGS_verbose; |
- settings.report_bitexactness = FLAGS_bitexactness_report; |
- settings.discard_all_settings_in_aecdump = FLAGS_discard_settings_in_aecdump; |
- settings.fixed_interface = FLAGS_fixed_interface; |
- settings.store_intermediate_output = FLAGS_store_intermediate_output; |
+ settings.report_performance = FLAG_performance_report; |
+ settings.use_verbose_logging = FLAG_verbose; |
+ settings.report_bitexactness = FLAG_bitexactness_report; |
+ settings.discard_all_settings_in_aecdump = FLAG_discard_settings_in_aecdump; |
+ settings.fixed_interface = FLAG_fixed_interface; |
+ settings.store_intermediate_output = FLAG_store_intermediate_output; |
return settings; |
} |
@@ -422,8 +423,15 @@ void PerformBasicParameterSanityChecks(const SimulationSettings& settings) { |
} // namespace |
int main(int argc, char* argv[]) { |
- google::SetUsageMessage(kUsageDescription); |
- google::ParseCommandLineFlags(&argc, &argv, true); |
+ if (rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, true) || |
+ FLAG_help || argc != 1) { |
+ printf("%s", kUsageDescription); |
+ if (FLAG_help) { |
+ rtc::FlagList::Print(nullptr, false); |
+ return 0; |
+ } |
+ return 1; |
+ } |
SimulationSettings settings = CreateSettings(); |
PerformBasicParameterSanityChecks(settings); |