We're hiring!
*

Mainline Linux gains accelerated video decoding for Microchip's SAMA5D4

Emil Velikov avatar

Emil Velikov
May 11, 2021

Share this post:

Reading time:

Lately at Collabora, we have been working on the next generation of video codec devices. Stateless hardware accelerators provide more control over the codec pipeline resulting in improved power savings among other benefits.

One of these devices is the VeriSilicon's Hantro Codec. It is featured on a number of SoC from Rockchip to NXP's i.MX8 series. Recently one of our colleagues, Benjamin Gaignard, has been working on HEVC/H.265 support for the NXP's i.MX8 M

I'm pleased to share that the Hantro V4L2 kernel module has gained support for another SoC, the Microchip SAMA5D4. The device features a single decode unit supporting MPEG2, VP8 and H.264 streams, alongside the built-in post-processing unit.

The patches are to be included in linux v5.14 as per the pull request sent by Video4Linux2 maintainer Hans Verkuil.

As we look into the patches, alongside the SoC specific changes, only very minor improvements were required to the core Hantro V4L2 driver. The clean integration of the patch series illustrates how well the existing driver was designed. A design made in the open with input and contributions from different parties - the essence of open-source.

The series bring in another important aspect - supporting more SoCs allows us to stabilize, and cement really, the userpace API (uAPI) as we saw recently with Linux v5.11 and H.264.

The device itself passes the v4l2-compliance test suite as well as the vast majority of the official comformance samples through the fluster tool VP8 and H.264 GStreamer test suites.

Alongside this work, our colleagues have been investigating the remaining tests, working on performance improvements within GStreamer, adding VP9 decoding and many others.

Do you have a platform that includes hardware codecs? Do you need help with media hardware and Linux? Or with GStreamer? Contact us!

Search the newsroom

Latest Blog Posts

Simplifying Bluetooth qualification for Linux/BlueZ: New upstream documentation

26/05/2026

New upstream BlueZ documentation helps simplify Bluetooth qualification for Linux-based products by mapping supported profiles, test requirements,…

Building Tyr in Rust: CSF architecture and booting the MCU

14/05/2026

See how Tyr moves beyond MCU firmware boot to build the group, queue, VM, submission, and completion paths needed to run real Vulkan workloads…

Optimizing memory access in NIR

07/05/2026

A complete breakdown of Mesa’s NIR compiler detailing how it optimizes shader memory access with SSA promotion, deref analysis, copy propagation,…

BlueZ-powered Auracast broadcasting on Genio 700

05/05/2026

Collabora brought Bluetooth Auracast broadcasting to MediaTek Genio 700 for Embedded World 2026. Here's the complete, fully Open Source…

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…

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.