commit | acfd279a142c1599dc7ec7b193a426d2d0d60fc0 | [log] [tgz] |
---|---|---|
author | Philipp Hancke <phancke@meta.com> | Tue Apr 30 14:09:37 2024 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Apr 30 15:46:06 2024 |
tree | 9e93d52a6b98a2c8e7d5161c222e2b45fbada560 | |
parent | 1f3679884cd590e1602d0fceb967f0136e72dc71 [diff] |
av1: make packetization generate more evenly sized packets Implements a two-pass approach to packetization which creates packets of an even size similar to RtpPacketizer::SplitAboutEqually. This improves the bandwidth estimation. The algorithm does a first pass with the existing packetizer, then iterates through the resulting packet sizes and sums up the bytes left unused in each packet. It then calculates a new maximum packet length as configured_max_packet_len - ((unused_bytes - packets + 1) / packets) adjusts for the overhead and re-runs the packetization algorithm. For example, a list of OBUs with sizes {1206, 1476, 1431} currently gets packetized greedily as payload sizes {1200, 1200, 1200, 523} With this change, it gets packetized as {1032, 1032, 1032, 1028} This change is guarded by the field trial WebRTC-Video-AV1EvenPayloadSizes which is acting as a rollout flag. BUG=webrtc:15927 Co-authored-by: Shyam Sadhwani <shyamsadhwani@meta.com> Change-Id: I4f0b3c27de6f06104908dd769c4dd1f34115712c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/348100 Commit-Queue: Philipp Hancke <phancke@meta.com> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Per Kjellander <perkj@webrtc.org> Cr-Commit-Position: refs/heads/main@{#42203}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.