Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2056)

Unified Diff: chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc

Issue 23946005: Remove old perf format conversion functions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc
diff --git a/chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc b/chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc
index c749b9cc009b5f761e0c93001227eaea6846599c..c9bf47c86c20bfed4235d202a9190a51c13a0292 100644
--- a/chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc
+++ b/chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc
@@ -264,13 +264,12 @@ class WebrtcVideoQualityBrowserTest : public WebRtcTestBase {
// into every frame of the video (produced by rgba_to_i420_converter). It
// produces a set of PNG images and a |stats_file| that maps each captured
// frame to a frame in the reference video. The frames should be of size
- // |width| x |height|. The output of compare_videos.py is returned.
+ // |width| x |height|.
phoglund_chromium 2013/09/12 07:32:10 Add a comment which describes how the output gets
kjellander_chromium 2013/09/12 09:02:36 I agree with both, updated.
bool CompareVideos(int width,
int height,
const base::FilePath& captured_video_filename,
const base::FilePath& reference_video_filename,
- const base::FilePath& stats_file,
- std::string* result) {
+ const base::FilePath& stats_file) {
base::FilePath path_to_analyzer = base::MakeAbsoluteFilePath(
GetBrowserDir().Append(kFrameAnalyzerExecutable));
@@ -294,6 +293,7 @@ class WebrtcVideoQualityBrowserTest : public WebRtcTestBase {
EXPECT_TRUE(GetPythonCommand(&compare_command));
compare_command.AppendArgPath(path_to_compare_script);
+ compare_command.AppendArg("--label=VGA");
kjellander_chromium 2013/09/11 15:30:58 This is a new argument for the script, preparing f
compare_command.AppendArg("--ref_video");
compare_command.AppendArgPath(reference_video_filename);
compare_command.AppendArg("--test_video");
@@ -308,89 +308,12 @@ class WebrtcVideoQualityBrowserTest : public WebRtcTestBase {
compare_command.AppendArgPath(stats_file);
LOG(INFO) << "Running " << compare_command.GetCommandLineString();
- bool ok = base::GetAppOutput(compare_command, result);
- LOG(INFO) << "Output was:\n\n" << *result;
+ std::string output;
+ bool ok = base::GetAppOutput(compare_command, &output);
+ LOG(INFO) << "Output was:\n\n" << output;
phoglund_chromium 2013/09/12 07:32:10 Ok, so this LOG(INFO) is what really prints the ou
kjellander_chromium 2013/09/12 09:02:36 Right, there's a ton of other stuff printed before
return ok;
}
- // Processes the |frame_analyzer_output| for the different frame counts.
- //
- // The frame analyzer outputs additional information about the number of
- // unique frames captured, The max number of repeated frames in a sequence and
- // the max number of skipped frames. These values are then written to the Perf
- // Graph. (Note: Some of the repeated or skipped frames will probably be due
- // to the imperfection of JavaScript timers).
- void PrintFramesCountPerfResults(std::string frame_analyzer_output) {
- size_t unique_frames_pos =
- frame_analyzer_output.rfind("Unique_frames_count");
- EXPECT_NE(unique_frames_pos, std::string::npos)
- << "Missing Unique_frames_count in frame analyzer output:\n"
- << frame_analyzer_output;
-
- std::string unique_frame_counts =
- frame_analyzer_output.substr(unique_frames_pos);
- // TODO(phoglund): Fix ESTATS result to not have this silly newline.
- std::replace(
- unique_frame_counts.begin(), unique_frame_counts.end(), '\n', ' ');
-
- std::vector<std::pair<std::string, std::string> > key_values;
- base::SplitStringIntoKeyValuePairs(
- unique_frame_counts, ':', ' ', &key_values);
- std::vector<std::pair<std::string, std::string> >::const_iterator iter;
- for (iter = key_values.begin(); iter != key_values.end(); ++iter) {
- const std::pair<std::string, std::string>& key_value = *iter;
- perf_test::PrintResult(
- key_value.first, "", "VGA", key_value.second, "", false);
- }
- }
-
- // Processes the |frame_analyzer_output| to extract the PSNR and SSIM values.
- //
- // The frame analyzer produces PSNR and SSIM results for every unique frame
- // that has been captured. This method forms a list of all the psnr and ssim
- // values and passes it to PrintResultList() for printing on the Perf Graph.
- void PrintPsnrAndSsimPerfResults(std::string frame_analyzer_output) {
- size_t stats_start = frame_analyzer_output.find("BSTATS");
- EXPECT_NE(stats_start, std::string::npos)
- << "Missing BSTATS in frame analyzer output:\n"
- << frame_analyzer_output;
- size_t stats_end = frame_analyzer_output.find("ESTATS");
- EXPECT_NE(stats_end, std::string::npos)
- << "Missing ESTATS in frame analyzer output:\n"
- << frame_analyzer_output;
-
- stats_start += std::string("BSTATS").size();
- std::string psnr_ssim_stats =
- frame_analyzer_output.substr(stats_start, stats_end - stats_start);
-
- // PSNR and SSIM values aren't really key-value pairs but it is convenient
- // to parse them as such.
- // TODO(phoglund): make the format more convenient so we need less
- // processing here.
- std::vector<std::pair<std::string, std::string> > psnr_ssim_entries;
- base::SplitStringIntoKeyValuePairs(
- psnr_ssim_stats, ' ', ';', &psnr_ssim_entries);
-
- std::string psnr_value_list;
- std::string ssim_value_list;
- std::vector<std::pair<std::string, std::string> >::const_iterator iter;
- for (iter = psnr_ssim_entries.begin(); iter != psnr_ssim_entries.end();
- ++iter) {
- const std::pair<std::string, std::string>& psnr_and_ssim = *iter;
- psnr_value_list.append(psnr_and_ssim.first).append(",");
- ssim_value_list.append(psnr_and_ssim.second).append(",");
- }
-
- // Nuke last comma.
- ASSERT_GT(psnr_value_list.size(), 0u) << "Received no valid PSNR values.";
- ASSERT_GT(ssim_value_list.size(), 0u) << "Received no valid SSIM values.";
- psnr_value_list.erase(psnr_value_list.size() - 1);
- ssim_value_list.erase(ssim_value_list.size() - 1);
-
- perf_test::PrintResultList("PSNR", "", "VGA", psnr_value_list, "dB", false);
- perf_test::PrintResultList("SSIM", "", "VGA", ssim_value_list, "", false);
- }
-
base::FilePath GetWorkingDir() {
std::string home_dir;
environment_->GetVar(kHomeEnvName, &home_dir);
@@ -467,17 +390,12 @@ IN_PROC_BROWSER_TEST_F(WebrtcVideoQualityBrowserTest,
RunARGBtoI420Converter(
kVgaWidth, kVgaHeight, GetWorkingDir().Append(kCapturedYuvFileName));
- std::string output;
ASSERT_TRUE(
CompareVideos(kVgaWidth,
kVgaHeight,
GetWorkingDir().Append(kCapturedYuvFileName),
GetWorkingDir().Append(kReferenceYuvFileName),
- GetWorkingDir().Append(kStatsFileName),
- &output));
-
- PrintFramesCountPerfResults(output);
- PrintPsnrAndSsimPerfResults(output);
+ GetWorkingDir().Append(kStatsFileName)));
ASSERT_TRUE(peerconnection_server_.Stop());
ASSERT_TRUE(ShutdownPyWebSocketServer());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698