Skip to content

feat: encode VP9 temporal layers with VA-API - #380

Merged
devopvoid merged 3 commits into
mainfrom
feat/vaapi-vp9-temporal-layers
Oct 15, 2026
Merged

devopvoid merged 3 commits into
mainfrom
feat/vaapi-vp9-temporal-layers

Conversation

@devopvoid

Copy link
Copy Markdown
Owner

The VA-API VP9 encoder takes L1T2 and L1T3 too, which Intel GPUs encode, in error resilient mode and with the VP9 information of flexible mode, as libvpx does; without error resilience a receiver without the upper layers cannot decode. The AV1 and VP9 encoders share the layer handling, and VP9 falls back to libvpx when a frame cannot be encoded.

Builds on #379, which this branch contains; merge it after #379.

The VA-API AV1 encoder now takes L1T2 and L1T3, with WebRTC's reference
structure and a rate control for each layer, rather than leaving them to
libaom. A frame it cannot encode now falls back to libaom.
The VA-API VP9 encoder takes L1T2 and L1T3 too, which Intel GPUs encode,
in error resilient mode and with the VP9 information of flexible mode, as
libvpx does. The AV1 and VP9 encoders share the layer handling.
@devopvoid
devopvoid merged commit 8fb23ef into main Oct 15, 2026
24 checks passed
@devopvoid
devopvoid deleted the feat/vaapi-vp9-temporal-layers branch October 15, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant