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}
This commit is contained in:
Byoungchan Lee 2022-09-21 08:56:40 +09:00 committed by WebRTC LUCI CQ
parent f8adc56343
commit f22c6b4a07
2 changed files with 98 additions and 80 deletions

View File

@ -2711,6 +2711,7 @@ if (rtc_include_tests && !build_with_chromium) {
"../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",

View File

@ -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 @@ enum class UseDependencyDescriptor {
};
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 @@ TEST_P(SvcTest, ScalabilityModeSupported) {
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 @@ INSTANTIATE_TEST_SUITE_P(
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 @@ INSTANTIATE_TEST_SUITE_P(
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 @@ INSTANTIATE_TEST_SUITE_P(
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);