| Index: webrtc/video/video_quality_test.cc
|
| diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
|
| index b0d82b83ed66b4f82bcf93fa6d332a9858adb800..6ad64bc33f601de042309c8c869626d2f700a716 100644
|
| --- a/webrtc/video/video_quality_test.cc
|
| +++ b/webrtc/video/video_quality_test.cc
|
| @@ -33,12 +33,9 @@
|
| #include "webrtc/rtc_base/checks.h"
|
| #include "webrtc/rtc_base/cpu_time.h"
|
| #include "webrtc/rtc_base/event.h"
|
| -#include "webrtc/rtc_base/flags.h"
|
| #include "webrtc/rtc_base/format_macros.h"
|
| -#include "webrtc/rtc_base/logging.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"
|
| @@ -49,17 +46,11 @@
|
| #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"
|
|
|
| #include "webrtc/test/rtp_file_writer.h"
|
| -
|
| -DEFINE_bool(save_worst_frame,
|
| - false,
|
| - "Enable saving a frame with the lowest PSNR to a jpeg file in the "
|
| - "test_output_dir");
|
|
|
| namespace {
|
|
|
| @@ -833,21 +824,27 @@
|
| // will be flaky.
|
| PrintResult("memory_usage", memory_usage_, " bytes");
|
| #endif
|
| -
|
| - // LibJpeg is not available on iOS.
|
| -#if !defined(WEBRTC_IOS)
|
| - // Saving only the worst frame for manual analysis. Intention here is to
|
| - // only detect video corruptions and not to track picture quality. Thus,
|
| - // jpeg is used here.
|
| - if (FLAG_save_worst_frame && worst_frame_) {
|
| - std::string output_dir;
|
| - test::GetTestOutputDir(&output_dir);
|
| - std::string output_path =
|
| - rtc::Pathname(output_dir, test_label_ + ".jpg").pathname();
|
| - LOG(LS_INFO) << "Saving worst frame to " << output_path;
|
| - test::JpegFrameWriter frame_writer(output_path);
|
| - RTC_CHECK(frame_writer.WriteFrame(worst_frame_->frame,
|
| - 100 /*best quality*/));
|
| + // TODO(ilnik): enable frame writing for android, once jpeg frame writer
|
| + // is implemented.
|
| +
|
| +#if !defined(WEBRTC_ANDROID)
|
| + if (worst_frame_) {
|
| + 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());
|
| + RTC_DCHECK(res);
|
| + frame_writer.Close();
|
| }
|
| #endif
|
|
|
|
|