Linux & HDTV

    ATI


    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.

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

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

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

VIA/S3
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.

Intel VA-API
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.

4 thoughts on “Linux & HDTV

  1. Hi there, I’m gathering info about setting up VDR and a stumbled across your blog and started reading some of your posts. There is some good information here for sure. I’m curious if you are using mythtv and or VDR with dvb cards and if so, do you happen to know of a good howto for VDR. I see you have one for VDPAU however I am looking for one without that. I’m quite familiar with setting up mythtv and dvb however VDR has always eluded me due to the lack of decent howtos out there. If you know of any, would it be possible for you to fire me a quick email and point me in the right direction? I thank you in advance for your response and hope you continue writing these informative articles.

  2. @Terry
    Well, there are a lot excellent HOWTOs to VDR out there, but most of them are in German language.
    I’m running VDR for about 5y now and don’t need an HOWTO anymore, so let me look first.

    Oh, wow! http://www.vdr-wiki.de is alsa available in English: http://www.linuxtv.org/vdrwiki/index.php/Main_Page

    This is site is excellent, and cover almost every aspect of VDR.

    To get started with VDR on Debian systems you need to perform a
    apt-get install vdr
    building it from source you need to install the DVB driver first:
    http://www.linuxtv.org/vdrwiki/index.php/DVB_installation

    Then the VDR itself:
    http://www.linuxtv.org/vdrwiki/index.php/VDR_installation

    Both links are located in the first link in this post. Look on the start page of the wiki for “Software” -> VDR ->”Basis”

    It’s really not much to it. But take your time – there some configuration to do (channels.conf, disecq.conf, remote.conf (lirc+keyboard))

    Some plugins also need time to understand and to configure sometimes.

    Please consider, that VDR is excellent but old DVB frontend. The OSD is a bit poor. That’s way I’m using it behind a stylish surface, the My Media System.
    Here’s the complete story: http://mms.mymediasystem.net/

    If you want to fuse both systems, this is the page: http://mms.mymediasystem.net/index-7.html

    Btw: I’ve also tried MythTV (not only once), but came back to MMS again and again. (Same for Elisa and XBMC)

    Have fun.

    Regards,
    Andreas

Comments are closed.