mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-17 07:37:51 +01:00
![]() This CL changes the API for webrtc::VideoEncoder. There is a legacy method called SetRates(). This is indicated as being deprecated, but there seem to be a number of usages still left. Then there is the new SetRateAllocation() method which takes a VideoBitrateAllocation instance instead of a single target bitrate. This CL adds a new version of SetRates() which moves all the existing parameters in a RateControlParameters struct, and adds a bandwidth allocation signal. The intent of this signal is to allow the encoder to know how close to the target it needs to stay. If the encoder rate is network restricted, it will need to be more aggressive in keep the rate down and possibly drop frames. If there is some margin for overshoot, it might do different trade-offs. Furthermore, the frame rate signal is changes from an integer to a floating point type in order to get more precise rates at low frame rates and the return type has been changed to void since the only use of the previous values to log it and that is better done inside encoder where the error condition originates. The intent is to properly deprecate the "old" SetRates() / SetRateAllocation() methods, send out a PSA and then remove them in two weeks. Changes required by users should be trivial, as using the new headroom signal is optional. Bug: webrtc:10155, webrtc:10481 Change-Id: I4f797b0b0c73086111869ef4ee5f42bf530f5fde Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129724 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27314} |
||
---|---|---|
.. | ||
test | ||
bitstream_parser.h | ||
BUILD.gn | ||
builtin_video_decoder_factory.cc | ||
builtin_video_decoder_factory.h | ||
builtin_video_encoder_factory.cc | ||
builtin_video_encoder_factory.h | ||
OWNERS | ||
sdp_video_format.cc | ||
sdp_video_format.h | ||
video_codec.cc | ||
video_codec.h | ||
video_decoder.cc | ||
video_decoder.h | ||
video_decoder_factory.cc | ||
video_decoder_factory.h | ||
video_decoder_software_fallback_wrapper.cc | ||
video_decoder_software_fallback_wrapper.h | ||
video_encoder.cc | ||
video_encoder.h | ||
video_encoder_config.cc | ||
video_encoder_config.h | ||
video_encoder_factory.h | ||
video_encoder_software_fallback_wrapper.cc | ||
video_encoder_software_fallback_wrapper.h | ||
vp8_frame_buffer_controller.h | ||
vp8_frame_config.cc | ||
vp8_frame_config.h | ||
vp8_temporal_layers.cc | ||
vp8_temporal_layers.h | ||
vp8_temporal_layers_factory.cc | ||
vp8_temporal_layers_factory.h |