Add AV1 screencast perf test
Bug: b/348784414
Change-Id: If1b3bf2439280eba65cf66cc3699e11a0ef412f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/355300
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42524}
diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc
index b533c7b..aafae05 100644
--- a/video/full_stack_tests.cc
+++ b/video/full_stack_tests.cc
@@ -698,6 +698,57 @@
fixture->RunWithAnalyzer(conf_motion_hd);
}
+TEST(FullStackTest, Screenshare_Slides_Simulcast_AV1) {
+ auto fixture = CreateVideoQualityTestFixture();
+ ParamsWithLogging screenshare;
+ screenshare.analyzer = {.test_label = "screenshare_slides_simulcast_AV1",
+ .test_durations_secs = kFullStackTestDurationSecs};
+ screenshare.call.send_side_bwe = true;
+ screenshare.screenshare[0] = {.enabled = true};
+ screenshare.video[0] = {.enabled = true,
+ .width = 1850,
+ .height = 1110,
+ .fps = 30,
+ .min_bitrate_bps = 0,
+ .target_bitrate_bps = 0,
+ .max_bitrate_bps = 2500000,
+ .codec = "AV1",
+ .num_temporal_layers = 2};
+
+ // Set `min_bitrate_bps` and `target_bitrate_bps` to zero to use WebRTC
+ // defaults.
+ VideoQualityTest::Params screenshare_params_low;
+ screenshare_params_low.video[0] = {.enabled = true,
+ .width = 1850,
+ .height = 1110,
+ .fps = 5,
+ .min_bitrate_bps = 0,
+ .target_bitrate_bps = 0,
+ .max_bitrate_bps = 420'000,
+ .codec = "AV1",
+ .num_temporal_layers = 2};
+
+ VideoQualityTest::Params screenshare_params_high;
+ screenshare_params_high.video[0] = {.enabled = true,
+ .width = 1850,
+ .height = 1110,
+ .fps = 30,
+ .min_bitrate_bps = 0,
+ .target_bitrate_bps = 0,
+ .max_bitrate_bps = 2'500'000,
+ .codec = "AV1",
+ .num_temporal_layers = 2};
+
+ std::vector<VideoStream> streams = {
+ VideoQualityTest::DefaultVideoStream(screenshare_params_low, 0),
+ VideoQualityTest::DefaultVideoStream(screenshare_params_high, 0)};
+ screenshare.ss[0] = {
+ .streams = streams,
+ .selected_stream = 1,
+ };
+ fixture->RunWithAnalyzer(screenshare);
+}
+
#if defined(RTC_ENABLE_VP9)
TEST(FullStackTest, Conference_Motion_Hd_2000kbps_100ms_32pkts_Queue_Vp9) {
auto fixture = CreateVideoQualityTestFixture();