From 4da317f0bb7d0c482d34faf7a3ef527d74c9b6b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Spr=C3=A5ng?= Date: Tue, 17 May 2022 13:51:01 +0200 Subject: [PATCH] Remove complexity parameter from video codec specific structs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Niels Moller Cr-Commit-Position: refs/heads/main@{#36912} --- api/video_codecs/video_codec.cc | 21 +++++---------------- api/video_codecs/video_codec.h | 4 +--- api/video_codecs/video_encoder.cc | 1 - 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc index e807e4cd3e..b4bc5b73fc 100644 --- a/api/video_codecs/video_codec.cc +++ b/api/video_codecs/video_codec.cc @@ -31,8 +31,7 @@ constexpr char kPayloadNameMultiplex[] = "Multiplex"; } // 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 VideoCodecVP8::operator==(const VideoCodecVP8& other) const { } 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 @@ VideoCodec::VideoCodec() 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 @@ VideoCodecType PayloadStringToCodecType(const std::string& name) { } 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 51c0ed78b5..e0cdad9cdc 100644 --- a/api/video_codecs/video_codec.h +++ b/api/video_codecs/video_codec.h @@ -43,7 +43,6 @@ struct VideoCodecVP8 { bool operator!=(const VideoCodecVP8& other) const { return !(*this == other); } - VideoCodecComplexity complexity; unsigned char numberOfTemporalLayers; bool denoisingOn; bool automaticResizeOn; @@ -63,7 +62,6 @@ struct VideoCodecVP9 { bool operator!=(const VideoCodecVP9& other) const { return !(*this == other); } - VideoCodecComplexity complexity; unsigned char numberOfTemporalLayers; bool denoisingOn; bool frameDroppingOn; @@ -181,7 +179,7 @@ class RTC_EXPORT VideoCodec { absl::optional 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 complexity_; + VideoCodecComplexity complexity_; // TODO(bugs.webrtc.org/6883): When unset, GetEnableFrameDrop checks the // codec-specific settings. absl::optional frame_drop_enabled_; diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc index 6d61e5dcad..83c329152e 100644 --- a/api/video_codecs/video_encoder.cc +++ b/api/video_codecs/video_encoder.cc @@ -45,7 +45,6 @@ VideoCodecVP9 VideoEncoder::GetDefaultVp9Settings() { vp9_settings.numberOfSpatialLayers = 1; vp9_settings.flexibleMode = false; vp9_settings.interLayerPred = InterLayerPredMode::kOn; - vp9_settings.complexity = VideoCodecComplexity::kComplexityNormal; return vp9_settings; }