Delete codec-specific frameDroppingOn settings.
Followup to https://webrtc-review.googlesource.com/c/src/+/262244
Bug: webrtc:6883
Change-Id: Iefac43709f14424c74470aa878ec512b7dacc68a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262258
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36949}
diff --git a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
index 0e64a10..b213356 100644
--- a/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+++ b/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
@@ -508,7 +508,7 @@
codec_.height = kHeight;
codec_.VP8()->numberOfTemporalLayers = 1;
codec_.VP8()->automaticResizeOn = true;
- codec_.VP8()->frameDroppingOn = true;
+ codec_.SetFrameDropEnabled(true);
rate_allocator_.reset(new SimulcastRateAllocator(codec_));
}
diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index b4bc5b7..c6122d3 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -34,14 +34,12 @@
return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
denoisingOn == other.denoisingOn &&
automaticResizeOn == other.automaticResizeOn &&
- frameDroppingOn == other.frameDroppingOn &&
keyFrameInterval == other.keyFrameInterval);
}
bool VideoCodecVP9::operator==(const VideoCodecVP9& other) const {
return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
denoisingOn == other.denoisingOn &&
- frameDroppingOn == other.frameDroppingOn &&
keyFrameInterval == other.keyFrameInterval &&
adaptiveQpMode == other.adaptiveQpMode &&
automaticResizeOn == other.automaticResizeOn &&
@@ -50,8 +48,7 @@
}
bool VideoCodecH264::operator==(const VideoCodecH264& other) const {
- return (frameDroppingOn == other.frameDroppingOn &&
- keyFrameInterval == other.keyFrameInterval &&
+ return (keyFrameInterval == other.keyFrameInterval &&
numberOfTemporalLayers == other.numberOfTemporalLayers);
}
@@ -148,19 +145,7 @@
}
bool VideoCodec::GetFrameDropEnabled() const {
- if (frame_drop_enabled_.has_value()) {
- return *frame_drop_enabled_;
- }
- switch (codecType) {
- default:
- return false;
- case kVideoCodecVP8:
- return VP8().frameDroppingOn;
- case kVideoCodecVP9:
- return VP9().frameDroppingOn;
- case kVideoCodecH264:
- return H264().frameDroppingOn;
- }
+ return frame_drop_enabled_;
}
void VideoCodec::SetFrameDropEnabled(bool enabled) {
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index f92298b..068b09d 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -47,7 +47,6 @@
unsigned char numberOfTemporalLayers;
bool denoisingOn;
bool automaticResizeOn;
- bool frameDroppingOn;
int keyFrameInterval;
};
@@ -65,7 +64,6 @@
}
unsigned char numberOfTemporalLayers;
bool denoisingOn;
- bool frameDroppingOn;
int keyFrameInterval;
bool adaptiveQpMode;
bool automaticResizeOn;
@@ -80,7 +78,6 @@
bool operator!=(const VideoCodecH264& other) const {
return !(*this == other);
}
- bool frameDroppingOn;
int keyFrameInterval;
uint8_t numberOfTemporalLayers;
};
@@ -181,9 +178,7 @@
// 'complexity_' indicates the CPU capability of the client. It's used to
// determine encoder CPU complexity (e.g., cpu_used for VP8, VP9. and AV1).
VideoCodecComplexity complexity_;
- // TODO(bugs.webrtc.org/6883): When unset, GetEnableFrameDrop checks the
- // codec-specific settings.
- absl::optional<bool> frame_drop_enabled_;
+ bool frame_drop_enabled_ = false;
};
} // namespace webrtc
diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc
index 83c3291..b85b932 100644
--- a/api/video_codecs/video_encoder.cc
+++ b/api/video_codecs/video_encoder.cc
@@ -26,7 +26,6 @@
vp8_settings.numberOfTemporalLayers = 1;
vp8_settings.denoisingOn = true;
vp8_settings.automaticResizeOn = false;
- vp8_settings.frameDroppingOn = true;
vp8_settings.keyFrameInterval = 3000;
return vp8_settings;
@@ -38,7 +37,6 @@
vp9_settings.numberOfTemporalLayers = 1;
vp9_settings.denoisingOn = true;
- vp9_settings.frameDroppingOn = true;
vp9_settings.keyFrameInterval = 3000;
vp9_settings.adaptiveQpMode = true;
vp9_settings.automaticResizeOn = true;
@@ -53,7 +51,6 @@
VideoCodecH264 h264_settings;
memset(&h264_settings, 0, sizeof(h264_settings));
- h264_settings.frameDroppingOn = true;
h264_settings.keyFrameInterval = 3000;
h264_settings.numberOfTemporalLayers = 1;
diff --git a/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc b/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
index afc51bf..d595575 100644
--- a/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
+++ b/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc
@@ -165,6 +165,7 @@
}
TEST_F(TestVp8Impl, SetRates) {
+ codec_settings_.SetFrameDropEnabled(true);
auto* const vpx = new NiceMock<MockLibvpxInterface>();
LibvpxVp8Encoder encoder((std::unique_ptr<LibvpxInterface>(vpx)),
VP8Encoder::Settings());
@@ -416,6 +417,7 @@
}
TEST_F(TestVp8Impl, ScalingEnabledIfAutomaticResizeOn) {
+ codec_settings_.SetFrameDropEnabled(true);
codec_settings_.VP8()->automaticResizeOn = true;
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK,
encoder_->InitEncode(&codec_settings_, kSettings));