Remove WebRTC-VP8ConferenceTemporalLayers field trial
WebRTC-VP8ConferenceTemporalLayers experiment is restricted to <= M126. Number of temporal layers is controlled via scalaiblity mode now. Bug: webrtc:351644568, b/352504711, chromium:40097057, b/140159553 Change-Id: I025f8f64e8d5144cf54fe8bf26e8b99daae6e079 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/357104 Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/main@{#42637}
This commit is contained in:
parent
c14e2cc4ca
commit
ea615affcc
@ -805,9 +805,6 @@ POLICY_EXEMPT_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([
|
||||
FieldTrial('WebRTC-VP8-Postproc-Config-Arm',
|
||||
42231704,
|
||||
INDEFINITE),
|
||||
FieldTrial('WebRTC-VP8ConferenceTemporalLayers',
|
||||
42234443,
|
||||
INDEFINITE),
|
||||
FieldTrial('WebRTC-VP8IosMaxNumberOfThread',
|
||||
42220027,
|
||||
date(2024, 4, 1)),
|
||||
@ -887,7 +884,7 @@ POLICY_EXEMPT_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([
|
||||
]) # yapf: disable
|
||||
|
||||
POLICY_EXEMPT_FIELD_TRIALS_DIGEST: str = \
|
||||
'd6beac9eb318c70cd1695598b3d3c069cd17b42f'
|
||||
'ad853beba9dddb16d9f45164a8d69b5d01e7d1c9'
|
||||
|
||||
REGISTERED_FIELD_TRIALS: FrozenSet[FieldTrial] = ACTIVE_FIELD_TRIALS.union(
|
||||
POLICY_EXEMPT_FIELD_TRIALS)
|
||||
|
||||
@ -1391,6 +1391,8 @@ rtc_library("video_codec_tester") {
|
||||
"../rtc_base:timeutils",
|
||||
"../rtc_base/synchronization:mutex",
|
||||
"../system_wrappers",
|
||||
"../system_wrappers:field_trial",
|
||||
"../test:explicit_key_value_config",
|
||||
"../test:fileutils",
|
||||
"../video/config:streams_config",
|
||||
"//third_party/abseil-cpp/absl/strings",
|
||||
|
||||
@ -46,7 +46,9 @@
|
||||
#include "rtc_base/synchronization/mutex.h"
|
||||
#include "rtc_base/task_queue_for_test.h"
|
||||
#include "rtc_base/time_utils.h"
|
||||
#include "system_wrappers/include/field_trial.h"
|
||||
#include "system_wrappers/include/sleep.h"
|
||||
#include "test/explicit_key_value_config.h"
|
||||
#include "test/scoped_key_value_config.h"
|
||||
#include "test/testsupport/file_utils.h"
|
||||
#include "test/testsupport/frame_reader.h"
|
||||
@ -1291,11 +1293,7 @@ void ConfigureSimulcast(VideoCodec* vc) {
|
||||
return;
|
||||
}
|
||||
|
||||
ScopedKeyValueConfig field_trials((rtc::StringBuilder()
|
||||
<< "WebRTC-VP8ConferenceTemporalLayers/"
|
||||
<< num_temporal_layers << "/")
|
||||
.str());
|
||||
|
||||
ExplicitKeyValueConfig field_trials(field_trial::GetFieldTrialString());
|
||||
const std::vector<webrtc::VideoStream> streams = cricket::GetSimulcastConfig(
|
||||
/*min_layer=*/1, num_spatial_layers, vc->width, vc->height,
|
||||
/*is_screenshare=*/false, /*temporal_layers_supported=*/true,
|
||||
@ -1312,8 +1310,7 @@ void ConfigureSimulcast(VideoCodec* vc) {
|
||||
SimulcastStream* ss = &vc->simulcastStream[i];
|
||||
ss->width = streams[i].width;
|
||||
ss->height = streams[i].height;
|
||||
RTC_CHECK_EQ(*streams[i].num_temporal_layers, num_temporal_layers);
|
||||
ss->numberOfTemporalLayers = *streams[i].num_temporal_layers;
|
||||
ss->numberOfTemporalLayers = num_temporal_layers;
|
||||
ss->maxBitrate = streams[i].max_bitrate_bps / 1000;
|
||||
ss->targetBitrate = streams[i].target_bitrate_bps / 1000;
|
||||
ss->minBitrate = streams[i].min_bitrate_bps / 1000;
|
||||
|
||||
@ -178,27 +178,6 @@ std::vector<SimulcastFormat> GetSimulcastFormats(
|
||||
return formats;
|
||||
}
|
||||
|
||||
// Multiway: Number of temporal layers for each simulcast stream.
|
||||
int DefaultNumberOfTemporalLayers(const webrtc::FieldTrialsView& trials) {
|
||||
const std::string group_name =
|
||||
trials.Lookup("WebRTC-VP8ConferenceTemporalLayers");
|
||||
if (group_name.empty())
|
||||
return kDefaultNumTemporalLayers;
|
||||
|
||||
int num_temporal_layers = kDefaultNumTemporalLayers;
|
||||
if (sscanf(group_name.c_str(), "%d", &num_temporal_layers) == 1 &&
|
||||
num_temporal_layers > 0 &&
|
||||
num_temporal_layers <= webrtc::kMaxTemporalStreams) {
|
||||
return num_temporal_layers;
|
||||
}
|
||||
|
||||
RTC_LOG(LS_WARNING) << "Attempt to set number of temporal layers to "
|
||||
"incorrect value: "
|
||||
<< group_name;
|
||||
|
||||
return kDefaultNumTemporalLayers;
|
||||
}
|
||||
|
||||
int FindSimulcastFormatIndex(int width,
|
||||
int height,
|
||||
bool enable_lowres_bitrate_interpolation,
|
||||
@ -260,7 +239,8 @@ std::vector<webrtc::VideoStream> GetNormalSimulcastLayers(
|
||||
std::vector<webrtc::VideoStream> layers(layer_count);
|
||||
const bool enable_lowres_bitrate_interpolation =
|
||||
EnableLowresBitrateInterpolation(trials);
|
||||
const int num_temporal_layers = DefaultNumberOfTemporalLayers(trials);
|
||||
const int num_temporal_layers =
|
||||
temporal_layers_supported ? kDefaultNumTemporalLayers : 1;
|
||||
// Format width and height has to be divisible by |2 ^ num_simulcast_layers -
|
||||
// 1|.
|
||||
width = NormalizeSimulcastSize(trials, width, layer_count);
|
||||
@ -270,8 +250,7 @@ std::vector<webrtc::VideoStream> GetNormalSimulcastLayers(
|
||||
for (size_t s = layer_count - 1;; --s) {
|
||||
layers[s].width = width;
|
||||
layers[s].height = height;
|
||||
layers[s].num_temporal_layers =
|
||||
temporal_layers_supported ? num_temporal_layers : 1;
|
||||
layers[s].num_temporal_layers = num_temporal_layers;
|
||||
|
||||
SimulcastFormat interpolated_format = InterpolateSimulcastFormat(
|
||||
width, height, /*max_roundup_rate=*/absl::nullopt,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user