Implement the encoding RtpParameter scaleResolutionDownBy
Support varies by codec, especially in the simulcast case, but using
the EncoderSimulcastProxy codec should fix this.
Bug: webrtc:10069
Change-Id: Idb6a5f400ffda1cdb139004f540961a9cf85d224
Reviewed-on: https://webrtc-review.googlesource.com/c/119400
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26449}
diff --git a/api/video_codecs/video_encoder_config.cc b/api/video_codecs/video_encoder_config.cc
index 66ff7c9..2b1adc0 100644
--- a/api/video_codecs/video_encoder_config.cc
+++ b/api/video_codecs/video_encoder_config.cc
@@ -22,6 +22,7 @@
min_bitrate_bps(-1),
target_bitrate_bps(-1),
max_bitrate_bps(-1),
+ scale_resolution_down_by(-1.),
max_qp(-1),
active(true) {}
VideoStream::VideoStream(const VideoStream& other) = default;
diff --git a/api/video_codecs/video_encoder_config.h b/api/video_codecs/video_encoder_config.h
index 78f2db4..0c69b93 100644
--- a/api/video_codecs/video_encoder_config.h
+++ b/api/video_codecs/video_encoder_config.h
@@ -36,13 +36,15 @@
int min_bitrate_bps;
int target_bitrate_bps;
int max_bitrate_bps;
+ // Scaling factor applied to the stream size.
+ // |width| and |height| values are already scaled down.
+ double scale_resolution_down_by;
int max_qp;
absl::optional<size_t> num_temporal_layers;
absl::optional<double> bitrate_priority;
- // TODO(bugs.webrtc.org/8653): Support active per-simulcast layer.
bool active;
};