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

Unified Diff: webrtc/video/video_quality_test.cc

Issue 3003193002: Add a new frame generator that cycles through randomly generated slides. (Closed)
Patch Set: Patchset 3C. Created 3 years, 4 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
Index: webrtc/video/video_quality_test.cc
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc
index 81e732c8ba97e5c796e11f14af055022c4e6a25e..425ce1a890bc3419610f282a7ca26a0e823e9133 100644
--- a/webrtc/video/video_quality_test.cc
+++ b/webrtc/video/video_quality_test.cc
@@ -1173,7 +1173,7 @@ VideoQualityTest::Params::Params()
video({false, 640, 480, 30, 50, 800, 800, false, "VP8", 1, -1, 0, false,
false, ""}),
audio({false, false, false}),
- screenshare({false, 10, 0}),
+ screenshare({false, false, 10, 0}),
analyzer({"", 0.0, 0.0, 0, "", ""}),
pipe(),
ss({std::vector<VideoStream>(), 0, 0, -1, std::vector<SpatialLayer>()}),
@@ -1684,32 +1684,41 @@ void VideoQualityTest::SetupScreenshareOrSVC() {
// Setup frame generator.
const size_t kWidth = 1850;
const size_t kHeight = 1110;
- std::vector<std::string> slides = params_.screenshare.slides;
- if (slides.size() == 0) {
- slides.push_back(test::ResourcePath("web_screenshot_1850_1110", "yuv"));
- slides.push_back(test::ResourcePath("presentation_1850_1110", "yuv"));
- slides.push_back(test::ResourcePath("photo_1850_1110", "yuv"));
- slides.push_back(test::ResourcePath("difficult_photo_1850_1110", "yuv"));
- }
- if (params_.screenshare.scroll_duration == 0) {
- // Cycle image every slide_change_interval seconds.
- frame_generator_ = test::FrameGenerator::CreateFromYuvFile(
- slides, kWidth, kHeight,
+ if (params_.screenshare.generate_slides) {
+ frame_generator_ = test::FrameGenerator::CreateSlideGenerator(
+ kWidth, kHeight,
params_.screenshare.slide_change_interval * params_.video.fps);
} else {
- RTC_CHECK_LE(params_.video.width, kWidth);
- RTC_CHECK_LE(params_.video.height, kHeight);
- RTC_CHECK_GT(params_.screenshare.slide_change_interval, 0);
- const int kPauseDurationMs = (params_.screenshare.slide_change_interval -
- params_.screenshare.scroll_duration) *
- 1000;
- RTC_CHECK_LE(params_.screenshare.scroll_duration,
- params_.screenshare.slide_change_interval);
-
- frame_generator_ = test::FrameGenerator::CreateScrollingInputFromYuvFiles(
- clock_, slides, kWidth, kHeight, params_.video.width,
- params_.video.height, params_.screenshare.scroll_duration * 1000,
- kPauseDurationMs);
+ std::vector<std::string> slides = params_.screenshare.slides;
+ if (slides.size() == 0) {
+ slides.push_back(test::ResourcePath("web_screenshot_1850_1110", "yuv"));
+ slides.push_back(test::ResourcePath("presentation_1850_1110", "yuv"));
+ slides.push_back(test::ResourcePath("photo_1850_1110", "yuv"));
+ slides.push_back(
+ test::ResourcePath("difficult_photo_1850_1110", "yuv"));
+ }
+ if (params_.screenshare.scroll_duration == 0) {
+ // Cycle image every slide_change_interval seconds.
+ frame_generator_ = test::FrameGenerator::CreateFromYuvFile(
+ slides, kWidth, kHeight,
+ params_.screenshare.slide_change_interval * params_.video.fps);
+ } else {
+ RTC_CHECK_LE(params_.video.width, kWidth);
+ RTC_CHECK_LE(params_.video.height, kHeight);
+ RTC_CHECK_GT(params_.screenshare.slide_change_interval, 0);
+ const int kPauseDurationMs =
+ (params_.screenshare.slide_change_interval -
+ params_.screenshare.scroll_duration) *
+ 1000;
+ RTC_CHECK_LE(params_.screenshare.scroll_duration,
+ params_.screenshare.slide_change_interval);
+
+ frame_generator_ =
+ test::FrameGenerator::CreateScrollingInputFromYuvFiles(
+ clock_, slides, kWidth, kHeight, params_.video.width,
+ params_.video.height,
+ params_.screenshare.scroll_duration * 1000, kPauseDurationMs);
+ }
}
} else if (params_.ss.num_spatial_layers > 1) { // For non-screenshare case.
RTC_CHECK(params_.video.codec == "VP9");
« webrtc/test/frame_generator_capturer.cc ('K') | « webrtc/video/video_quality_test.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698