- Xv-BA (X-Video Bitstream Acceleration)
This is a really interesting approach (closed source/proprietary). Here ATI is trying nothing less, than copy Microsoft’s DirectX Video Acceleration (DXVA) with its features like iDCT, motion compensation, color correction and de-interlacing, what is nothing else than hardware acceleration for HD content. We are talking again about an additional X output device such as xv, gl or vdpau.
The support is currently limited to UVB2 (Catalyst’s Universal Video Decoding 2) HD 4xxx cards, but it’s intended to backport it to the first UVD specification, what would enable a larger range of ATI cards to be able to play back HD content.
This is not ‘talk only’, but you can already download two (closed) libs from ATI, and compile mplayer with
./configure --enable-xvmc and --with-xvmclib=AMDXvBA
Since I didn’t test it myself, I don’t know, what is really possible to play back and how stable this whole project really is.
This is open source driver project for the xorg-server, like Nvidia’s Open Source driver nv. This is the project I know the least about it.
Their Wiki page states:
The radeonhd driver, or xf86-video-radeonhd, is an X.org video driver for R500 and newer ATI graphics devices. It is being developed by Novell for AMD, with the free documentation provided by AMD.
I don’t know of any available code to the end-user, neither samples that could be tried out.
Update Jan. 2012:
Fglrx is ATI/AMD’s propreitary driver. It can use VAAPI for hardware accelleration, if libva1 and xvba-va-driver is installed. VLC and mplayer are able to use it for hardware accellerated HD content.
The fglrx driver is part of the most common Linux distros and can be installed easily. Unfortunately the libva1 version 0.32 is broken, which is actually installed. Read for a workaround in this Blog.
At the moment ATI has nothing really usable yet, but development is on its way, since you can really download binary libs and compile mplayer accordingly.
There also exists an OpenChrome for VIA/S3 cards. Since Chrome 430GT (fixme) also VIA supports hardware acceleration of HD content (H.264) such as AVC, VC1 or WMVHD content. I read a few times, that efforts are being made to implement HD-hd support, too. But I couldn’t any information, mentioning major progresses on that. The S3 community has to use Windows, or have to be still more patient.
Now it’s getting dramatic. Intel saw early the restrictions and limitations of the XvMC (Motion compensation) device for Unix. Actually XvMC is only able to accelerate mpeg2, what is more or less pathetic, since the smallest hardware can handle this nowadays.
So Intel (and other) was font of the idea to establish a new video output device for Unix, which should be more flexible regarding future demands, and could be used today for an hardware acceleration output device for H.264 content.
The Video Acceleration API for Linux (VA-API) should become the central and (hopefully) the only video output device for hardware accelerated HD content for all manufacturers. If you read the article above, you can imagine, how realistic it will be. Not that there’s no working sample of Intel’s VA-API far and wide, we have already an working video output device from Nvidia(vdpau) and ATI wants to enter this ball park with its DXVA clone Vx-BA. These all three would be output devices, which usage would look like this in command line:
mplayer -vo vxba -vc <vxba decoder here> bla.mkv
mplayer -vo vdpau -vc <vdpau decoder here> bla.mkv
mplayer -vo vaapi -vc <vaapi decoder here> bla.mkv
Not very nice, isn’t it? And regarding the domination of ATI and Nvidia on the graphics card sector, how realistic is it, Intel’s idea become reality one day? Although Intel is playing a really honorable role in the Open Source scene regarding Linux, and already provided important features like an iproved ACPI support and other features to the Linux kernel, they are, in my opinion, simple too late and too slow with this approach. Too bad 🙁
Update Jan. 2012
Intel’s VAAPI approach is working now for their own cards. The according driver is i985-va-driver, which has to be installed to be able to make use of it. VLC und mplayer are told to work pretty stable with it. No stable environment is told to exist for VDR. But (slow) development is going in the xinelib-vaapi project. This approach (xine, xinelibpout) should actually also work for ATI/AMD users, but in reality it doesn’t (missing APIs in the fglrx driver?(FIXME)).
Impact on Media Centers
The Media Center scene will change again, and I think it will change dramatically.
Like e.g. TVCentrel from Sceneo, a commercial Media Center other Media Center will probably to have to quit in future due strong opponets from the Open Source Windows/Linux fraction. MythTV and XBMC are performing utterly well on Linux, and they are for free including the Operation System as well. Now imagine, they run on a low budget system like the upcoming Ion form Nvidia, supporting HD playback and this all for free.