We're hiring!
*

Adding HEVC/H.265 support for NXP's i.MX 8M

Benjamin Gaignard avatar

Benjamin Gaignard
February 17, 2021

Share this post:

Reading time:

One of the platforms we have been working on at Collabora is VeriSilicon's Hantro Codec. This video IP is present on a number of popular SoCs (Rockchip, i.MX8, Microchip) and is marketed as a small and power efficient device, but it also has a feature that makes it specially attractive for open source developers: it is a stateless accelerator.

Stateless devices do not need firmware to operate, making them more robust and better suited for open source platforms, where having full control over the system is desirable. In this case, the support is split in two: a kernel driver (which is provided by a Video4Linux2 Hantro driver), and a userspace component (which can be provided by frameworks such as GStreamer and FFMPEG).

Our recent efforts on the Hantro kernel driver have resulted in the addition of H.264 decoding support and multiple performance improvements. Continuing this work, we are now introducing High Efficiency Video Coding (HEVC), also known as H.265, decoding support on NXP's i.MX8 M chipset.

Unlike the currently supported codecs (JPEG, MPEG-2, VP8 and H.264), HEVC doesn't rely on the G1 hardware block but on the second video processor unit: the G2.

For this first step, the driver supports the basic HEVC features up to level 5.1. Enhance features like 10-bits depth per sample with 4:2:0 chroma sampling, scaling or tile decoding could be added later. Another possible evolution is to take benefit of the hardware capability to use compressed buffers to limit the memory bandwidth consumption.

Supporting HEVC on the Hantro driver will help mature the HEVC V4L2 stateless API enough to be able to remove it from the staging directory. Getting HEVC as a stable API is an important requirement for the userland stacks that are relying on it.

More work is in the pipeline in the kernel side and in GStreamer, to improve CODEC support. For instance, we are working on VP9 decoding and V4L2 hardware accelerated encoding. Want to know more? Get in touch!

Search the newsroom

Latest Blog Posts

Making the invisible audible: Building an OpenXR experience for ocean protection

22/04/2026

Using our XR expertise, Collabora created a standalone XR experience for our 1% for the Planet partner, SOMAR, to showcase the direct impact…

Bringing BitNet to ExecuTorch via Vulkan

17/04/2026

BitNet-style ternary brings LLM inference to ExecuTorch via its Vulkan backend, enabling much smaller, bandwidth-efficient models with portable…

Re-thinking framebuffers in PanVK

23/03/2026

PanVK’s new framebuffer abstraction for Mali GPUs removes OpenGL-specific constraints, unlocking more flexible tiled rendering features…

Running Mainline Linux, U-Boot, and Mesa on Rockchip: A year in review

02/03/2026

Get the recap of Nicolas Frattaroli's FOSDEM talk detailing Rockchip’s mainline progress, including Vulkan 1.4 and NPU support as a vital…

Now streaming: Collabora XDC 2025 presentations

02/12/2025

As an active member of the freedesktop community, Collabora was busy at XDC 2025. Our graphics team delivered five talks, helped out in…

Implementing Bluetooth LE Audio & Auracast on Linux systems

24/11/2025

LE Audio introduces a modern, low-power, low-latency Bluetooth® audio architecture that overcomes the limitations of classic Bluetooth®…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2026. All rights reserved. Privacy Notice. Sitemap.