Benjamin Gaignard
October 06, 2022
Reading time:
The release of Linux 6.0 earlier this week brought a significant milestone: the H.265/HEVC user-space API was mainlined. That is the result of more than two years of efforts by our engineering team.
Collabora has actively contributed to the enablement of video codecs such as VP8, VP9, H264, and others, so the addition of HEVC marks another important contribution from our team to this space. These activities do involve not only kernel drivers but also GStreamer plugins for stateless decoders.
The primary focus of the HEVC uAPI work was on VeriSilicon's Hantro Codec component, present on a number of popular SoCs (Rockchip, NXP, Microchip, ...). Marketed as a small and power efficient, it is especially attractive for open source developers as a stateless accelerator. The RKVDEC and the Cedrus codecs will also benefit from the stable HEVC uAPI, gaining the ability to decode HEVC in mainline too.
Designing the HEVC uAPI has been challenging as we wanted to make it future proof. To get maximum confidence in the uAPI, we leveraged the Fluster testing framework and fixed the whole decoding stack from the driver to userland until all tests passed, up to the limit of the hardware capabilities of course. Along the way, we also added support for 10-bit bit-streams and the P010 pixel format.
Another great achievement is that finishing the HEVC uAPI will make it possible to move the Hantro, Cedrus and possibly the RKVDEC drivers out of the staging Linux tree into mainline.
11/01/2024
Collabora's kernel team made a number of key contributions including a new kselftest for verifying driver probe of Devicetree-based platforms,…
21/12/2023
Weston 13.0 brings multiple fixes and important changes, notably the ability to load multiple backends simultaneously. This can be used…
20/12/2023
As 2023 draws to a close, I wanted to give a quick update on NVK, what's happened this year, and where we'll be headed in 2024. While previous…
Comments (0)
Add a Comment