Index: webrtc/tools/agc/activity_metric.cc |
diff --git a/webrtc/tools/agc/activity_metric.cc b/webrtc/tools/agc/activity_metric.cc |
index a98730a3422bd1c3966f9bae0da7237a188eee7a..599777c3be81d757c145e559a3fa3ac1cb9e0ea9 100644 |
--- a/webrtc/tools/agc/activity_metric.cc |
+++ b/webrtc/tools/agc/activity_metric.cc |
@@ -16,7 +16,7 @@ |
#include <algorithm> |
#include <memory> |
-#include "gflags/gflags.h" |
+#include "webrtc/base/flags.h" |
#include "webrtc/modules/audio_processing/agc/agc.h" |
#include "webrtc/modules/audio_processing/agc/loudness_histogram.h" |
#include "webrtc/modules/audio_processing/agc/utility.h" |
@@ -28,7 +28,7 @@ |
#include "webrtc/test/gtest.h" |
static const int kAgcAnalWindowSamples = 100; |
-static const double kDefaultActivityThreshold = 0.3; |
+static const float kDefaultActivityThreshold = 0.3f; |
DEFINE_bool(standalone_vad, true, "enable stand-alone VAD"); |
DEFINE_string(true_vad, "", "name of a file containing true VAD in 'int'" |
@@ -44,8 +44,9 @@ DEFINE_string(result, "", "name of a file to write the results. The results" |
" will be appended to the end of the file. This is optional."); |
DEFINE_string(audio_content, "", "name of a file where audio content is written" |
" to, in double format."); |
-DEFINE_double(activity_threshold, kDefaultActivityThreshold, |
+DEFINE_float(activity_threshold, kDefaultActivityThreshold, |
"Activity threshold"); |
+DEFINE_bool(help, false, "prints this message"); |
namespace webrtc { |
@@ -105,13 +106,13 @@ class AgcStat { |
AudioFeatures features; |
audio_processing_->ExtractFeatures( |
frame.data_, frame.samples_per_channel_, &features); |
- if (FLAGS_standalone_vad) { |
+ if (FLAG_standalone_vad) { |
standalone_vad_->AddAudio(frame.data_, |
frame.samples_per_channel_); |
} |
if (features.num_frames > 0) { |
double p[kMaxNumFrames] = {0.5, 0.5, 0.5, 0.5}; |
- if (FLAGS_standalone_vad) { |
+ if (FLAG_standalone_vad) { |
standalone_vad_->GetActivity(p, kMaxNumFrames); |
} |
// TODO(turajs) combining and limiting are used in the source files as |
@@ -175,20 +176,20 @@ void void_main(int argc, char* argv[]) { |
} |
FILE* true_vad_fid = NULL; |
- ASSERT_GT(FLAGS_true_vad.size(), 0u) << "Specify the file containing true " |
+ ASSERT_GT(strlen(FLAG_true_vad), 0u) << "Specify the file containing true " |
"VADs using --true_vad flag."; |
- true_vad_fid = fopen(FLAGS_true_vad.c_str(), "rb"); |
+ true_vad_fid = fopen(FLAG_true_vad, "rb"); |
ASSERT_TRUE(true_vad_fid != NULL) << "Cannot open the active list " << |
- FLAGS_true_vad; |
+ FLAG_true_vad; |
FILE* results_fid = NULL; |
- if (FLAGS_result.size() > 0) { |
+ if (strlen(FLAG_result) > 0) { |
// True if this is the first time writing to this function and we add a |
// header to the beginning of the file. |
bool write_header; |
// Open in the read mode. If it fails, the file doesn't exist and has to |
// write a header for it. Otherwise no need to write a header. |
- results_fid = fopen(FLAGS_result.c_str(), "r"); |
+ results_fid = fopen(FLAG_result, "r"); |
if (results_fid == NULL) { |
write_header = true; |
} else { |
@@ -196,9 +197,9 @@ void void_main(int argc, char* argv[]) { |
write_header = false; |
} |
// Open in append mode. |
- results_fid = fopen(FLAGS_result.c_str(), "a"); |
+ results_fid = fopen(FLAG_result, "a"); |
ASSERT_TRUE(results_fid != NULL) << "Cannot open the file, " << |
- FLAGS_result << ", to write the results."; |
+ FLAG_result << ", to write the results."; |
// Write the header if required. |
if (write_header) { |
fprintf(results_fid, "%% Total Active, Misdetection, " |
@@ -208,19 +209,19 @@ void void_main(int argc, char* argv[]) { |
} |
FILE* video_vad_fid = NULL; |
- if (FLAGS_video_vad.size() > 0) { |
- video_vad_fid = fopen(FLAGS_video_vad.c_str(), "rb"); |
+ if (strlen(FLAG_video_vad) > 0) { |
+ video_vad_fid = fopen(FLAG_video_vad, "rb"); |
ASSERT_TRUE(video_vad_fid != NULL) << "Cannot open the file, " << |
- FLAGS_video_vad << " to read video-based VAD decisions.\n"; |
+ FLAG_video_vad << " to read video-based VAD decisions.\n"; |
} |
// AgsStat will be the owner of this file and will close it at its |
// destructor. |
FILE* audio_content_fid = NULL; |
- if (FLAGS_audio_content.size() > 0) { |
- audio_content_fid = fopen(FLAGS_audio_content.c_str(), "wb"); |
+ if (strlen(FLAG_audio_content) > 0) { |
+ audio_content_fid = fopen(FLAG_audio_content, "wb"); |
ASSERT_TRUE(audio_content_fid != NULL) << "Cannot open file, " << |
- FLAGS_audio_content << " to write audio-content.\n"; |
+ FLAG_audio_content << " to write audio-content.\n"; |
agc_stat.set_audio_content_file(audio_content_fid); |
} |
@@ -231,7 +232,7 @@ void void_main(int argc, char* argv[]) { |
const size_t kSamplesToRead = frame.num_channels_ * |
frame.samples_per_channel_; |
- agc_stat.SetActivityThreshold(FLAGS_activity_threshold); |
+ agc_stat.SetActivityThreshold(FLAG_activity_threshold); |
int ret_val = 0; |
int num_frames = 0; |
@@ -369,17 +370,25 @@ void void_main(int argc, char* argv[]) { |
} // namespace webrtc |
int main(int argc, char* argv[]) { |
- char kUsage[] = |
+ if (argc == 1) { |
+ // Print usage information. |
+ std::cout << |
"\nCompute the number of misdetected and false-positive frames. Not\n" |
" that for each frame of audio (10 ms) there should be one true\n" |
" activity. If any video-based activity is given, there should also be\n" |
" one probability per frame.\n" |
+ "Run with --help for more details on available flags.\n" |
"\nUsage:\n\n" |
"activity_metric input_pcm [options]\n" |
"where 'input_pcm' is the input audio sampled at 16 kHz in 16 bits " |
"format.\n\n"; |
- google::SetUsageMessage(kUsage); |
- google::ParseCommandLineFlags(&argc, &argv, true); |
+ return 0; |
+ } |
+ rtc::FlagList::SetFlagsFromCommandLine(&argc, argv, true); |
+ if (FLAG_help) { |
+ rtc::FlagList::Print(nullptr, false); |
+ return 0; |
+ } |
webrtc::void_main(argc, argv); |
return 0; |
} |