commit | 7f876c8930a1732c898b897739455a95424dc976 | [log] [tgz] |
---|---|---|
author | Emil Lundmark <lndmrk@webrtc.org> | Fri Sep 10 10:36:31 2021 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Sep 13 15:52:42 2021 |
tree | 82fcf31478892cf7d7818e564af123930396b885 | |
parent | 9103e8efaf4f4ec825e1783f28bf319382b32dd4 [diff] |
Allow full SVC to reference T0 frame only after it has been encoded The VP9 encoder may drop a frame internally which will not advance the frame pattern. Consider the following scenario where only spatial layer 0 and temporal layer 0 is active: 1. Key frame encoded 2. Spatial layer 1 is activated 3. Delta T0 dropped 4. Delta T0 encoded No S1T0 frame is encoded in (1) since it's not active. When NextFrameConfig is called in (3) it will say that future frames may reference T0 on both S0 and S1, but it's then dropped. On step (4), the SVC controller essentially thinks it's encoding a new picture and will happily reference the T0 on what it thinks is the first delta frame. However, this is actually still the key frame and since there was no S1T0 frame produced it will reference an invalid buffer. To fix this, only say it's possible to reference a T0 frame after it has been successfully encoded. Bug: webrtc:11999, webrtc:13142, chromium:1178444 Change-Id: Iab3d2042ce0b3fa7d952b2831d1a36b1a6613a86 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/231695 Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org> Cr-Commit-Position: refs/heads/main@{#34982}
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.