Revert "Reland "Enable WebRTC-Vp9DependencyDescriptor by default""

This reverts commit b062829311bf1962a7f264cecf36d17ef41951df.

Reason for revert: Still causes crashes in perf tests.

Original change's description:
> Reland "Enable WebRTC-Vp9DependencyDescriptor by default"
>
> This is a reland of 472707150662bc4e174072e445938e5c405aa884
>
> Original change's description:
> > Enable WebRTC-Vp9DependencyDescriptor by default
> >
> > Bug: chromium:1178444
> > Change-Id: I420e1e9b3c557b8b186cb08c15b962a779e1ca17
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226941
> > Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34584}
>
> Bug: chromium:1178444
> Change-Id: I874412b41e657179be6ffbe399617e18a29ec804
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230121
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#34890}

Bug: chromium:1178444
Change-Id: I8a789ee60d0cca6db72612ef3660fe595255c537
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231221
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34928}
This commit is contained in:
Emil Lundmark
2021-09-06 10:01:31 +02:00
committed by WebRTC LUCI CQ
parent 2e78f09c1a
commit 5498676edd
7 changed files with 40 additions and 37 deletions

View File

@ -228,8 +228,8 @@ LibvpxVp9Encoder::LibvpxVp9Encoder(const cricket::VideoCodec& codec,
ss_info_needed_(false),
force_all_active_layers_(false),
use_svc_controller_(
!absl::StartsWith(trials.Lookup("WebRTC-Vp9DependencyDescriptor"),
"Disabled")),
absl::StartsWith(trials.Lookup("WebRTC-Vp9DependencyDescriptor"),
"Enabled")),
is_flexible_mode_(false),
variable_framerate_experiment_(ParseVariableFramerateConfig(trials)),
variable_framerate_controller_(

View File

@ -257,6 +257,8 @@ TEST(Vp9ImplTest, ParserQpEqualsEncodedQp) {
}
TEST(Vp9ImplTest, EncodeAttachesTemplateStructureWithSvcController) {
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
std::unique_ptr<VideoEncoder> encoder = VP9Encoder::Create();
VideoCodec codec_settings = DefaultCodecSettings();
EXPECT_EQ(encoder->InitEncode(&codec_settings, kSettings),
@ -299,6 +301,8 @@ TEST(Vp9ImplTest, EncoderWith2TemporalLayers) {
}
TEST(Vp9ImplTest, EncodeTemporalLayersWithSvcController) {
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
std::unique_ptr<VideoEncoder> encoder = VP9Encoder::Create();
VideoCodec codec_settings = DefaultCodecSettings();
codec_settings.VP9()->numberOfTemporalLayers = 2;
@ -346,6 +350,8 @@ TEST(Vp9ImplTest, EncoderWith2SpatialLayers) {
}
TEST(Vp9ImplTest, EncodeSpatialLayersWithSvcController) {
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
std::unique_ptr<VideoEncoder> encoder = VP9Encoder::Create();
VideoCodec codec_settings = DefaultCodecSettings();
codec_settings.VP9()->numberOfSpatialLayers = 2;
@ -481,6 +487,8 @@ TEST_F(TestVp9Impl, EnableDisableSpatialLayers) {
}
TEST(Vp9ImplTest, EnableDisableSpatialLayersWithSvcController) {
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
const int num_spatial_layers = 3;
// Configure encoder to produce 3 spatial layers. Encode frames of layer 0
// then enable layer 1 and encode more frames and so on.
@ -555,6 +563,8 @@ MATCHER_P2(GenericLayerIs, spatial_id, temporal_id, "") {
}
TEST(Vp9ImplTest, SpatialUpswitchNotAtGOFBoundary) {
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
std::unique_ptr<VideoEncoder> encoder = VP9Encoder::Create();
VideoCodec codec_settings = DefaultCodecSettings();
ConfigureSvc(codec_settings, /*num_spatial_layers=*/3,
@ -753,6 +763,8 @@ TEST_F(TestVp9Impl, DisableEnableBaseLayerTriggersKeyFrame) {
TEST(Vp9ImplTest, DisableEnableBaseLayerWithSvcControllerTriggersKeyFrame) {
// Configure encoder to produce N spatial layers. Encode frames for all
// layers. Then disable all but the last layer. Then reenable all back again.
test::ScopedFieldTrials override_field_trials(
"WebRTC-Vp9DependencyDescriptor/Enabled/");
const size_t num_spatial_layers = 3;
const size_t num_temporal_layers = 3;
// Must not be multiple of temporal period to exercise all code paths.
@ -2311,17 +2323,8 @@ TEST(Vp9SpeedSettingsTrialsTest, DefaultPerLayerFlagsWithSvc) {
absl::WrapUnique<LibvpxInterface>(vpx), trials);
VideoCodec settings = DefaultCodecSettings();
constexpr int kNumSpatialLayers = 3;
constexpr int kNumTemporalLayers = 3;
ConfigureSvc(settings, kNumSpatialLayers, kNumTemporalLayers);
VideoBitrateAllocation bitrate_allocation;
for (int si = 0; si < kNumSpatialLayers; ++si) {
for (int ti = 0; ti < kNumTemporalLayers; ++ti) {
uint32_t bitrate_bps =
settings.spatialLayers[si].targetBitrate * 1'000 / kNumTemporalLayers;
bitrate_allocation.SetBitrate(si, ti, bitrate_bps);
}
}
const int kNumSpatialLayers = 3;
ConfigureSvc(settings, kNumSpatialLayers, /*num_temporal_layers=*/3);
vpx_image_t img;
// Speed settings per spatial layer, for TL0.
@ -2333,11 +2336,6 @@ TEST(Vp9SpeedSettingsTrialsTest, DefaultPerLayerFlagsWithSvc) {
const int kLoopFilter[VPX_MAX_LAYERS] = {1, 0, 0};
ON_CALL(*vpx, img_wrap).WillByDefault(GetWrapImageFunction(&img));
ON_CALL(*vpx, codec_enc_init)
.WillByDefault(WithArg<0>([](vpx_codec_ctx_t* ctx) {
memset(ctx, 0, sizeof(*ctx));
return VPX_CODEC_OK;
}));
ON_CALL(*vpx, codec_enc_config_default)
.WillByDefault(DoAll(WithArg<1>([](vpx_codec_enc_cfg_t* cfg) {
memset(cfg, 0, sizeof(vpx_codec_enc_cfg_t));
@ -2362,9 +2360,6 @@ TEST(Vp9SpeedSettingsTrialsTest, DefaultPerLayerFlagsWithSvc) {
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, encoder.InitEncode(&settings, kSettings));
encoder.SetRates(VideoEncoder::RateControlParameters(bitrate_allocation,
settings.maxFramerate));
MockEncodedImageCallback callback;
encoder.RegisterEncodeCompleteCallback(&callback);
auto frame_generator = test::CreateSquareFrameGenerator(