AMD's UVD2 & XvMC For Linux?

Written by Michael Larabel in AMD on 4 September 2008 at 11:04 AM EDT. 20 Comments
AMD
Last month the Catalyst 8.8 Linux driver was released with CrossFire For Linux (including support for the Radeon HD 4870 X2) and OverDrive-based overclocking. In that article we also shared two new interesting libraries appeared within the driver package: libAMDXvBA.so.1.o and libXvBAW.so.1.o.

The AMDXvBA and XvBAW libraries aren't yet used by the driver, but their names are rather interesting containing Xv.

Xv, or X-Video, has been supported by the proprietary Catalyst package for some time on Linux and Textured Video is even supported by the open-source xf86-video-ati driver for most of the card generations. What hasn't been supported though in the Xv family is XvMC, or X-Video Motion Compensation. XvMC is an extension of Xv that allows for offloading some MPEG2 video decoding to the graphics processor instead of using the system's main processor.

Word though has leaked onto the Internet by some Windows web-sites that AMD intends to provide high-definition video acceleration on some select Linux-based computers using ATI graphics. With that information out there, now we're willing to talk a bit more about these two new libraries.

Specifically, AMDXvBA and XvBAW are part of their Unified Video Decoder (UVD2) plans for Linux support. You can see this by running strings /usr/lib/libAMDXvBA.so.1 | grep UVD on the Catalyst 8.8 driver or newer. Outputted are numerous references to UVD. Among the strings are CreateUVDCommand, CreateUVDBufferPool, CreateUVDConfig, RegisterUVDClient, UVDSession, "unknown UVD IDCT buffer type ovverride", and numerous other references. What will upset some users though are references to DRM, which when talking about video doesn't mean the open-source Direct Rendering Manager but instead Digital Rights Management. There are strings for SetupDrmKeys, SetupDrm, _ZN8UVDCodec10SetDrmKeysEv, etc.

In the other library, XvBAW, are numerous references to XvMC. There is XvMCSetAttribute, XvMCGetAttribute, XvMCWrapper, XvMCQueryExtension, and quite a few other Xv/XvMC strings.

With that said, it looks like not only is support for Unified Video Decoder 2 coming but also X-Video Motion Compensation support! With modern hardware, XvMC is no longer too useful, but this should satisfy a number of users after enhanced video playback.

What will be interesting though is how AMD decides to implement their high-definition video support on Linux. Seeing as there is no suitable standard right now, they will likely introduce their own interface. This then will need to be adopted by the video playback programs (such as mplayer and MythTV) in order for it to be of any benefit.

For now you'll just need to speculate on what's happening, but once such a driver is released that delivers UVD2 and XvMC support (if in fact these libAMDXvBA.so.1.o and libXvBAW.so.1.o files aren't nasty tricks) we'll provide a full run-down on the new features and comments from AMD. As we mentioned in the Catalyst 8.8 article, the fun for the year is not over yet.
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