webrtc/modules/video_coding/utility
Erik Språng 3064f31ce4 Add hysteresis to enabling of simulcast streams.
If the bandwidth is just on the edge of being able to enable a new
stream, the keyframe generated when it is enabled might be large enough
to trigger an overuse and force the stream off again.

To avoid toggling, this CL adds hysteresis so that the available
bandwidth needs to be above X% to start bitrate in order to enable the
stream. It will be shut down once available bitrate falls below the
original enabling bitrate.

For screen content, X defaults to 35.
For realtime content, X defaults to 0.

Both can be individually modified via field trials.

Bug: webrtc:9734
Change-Id: I941332d7be7f2a801d13d9202b2076d330e7df32
Reviewed-on: https://webrtc-review.googlesource.com/100308
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24745}
2018-09-14 15:59:46 +00:00
..
default_video_bitrate_allocator_unittest.cc Stop using VideoCodec.targetBitrate for vp8 screenshare config 2018-07-06 15:13:18 +00:00
default_video_bitrate_allocator.cc Reland "Move FakeCodec to separate target and behave like real encoder." 2018-08-27 13:09:37 +00:00
default_video_bitrate_allocator.h Exposing video bitrate allocator into API 2018-07-23 21:23:21 +00:00
frame_dropper_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_dropper.cc Remove unused MockFrameDropper and make FrameDropper non-virtual. 2018-09-03 14:19:17 +00:00
frame_dropper.h Remove unused MockFrameDropper and make FrameDropper non-virtual. 2018-09-03 14:19:17 +00:00
framerate_controller_unittest.cc Move VP9 frame rate controller to separate class. 2018-08-29 21:05:56 +00:00
framerate_controller.cc Move VP9 frame rate controller to separate class. 2018-08-29 21:05:56 +00:00
framerate_controller.h Move VP9 frame rate controller to separate class. 2018-08-29 21:05:56 +00:00
ivf_file_writer_unittest.cc Add accessor methods for RTP timestamp of EncodedImage. 2018-08-21 09:15:51 +00:00
ivf_file_writer.cc Remove double declaration of 2 conversion functions. 2018-09-11 06:00:05 +00:00
ivf_file_writer.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
moving_average_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
moving_average.cc Replace rtc::Optional with absl::optional 2018-06-18 10:24:48 +00:00
moving_average.h Replace rtc::Optional with absl::optional 2018-06-18 10:24:48 +00:00
quality_scaler_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
quality_scaler.cc Replace rtc::Optional with absl::optional 2018-06-18 10:24:48 +00:00
quality_scaler.h Replace rtc::Optional with absl::optional 2018-06-18 10:24:48 +00:00
simulcast_rate_allocator_unittest.cc Add hysteresis to enabling of simulcast streams. 2018-09-14 15:59:46 +00:00
simulcast_rate_allocator.cc Add hysteresis to enabling of simulcast streams. 2018-09-14 15:59:46 +00:00
simulcast_rate_allocator.h Add hysteresis to enabling of simulcast streams. 2018-09-14 15:59:46 +00:00
simulcast_test_fixture_impl.cc Reland "Add spatial index to EncodedImage." 2018-08-31 07:35:52 +00:00
simulcast_test_fixture_impl.h Generalize SimulcastEncoderAdapter, use for H264 & VP8. 2018-06-21 15:57:43 +00:00
simulcast_utility.cc Generalize SimulcastEncoderAdapter, use for H264 & VP8. 2018-06-21 15:57:43 +00:00
simulcast_utility.h Generalize SimulcastEncoderAdapter, use for H264 & VP8. 2018-06-21 15:57:43 +00:00
vp8_header_parser.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
vp8_header_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
vp9_uncompressed_header_parser.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
vp9_uncompressed_header_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00