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.
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.