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

Unified Diff: webrtc/video/video_quality_test.cc

Issue 2990563002: Add Jpeg frame writer for test support. (Closed)
Patch Set: Improved jpeg quality Created 3 years, 5 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
« webrtc/test/testsupport/test_output.cc ('K') | « webrtc/video/BUILD.gn ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/video_quality_test.cc
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
index aa5ff7121d9359e378cace1941a080e480a6a2d1..3f36ea6a019cff33ac72e98ab512d8e46c8f5575 100644
--- a/webrtc/video/video_quality_test.cc
+++ b/webrtc/video/video_quality_test.cc
@@ -36,6 +36,7 @@
#include "webrtc/rtc_base/format_macros.h"
#include "webrtc/rtc_base/memory_usage.h"
#include "webrtc/rtc_base/optional.h"
+#include "webrtc/rtc_base/pathutils.h"
#include "webrtc/rtc_base/platform_file.h"
#include "webrtc/rtc_base/timeutils.h"
#include "webrtc/system_wrappers/include/cpu_info.h"
@@ -46,6 +47,7 @@
#include "webrtc/test/statistics.h"
#include "webrtc/test/testsupport/fileutils.h"
#include "webrtc/test/testsupport/frame_writer.h"
+#include "webrtc/test/testsupport/test_output.h"
#include "webrtc/test/vcm_capturer.h"
#include "webrtc/test/video_renderer.h"
#include "webrtc/voice_engine/include/voe_base.h"
@@ -824,27 +826,21 @@ class VideoAnalyzer : public PacketReceiver,
// will be flaky.
PrintResult("memory_usage", memory_usage_, " bytes");
#endif
- // TODO(ilnik): enable frame writing for android, once jpeg frame writer
- // is implemented.
-#if !defined(WEBRTC_ANDROID)
+ // LibJpeg is not available on iOS.
+#if !defined(WEBRTC_IOS)
if (worst_frame_) {
pbos-webrtc 2017/07/26 18:48:03 Put a comment here saying why we try to save the w
ilnik 2017/08/17 11:35:07 Done.
- test::Y4mFrameWriterImpl frame_writer(test_label_ + ".y4m",
- worst_frame_->frame.width(),
- worst_frame_->frame.height(), 1);
- bool res = frame_writer.Init();
- RTC_DCHECK(res);
- size_t length =
- CalcBufferSize(VideoType::kI420, worst_frame_->frame.width(),
- worst_frame_->frame.height());
- rtc::Buffer extracted_buffer(length);
- size_t extracted_length =
- ExtractBuffer(worst_frame_->frame.video_frame_buffer()->ToI420(),
- length, extracted_buffer.data());
- RTC_DCHECK_EQ(extracted_length, frame_writer.FrameLength());
- res = frame_writer.WriteFrame(extracted_buffer.data());
+ std::string output_dir;
+ bool res = test::GetTestOutputDir(&output_dir);
+ if (!res) {
+ output_dir = "";
pbos-webrtc 2017/07/26 18:48:03 if (!test::GetTestOutputDir(&output_dir)) { } No
ilnik 2017/08/17 11:35:07 Done.
+ }
+ std::string output_path =
+ rtc::Pathname(output_dir, test_label_ + ".jpg").pathname();
+ fprintf(stderr, "Saving worst frame to %s\n", output_path.c_str());
+ test::JpegFrameWriter frame_writer(output_path);
+ res = frame_writer.WriteFrame(worst_frame_->frame, 100 /*quality*/);
RTC_DCHECK(res);
pbos-webrtc 2017/07/26 18:48:03 RTC_CHECK(frame_writer.WriteFrame(...)); And remo
ilnik 2017/08/17 11:35:07 Done.
- frame_writer.Close();
}
#endif
« webrtc/test/testsupport/test_output.cc ('K') | « webrtc/video/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698