The Linux Kernel Begins Preparing For AV1 Decode Support
The number of hardware platforms providing accelerated AV1 coding is still quite limited for now but with more hardware coming to market supporting encode/decode of this royalty-free video codec, the Linux kernel's media subsystem is getting ready.
A "request for comments" patch series was sent out on Tuesday by Collabora's Daniel Almeida for implementing the stateless AV1 user-space API for the Linux kernel within the media subsystem.
The AV1 uAPI is modeled around the design and needs of the AOMedia AV1 specification and is of a stateless design as the media subsystem has been moving towards.
With this patch series is also "VIVPU" as a virtual driver to showcase the user-space API. The VIVPU doesn't attempt any actual decoding/encoding but just meant to implement the user-space API for testing purposes. Collabora has also worked on a GStreamer decoder already against this virtual driver.
The VIVPU driver patch notes, "A userspace implementation can use vivpu to run a decoding loop even when no hardware is available or when the kernel uAPI for the codec has not been upstreamed yet. This can reveal bugs at an early stage. Also makes it possible to work on the kernel uAPI for a codec and a corresponding userspace implementation at the same time."
See this patch series for those interested in the Linux media subsystem's work around stateless AV1 decode.