AMD's UVD2-based XvBA Finally Does Something On Linux
For a year now we have been talking about XvBA, which stands for X-Video Bitstream Acceleration and is designed to implement AMD's Unified Video Decoder 2 (UVD2) engine on Linux systems for improving the video decoding and playback process on desktop systems. AMD has been shipping an XvBA library with their ATI Catalyst Linux driver since last year, but they have yet to release any documentation on the XvBA API or any patches to implement the support within any Linux media players. Heck, AMD has not even officially confirmed XvBA with Phoronix being the lone source of information for the past year. Today though, XvBA has finally become useful under Linux. But it is not what you may be thinking...
Finally, ATI Radeon customers under Linux can use XvBA, but it is not through using XvBA directly. AMD and Splitted Desktop Systems have been collaborating to develop xvba-video, which is an XvBA back-end for VA-API. Splitted Desktop Systems is the company that brought H.264 VA-API GPU video acceleration for Gnash, VA-API support in MPlayer and FFmpeg, and a NVIDIA VDPAU back-end for VA-API. This xvba-video library is like their NVIDIA VDPAU back-end, but it is for X-Video Bitstream Acceleration instead. Effectively this makes it possible for ATI customers to use VA-API, which in turn uses XvBA atop hardware with UVD2 support. This current implementation can accelerate only MPEG-4 AVC (H.264) and WMV9 (VC-1) formats at this time, which is more limited than NVIDIA's VDPAU implementation in their proprietary driver.
While the XvBA library has been with the driver for over twelve releases now, to use xvba-video it needs the Catalyst 9.10 driver (fglrx 8.66 or newer). Radeon HD 4000 series hardware (R700) as well as the newer Radeon HD 5000 series (R800 series; Evergreen) is recommended for XvBA usage. Though be forewarned before upgrading to Catalyst 9.11 later this month as the support may be broken in that release. Software supporting VA-API currently included MPlayer, FFmpeg, and the Helix media player. Of course, there are Splitted Desktop Systems' Gnash patches too, but they have not been submitted for mainline inclusion. The adoption of VA-API currently is not nearly as great as that of VDPAU, which can be found in MPlayer and FFmpeg along with Xine, MythTV, VLC Media Player, XBMC, and many others.
At the end of the day it's nice that UVD2 is finally usable on Linux (assuming no driver bugs), considering that the original ATI Unified Video Decoder was never supported, but it's still not as nice of an implementation as NVIDIA's VDPAU that is well supported and can handle a variety of different formats and can be used in a variety of different multimedia programs. With xvba-video though, it is just leaving developers to target VA-API for video acceleration, and it reduces AMD's need to provide any public documentation concerning the XvBA interface. At least though XvBA is now usable to assist in the HD video decoding process for Linux desktop users. The xvba-video package was just unlocked this morning in this SDS web directory, while neither AMD or Splitted Desktop Systems have yet to make an official announcement.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.