VP9 screenshare: drop base layer separately
Because of a low bitrate target, base layer has drops much more frequently than other layers. But it reduces overall framerate, especially then input framerate is low (5 fps). This CL allows pre-layer drops and disables droppoing on higher spatial layers for screenshare, solving the issue. Additional care have to be taken then new spatial layers are enabled dynamically to not create non-compatible with RTP references. Bug: webrtc:10257 Change-Id: Ie056484c99a3f35ff4405ef71337dc2d034db8bb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/138262 Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28063}
This commit is contained in:
committed by
Commit Bot
parent
d9b4f3330f
commit
039a7146ab
@ -124,6 +124,8 @@ class VP9EncoderImpl : public VP9Encoder {
|
||||
const bool trusted_rate_controller_;
|
||||
const bool dynamic_rate_settings_;
|
||||
const bool full_superframe_drop_;
|
||||
bool dropping_only_base_layer_;
|
||||
vpx_svc_frame_drop_t svc_drop_frame_;
|
||||
bool first_frame_in_picture_;
|
||||
VideoBitrateAllocation current_bitrate_allocation_;
|
||||
absl::optional<RateControlParameters> requested_rate_settings_;
|
||||
|
||||
Reference in New Issue
Block a user