Refactor encoder-complexity param in VideoCodec w/backward compatibility
Move complexity parameter to the main VideoCodec class to enable
additional video codecs to use the parameter without creating a new
codec-specific structure.
Bug: webrtc:13694
Change-Id: Icb7cf640b178875d799f39ade8b5084e3222bb1c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251921
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Michael Horowitz <mhoro@google.com>
Cr-Commit-Position: refs/heads/main@{#36040}
diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index d850917..75c89e6 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -139,4 +139,23 @@
return kVideoCodecGeneric;
}
+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;
+ }
+}
+
+void VideoCodec::SetVideoEncoderComplexity(
+ VideoCodecComplexity complexity_setting) {
+ complexity_ = complexity_setting;
+}
+
} // namespace webrtc