Simplify creation of SvcTestParameters in pc/test/svc_e2e_tests.cc
No functional changes are intended.
Bug: None
Change-Id: I361b04da5ed22e12951d8bcc1d16e4e4d00985d6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/275901
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Daniel.L (Byoungchan) Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/main@{#38139}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 4962e75..9d31258 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -2711,6 +2711,7 @@
"../api/video_codecs:video_codecs_api",
"../call:simulated_network",
"../modules/video_coding:webrtc_vp9",
+ "../modules/video_coding/svc:scalability_mode_util",
"../rtc_base/containers:flat_map",
"../system_wrappers:field_trial",
"../test:field_trial",
diff --git a/pc/test/svc_e2e_tests.cc b/pc/test/svc_e2e_tests.cc
index 6948ab3..4e15c6c 100644
--- a/pc/test/svc_e2e_tests.cc
+++ b/pc/test/svc_e2e_tests.cc
@@ -24,6 +24,7 @@
#include "api/video_codecs/vp9_profile.h"
#include "call/simulated_network.h"
#include "modules/video_coding/codecs/vp9/include/vp9.h"
+#include "modules/video_coding/svc/scalability_mode_util.h"
#include "rtc_base/containers/flat_map.h"
#include "system_wrappers/include/field_trial.h"
#include "test/field_trial.h"
@@ -109,6 +110,22 @@
};
struct SvcTestParameters {
+ static SvcTestParameters Create(const std::string& codec_name,
+ const std::string& scalability_mode_str) {
+ absl::optional<ScalabilityMode> scalability_mode =
+ ScalabilityModeFromString(scalability_mode_str);
+ RTC_CHECK(scalability_mode.has_value())
+ << "Unsupported scalability mode: " << scalability_mode_str;
+
+ int num_spatial_layers =
+ ScalabilityModeToNumSpatialLayers(*scalability_mode);
+ int num_temporal_layers =
+ ScalabilityModeToNumTemporalLayers(*scalability_mode);
+
+ return SvcTestParameters{codec_name, scalability_mode_str,
+ num_spatial_layers, num_temporal_layers};
+ }
+
std::string codec_name;
std::string scalability_mode;
int expected_spatial_layers;
@@ -305,9 +322,9 @@
INSTANTIATE_TEST_SUITE_P(
SvcTestVP8,
SvcTest,
- Combine(Values(SvcTestParameters{kVp8CodecName, "L1T1", 1, 1},
- SvcTestParameters{kVp8CodecName, "L1T2", 1, 2},
- SvcTestParameters{kVp8CodecName, "L1T3", 1, 3}),
+ Combine(Values(SvcTestParameters::Create(kVp8CodecName, "L1T1"),
+ SvcTestParameters::Create(kVp8CodecName, "L1T2"),
+ SvcTestParameters::Create(kVp8CodecName, "L1T3")),
Values(UseDependencyDescriptor::Disabled,
UseDependencyDescriptor::Enabled)),
SvcTestNameGenerator);
@@ -317,9 +334,9 @@
SvcTestH264,
SvcTest,
Combine(ValuesIn({
- SvcTestParameters{kH264CodecName, "L1T1", 1, 1},
- // SvcTestParameters{kH264CodecName, "L1T2", 1, 2},
- // SvcTestParameters{kH264CodecName, "L1T3", 1, 3},
+ SvcTestParameters::Create(kH264CodecName, "L1T1"),
+ // SSvcTestParameters::Create(kH264CodecName, "L1T2"),
+ // SSvcTestParameters::Create(kH264CodecName, "L1T3"),
}),
Values(UseDependencyDescriptor::Disabled,
UseDependencyDescriptor::Enabled)),
@@ -333,43 +350,43 @@
Combine(
// TODO(bugs.webrtc.org/13960): Fix and enable remaining VP9 modes
ValuesIn({
- SvcTestParameters{kVp9CodecName, "L1T1", 1, 1},
- SvcTestParameters{kVp9CodecName, "L1T2", 1, 2},
- SvcTestParameters{kVp9CodecName, "L1T3", 1, 3},
- SvcTestParameters{kVp9CodecName, "L2T1", 2, 1},
- SvcTestParameters{kVp9CodecName, "L2T1h", 2, 1},
- SvcTestParameters{kVp9CodecName, "L2T1_KEY", 2, 1},
- SvcTestParameters{kVp9CodecName, "L2T2", 2, 2},
- SvcTestParameters{kVp9CodecName, "L2T2h", 2, 2},
- SvcTestParameters{kVp9CodecName, "L2T2_KEY", 2, 2},
- SvcTestParameters{kVp9CodecName, "L2T2_KEY_SHIFT", 2, 2},
- SvcTestParameters{kVp9CodecName, "L2T3", 2, 3},
- SvcTestParameters{kVp9CodecName, "L2T3h", 2, 3},
- SvcTestParameters{kVp9CodecName, "L2T3_KEY", 2, 3},
- // SvcTestParameters{kVp9CodecName, "L2T3_KEY_SHIFT", 2, 3},
- SvcTestParameters{kVp9CodecName, "L3T1", 3, 1},
- SvcTestParameters{kVp9CodecName, "L3T1h", 3, 1},
- SvcTestParameters{kVp9CodecName, "L3T1_KEY", 3, 1},
- SvcTestParameters{kVp9CodecName, "L3T2", 3, 2},
- SvcTestParameters{kVp9CodecName, "L3T2h", 3, 2},
- SvcTestParameters{kVp9CodecName, "L3T2_KEY", 3, 2},
- // SvcTestParameters{kVp9CodecName, "L3T2_KEY_SHIFT", 3, 2},
- SvcTestParameters{kVp9CodecName, "L3T3", 3, 3},
- SvcTestParameters{kVp9CodecName, "L3T3h", 3, 3},
- SvcTestParameters{kVp9CodecName, "L3T3_KEY", 3, 3},
- // SvcTestParameters{kVp9CodecName, "L3T3_KEY_SHIFT", 3, 3},
- // SvcTestParameters{kVp9CodecName, "S2T1", 2, 1},
- // SvcTestParameters{kVp9CodecName, "S2T1h", 2, 1},
- // SvcTestParameters{kVp9CodecName, "S2T2", 2, 2},
- // SvcTestParameters{kVp9CodecName, "S2T2h", 2, 2},
- SvcTestParameters{kVp9CodecName, "S2T3", 2, 3},
- // SvcTestParameters{kVp9CodecName, "S2T3h", 2, 3},
- // SvcTestParameters{kVp9CodecName, "S3T1", 3, 1},
- // SvcTestParameters{kVp9CodecName, "S3T1h", 3, 1},
- // SvcTestParameters{kVp9CodecName, "S3T2", 3, 2},
- // SvcTestParameters{kVp9CodecName, "S3T2h", 3, 2},
- // SvcTestParameters{kVp9CodecName, "S3T3", 3, 3},
- // SvcTestParameters{kVp9CodecName, "S3T3h", 3, 3},
+ SvcTestParameters::Create(kVp9CodecName, "L1T1"),
+ SvcTestParameters::Create(kVp9CodecName, "L1T2"),
+ SvcTestParameters::Create(kVp9CodecName, "L1T3"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T1"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T1h"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T1_KEY"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T2"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T2h"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T2_KEY"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T2_KEY_SHIFT"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T3"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T3h"),
+ SvcTestParameters::Create(kVp9CodecName, "L2T3_KEY"),
+ // SvcTestParameters::Create(kVp9CodecName, "L2T3_KEY_SHIFT"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T1"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T1h"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T1_KEY"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T2"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T2h"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T2_KEY"),
+ // SvcTestParameters::Create(kVp9CodecName, "L3T2_KEY_SHIFT"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T3"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T3h"),
+ SvcTestParameters::Create(kVp9CodecName, "L3T3_KEY"),
+ // SvcTestParameters::Create(kVp9CodecName, "L3T3_KEY_SHIFT"),
+ // SvcTestParameters::Create(kVp9CodecName, "S2T1"),
+ // SvcTestParameters::Create(kVp9CodecName, "S2T1h"),
+ // SvcTestParameters::Create(kVp9CodecName, "S2T2"),
+ // SvcTestParameters::Create(kVp9CodecName, "S2T2h"),
+ SvcTestParameters::Create(kVp9CodecName, "S2T3"),
+ // SvcTestParameters::Create(kVp9CodecName, "S2T3h"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T1"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T1h"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T2"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T2h"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T3"),
+ // SvcTestParameters::Create(kVp9CodecName, "S3T3h"),
}),
Values(UseDependencyDescriptor::Disabled,
UseDependencyDescriptor::Enabled)),
@@ -379,43 +396,43 @@
SvcTestAV1,
SvcTest,
Combine(ValuesIn({
- SvcTestParameters{kAv1CodecName, "L1T1", 1, 1},
- SvcTestParameters{kAv1CodecName, "L1T2", 1, 2},
- SvcTestParameters{kAv1CodecName, "L1T3", 1, 3},
- SvcTestParameters{kAv1CodecName, "L2T1", 2, 1},
- SvcTestParameters{kAv1CodecName, "L2T1h", 2, 1},
- SvcTestParameters{kAv1CodecName, "L2T1_KEY", 2, 1},
- SvcTestParameters{kAv1CodecName, "L2T2", 2, 2},
- SvcTestParameters{kAv1CodecName, "L2T2h", 2, 2},
- SvcTestParameters{kAv1CodecName, "L2T2_KEY", 2, 2},
- SvcTestParameters{kAv1CodecName, "L2T2_KEY_SHIFT", 2, 2},
- SvcTestParameters{kAv1CodecName, "L2T3", 2, 3},
- SvcTestParameters{kAv1CodecName, "L2T3h", 2, 3},
- SvcTestParameters{kAv1CodecName, "L2T3_KEY", 2, 3},
- // SvcTestParameters{kAv1CodecName, "L2T3_KEY_SHIFT", 2, 3},
- SvcTestParameters{kAv1CodecName, "L3T1", 3, 1},
- SvcTestParameters{kAv1CodecName, "L3T1h", 3, 1},
- SvcTestParameters{kAv1CodecName, "L3T1_KEY", 3, 1},
- SvcTestParameters{kAv1CodecName, "L3T2", 3, 2},
- SvcTestParameters{kAv1CodecName, "L3T2h", 3, 2},
- SvcTestParameters{kAv1CodecName, "L3T2_KEY", 3, 2},
- // SvcTestParameters{kAv1CodecName, "L3T2_KEY_SHIFT", 3, 2},
- SvcTestParameters{kAv1CodecName, "L3T3", 3, 3},
- SvcTestParameters{kAv1CodecName, "L3T3h", 3, 3},
- SvcTestParameters{kAv1CodecName, "L3T3_KEY", 3, 3},
- // SvcTestParameters{kAv1CodecName, "L3T3_KEY_SHIFT", 3, 3},
- // SvcTestParameters{kAv1CodecName, "S2T1", 2, 1},
- // SvcTestParameters{kAv1CodecName, "S2T1h", 2, 1},
- // SvcTestParameters{kAv1CodecName, "S2T2", 2, 2},
- // SvcTestParameters{kAv1CodecName, "S2T2h", 2, 2},
- // SvcTestParameters{kAv1CodecName, "S2T3", 2, 3},
- // SvcTestParameters{kAv1CodecName, "S2T3h", 2, 3},
- // SvcTestParameters{kAv1CodecName, "S3T1", 3, 1},
- // SvcTestParameters{kAv1CodecName, "S3T1h", 3, 1},
- // SvcTestParameters{kAv1CodecName, "S3T2", 3, 2},
- // SvcTestParameters{kAv1CodecName, "S3T2h", 3, 2},
- // SvcTestParameters{kAv1CodecName, "S3T3", 3, 3},
- // SvcTestParameters{kAv1CodecName, "S3T3h", 3, 3},
+ SvcTestParameters::Create(kAv1CodecName, "L1T1"),
+ SvcTestParameters::Create(kAv1CodecName, "L1T2"),
+ SvcTestParameters::Create(kAv1CodecName, "L1T3"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T1"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T1h"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T1_KEY"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T2"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T2h"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T2_KEY"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T2_KEY_SHIFT"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T3"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T3h"),
+ SvcTestParameters::Create(kAv1CodecName, "L2T3_KEY"),
+ // SvcTestParameters::Create(kAv1CodecName, "L2T3_KEY_SHIFT"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T1"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T1h"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T1_KEY"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T2"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T2h"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T2_KEY"),
+ // SvcTestParameters::Create(kAv1CodecName, "L3T2_KEY_SHIFT"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T3"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T3h"),
+ SvcTestParameters::Create(kAv1CodecName, "L3T3_KEY"),
+ // SvcTestParameters::Create(kAv1CodecName, "L3T3_KEY_SHIFT"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T1"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T1h"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T2"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T2h"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T3"),
+ // SvcTestParameters::Create(kAv1CodecName, "S2T3h"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T1"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T1h"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T2"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T2h"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T3"),
+ // SvcTestParameters::Create(kAv1CodecName, "S3T3h"),
}),
Values(UseDependencyDescriptor::Enabled)),
SvcTestNameGenerator);