Remove complexity parameter from video codec specific structs.
Now only using the complexity from the main VideoCodec settings.
Bug: webrtc:13694
Change-Id: I5a29df0fac0c0686bf5ea0b677f8946d23ef9888
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262762
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36912}
diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index e807e4c..b4bc5b7 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -31,8 +31,7 @@
} // namespace
bool VideoCodecVP8::operator==(const VideoCodecVP8& other) const {
- return (complexity == other.complexity &&
- numberOfTemporalLayers == other.numberOfTemporalLayers &&
+ return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
denoisingOn == other.denoisingOn &&
automaticResizeOn == other.automaticResizeOn &&
frameDroppingOn == other.frameDroppingOn &&
@@ -40,8 +39,7 @@
}
bool VideoCodecVP9::operator==(const VideoCodecVP9& other) const {
- return (complexity == other.complexity &&
- numberOfTemporalLayers == other.numberOfTemporalLayers &&
+ return (numberOfTemporalLayers == other.numberOfTemporalLayers &&
denoisingOn == other.denoisingOn &&
frameDroppingOn == other.frameDroppingOn &&
keyFrameInterval == other.keyFrameInterval &&
@@ -74,7 +72,8 @@
expect_encode_from_texture(false),
timing_frame_thresholds({0, 0}),
legacy_conference_mode(false),
- codec_specific_() {}
+ codec_specific_(),
+ complexity_(VideoCodecComplexity::kComplexityNormal) {}
VideoCodecVP8* VideoCodec::VP8() {
RTC_DCHECK_EQ(codecType, kVideoCodecVP8);
@@ -140,17 +139,7 @@
}
VideoCodecComplexity VideoCodec::GetVideoEncoderComplexity() const {
- if (complexity_.has_value()) {
- return complexity_.value();
- }
- switch (codecType) {
- case kVideoCodecVP8:
- return VP8().complexity;
- case kVideoCodecVP9:
- return VP9().complexity;
- default:
- return VideoCodecComplexity::kComplexityNormal;
- }
+ return complexity_;
}
void VideoCodec::SetVideoEncoderComplexity(
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index 51c0ed7..e0cdad9 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -43,7 +43,6 @@
bool operator!=(const VideoCodecVP8& other) const {
return !(*this == other);
}
- VideoCodecComplexity complexity;
unsigned char numberOfTemporalLayers;
bool denoisingOn;
bool automaticResizeOn;
@@ -63,7 +62,6 @@
bool operator!=(const VideoCodecVP9& other) const {
return !(*this == other);
}
- VideoCodecComplexity complexity;
unsigned char numberOfTemporalLayers;
bool denoisingOn;
bool frameDroppingOn;
@@ -181,7 +179,7 @@
absl::optional<ScalabilityMode> scalability_mode_;
// '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).
- absl::optional<VideoCodecComplexity> complexity_;
+ VideoCodecComplexity complexity_;
// TODO(bugs.webrtc.org/6883): When unset, GetEnableFrameDrop checks the
// codec-specific settings.
absl::optional<bool> frame_drop_enabled_;
diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc
index 6d61e5d..83c3291 100644
--- a/api/video_codecs/video_encoder.cc
+++ b/api/video_codecs/video_encoder.cc
@@ -45,7 +45,6 @@
vp9_settings.numberOfSpatialLayers = 1;
vp9_settings.flexibleMode = false;
vp9_settings.interLayerPred = InterLayerPredMode::kOn;
- vp9_settings.complexity = VideoCodecComplexity::kComplexityNormal;
return vp9_settings;
}