AMD Open-Sources VCE Video Encode Engine Code

Written by Michael Larabel in AMD on 4 February 2014 at 10:16 AM EST. 77 Comments
AMD
AMD is doing another large and important open-source graphics driver code drop this morning. This morning AMD is publishing their VCE code that allows for hardware-based video encoding.

Since last year AMD has provided open-source UVD support for video decoding on modern Radeon GPUs. There still isn't any open-source UVD1 support (only UVD 2.0 and newer), but now AMD has turned its focus to open-source hardware-accelerated video encoding.

Christian König of AMD is releasing in the next few minutes open-source code for VCE. This code drop supports VCE2 hardware on newer AMD GCN (Sea Islands, Kabini, etc) hardware. The VCE engine is optimized for encoding a low-latency H.264 stream for wireless displays but can also be used for general purpose H.264 video encoding.

The open-source Radeon driver has been adapted to using OpenMAX with the GStreamer OpenMAX (Gst-omx) support for exposing the VCE video encode engine. There/s still a lot of work that's left to be done though in tuning this open-source video encoding code and other related items on the TODO list.

Going back a few months was an OpenMAX state tracker for Gallium3D but that work done by Christian at AMD has yet to be merged into Mesa. Additionally, Christian says VCE1 support for Radeon HD 7000 Southern Islands and other slightly older hardware isn't yet ready with this open-source code but might be done in the future.

Expect the Radeon DRM kernel changes to land not until the Linux 3.15 kernel given that the Linux 3.14 merge window was just closed a few days ago. On the Mesa/Gallium3D side, we first need OpenMAX support in mainline Mesa. Look for the mailing lists in the next few minutes when AMD should officially make available this massive code drop for finally having open-source video encode support on the AMD Radeon driver. The only other open-source Linux graphics driver with good video encode support is Intel for their latest generation hardware when paired with VA-API.

Update: The patches are now available. Besides the DRM kernel and Mesa patches, a new binary microcode/firmware file is also required for VCE support. Also, if you don't already, be sure to follow @MichaelLarabel on Twitter where yesterday I was hinting at a major open-source code drop. Also if you don't understand this VCE news, there's many comments in the forums talking more at length about what it means for end-users, plus comments from the open-source AMD Linux developers themselves.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week