AMD Opens Up XvBA! Their Catalyst Linux Video API

Written by Michael Larabel in AMD on 25 February 2011 at 08:56 PM EST. 45 Comments
AMD
Back in 2008 we were the first to thoroughly talk about AMD's X-Video Bitstream Acceleration (XvBA) API found in their Catalyst Linux driver to expose their UVD2 video engine now under non-Windows operating systems. However, when the XvBA library was made available, it was next to useless since they hadn't published the documentation or any header files describing this video playback acceleration interface. A year later, in November of 2009, AMD and Splitted Desktop Systems released a VA-API front-end to XvBA so that VA-API multi-media applications could seamlessly use XvBA with the Catalyst driver.

However, in the year and couple months since the VA-API to XvBA library around, this AMD Linux video acceleration API hasn't been too favorable. It's often buggy in particular driver releases and is just not as good as NVIDIA's Video Decode and Presentation API for Unix (VDPAU), which pre-dates AMD's Linux video work. However, we have heard that AMD is working on a new video driver implementation whereby VA-API would be exposed directly.

Coming as a shock right now though is that AMD has finally opened up the X-Video Bitstream Acceleration interface. They have released an XvBA SDK (with a header file), sample code, and a sample library.

At developer.amd.com is a link to the XvBA documentation / header file. They have also setup an XvBA SourceForge page, complete with mailing list.

The code includes xvbainfo, for reporting XvBA capabilities, and xvba trace as a tracing library of XvBA API calls. There's also xvbaplay as a sample media player using the Universal Video Decoder.

Before anyone starts wondering, this won't do much good for those hoping to see AMD's UVD2 engine supported by the open-source Radeon graphics drivers. Video decoding/encoding still is not supported there since AMD cannot publicly document their video engine at this time without potentially compromising the Digital Rights Management for other platforms. What this XvBA SDK package does is basically allow application developers to interface with this UVD API directly rather than targeting VA-API.

This may have been interesting if AMD had provided this support from the beginning, but now it's too late and there are already two leaders in the field: VA-API and VDPAU. AMD is now wanting open-source developers to target XvBA as a third video acceleration API. This though doesn't make too much sense since there is still the VA-API wrapper library and all indications are AMD will be exposing VA-API directly from their driver later in the year. XvBA isn't also supported on any hardware or drivers outside of Catalyst driver on UVD2-capable GPUs. Ah well, at least their still behind their open-source strategy and that the XvBA interface is now available for those interested.
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