From 26d3e569be9604ae5fb0f47884fda701dd8479bb Mon Sep 17 00:00:00 2001 From: Sergey Silkin Date: Sat, 22 Jun 2024 13:39:49 +0200 Subject: [PATCH] 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 Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#42524} --- video/full_stack_tests.cc | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc index b533c7b608..aafae05159 100644 --- a/video/full_stack_tests.cc +++ b/video/full_stack_tests.cc @@ -698,6 +698,57 @@ TEST(FullStackTest, Conference_Motion_Hd_3tl_AV1) { 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 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();