AMD Opens Up XvBA! Their Catalyst Linux Video API

Posted by Michael Larabel on February 25, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Benchmarking The Intel P-State, CPUfreq Changes
  2. FreeBSD Still Working On Next-Gen Package Manager
  3. DNF Still Advancing As Experimental Yum For Fedora
  4. Logitech Begins Supporting Linux Users
  5. Modern Intel Gallium3D Driver Still Being Toyed With
  6. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  7. GCC 4.8.1 Compiler Due To Be Out Next Week
  8. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  9. Linux's "Ondemand" Governor Is No Longer Fit
  10. Firefox 22 Beta Enables WebRTC Support
  11. OpenSUSE 13.1 Milestone 1 Released
Latest Forum Talk
  1. FreeBSD Still Working On Next-Gen Package Manager
  2. Sumo Lounge Emperor
  3. OpenSUSE Considers Replacing LXDE With E17
  4. Logitech Begins Supporting Linux Users
  5. DRM Moves Ahead With HTML5 Specification
  6. Logitech supports linux!
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite