October 06, 2022
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.
Sunny Spain will have multimedia developers on speed dial next week for the 11th edition of the GStreamer Conference, taking place at the…
The world-renowned culinary scene in The City of Light will be getting a pack of different types of chefs next week for Kernel Recipes and…
Collabora is headed to Amsterdam! This year, we will be showcasing some of our recent work on the DAB protocol, as well as the software…