View Full Version : New Video acceleration API Info


tji
08-02-07, 11:28 PM
I think there was some discussion here a couple months ago regarding an effort to develop a new API for video acceleration. The effort is being lead by engineers from Intel, and will go beyond XvMC, supporting more codecs and more complete offload options.

They recently put up a WWW site for information:

http://www.freedesktop.org/wiki/Software/vaapi


Some key points from the site:

- VAAPI will be able to support MPEG2, MPEG4, H.264, and VC-1
- VAAPI will support iDCT and MC (like XvMC) as well as VLD (more complete decoding offload, supported by Intel X3000 GPUs and VIA Unichrome GPUs)


It's a completely open project, and when combined with Intel's open source video drivers and the capabilities of their GPUs, this could make for a great Linux video platform for things like MythTV.

blackoper
08-03-07, 07:14 AM
if this happens, I'll gladly support intel by buying their video cards/x3000 motherboards

nitrogen
08-04-07, 03:10 AM
if this happens, I'll gladly support intel by buying their video cards/x3000 motherboards

Agreed. Open drivers make all the cool things much more possible, things that closed-source hardware companies simply can't envision, or can't justify spending the expense to develop.

archibael
08-04-07, 03:58 AM
I know. I was thrilled when Keith announced this. Now if I can just get him to send me back my HDMI card. :D

Keep in mind that people with Nvidia and ATI cards can benefit, too: the APIs will be designed so that any card's capabilities can be plugged in. 'Course, a lot of the acceleration stuff's proprietary, so it might take some clever reverse engineering to get them working.

tji
08-06-07, 09:00 AM
Keep in mind that people with Nvidia and ATI cards can benefit, too: the APIs will be designed so that any card's capabilities can be plugged in. 'Course, a lot of the acceleration stuff's proprietary, so it might take some clever reverse engineering to get them working.

Yes, but hey have also had access to XvMC for how many years now? ATI gave us exactly zero on that front. NVidia gave us a working implementation, which many people use. But, it uses binary drivers, making it difficult to debug and impossible to improve.

I am looking forward to the X3000 (and future intel GPUs), for a number of reasons:

- Open source device drivers (XvMC+Nvidia has been problematic for me and others. Full source should allow for debugging and improving that).
- Better MPEG2 offload (VLD) for very low CPU overhead
- Support for acceleration of more codecs (hopefully the list grows with future releases)


For HTPC usage, I think an integrated GPU, with good video features, is the way to go. All those 3D capabilities of new Nvidia/ATI cards are wasted on an HTPC. The inegrated GPU allows for low power/heat/noise/size requirements of an HTPC.

The only question is: when will working drivers be available, with application/library support to use them?

able421
08-06-07, 04:22 PM
For HTPC usage, I think an integrated GPU, with good video features, is the way to go.

Right, but I'm assuming that full hardware acceleration support is still a long way from reality? I have been planning on buying an integrated board (probably with something like the nVIDIA GeForce 7050PV GPU), but I guess I'll still need to buy that monster CPU to do anything like H.264.

tji
08-06-07, 04:53 PM
Yes. It's going to take a while to get all this working.. The API and drivers seem like they are well on their way. But, then application support is needed to take advantage of it. That could take some time.

In my experience with XvMC, I didn't find it reliable enough to be used. I kept running into glitches in playback, and I would inevitably switch back to software playback. In that mode, you get absolutely no benefit from the NVidia technology. So, if the only feature I'm going to use is video overlay, I might as well use an inexpensive solution with a possibility of big future enhancements. On the CPU side, even after MPEG acceleration support is here, you'll still benefit from a fast CPU.. commercial detection and transcoding will eat as much CPU as you throw at them.

nitrogen
08-07-07, 01:55 AM
YFor HTPC usage, I think an integrated GPU, with good video features, is the way to go. All those 3D capabilities of new Nvidia/ATI cards are wasted on an HTPC. The inegrated GPU allows for low power/heat/noise/size requirements of an HTPC.

Allow me to propose a reason to disagree. I believe that HTPCs (especially Linux HTPCs) have not taken enough advantage of the graphics capability of video cards. I think that, just as Beryl/Compiz brought (and continue to bring) nifty effects to the traditional desktop, I think that HTPCs are in need of something to make them more appealing than your everyday DVD player/Flat panel/AV Receiver OSD system. However, unlike Beryl/Compiz, I think these things could enhance the overall usability of a system, by making interfaces that move more intuitively by removing the restriction of simple bitmapped graphics in two dimensions. Of course, a proper balance is required to keep the system from looking like a child's toy, inexperienced coder's weekend hackfest, or Microsoft reject.

Considering that it's a very real possibility that Linux HTPCs will lose reliable PVR operation, and will probably never support CableCard (Curse DRM), there's gotta be something to keep people interested, and I think it could be a combination of uncompromising video quality, limitless customization, and beautiful, intuitive user interfaces. Honestly, I'll miss my PVR, but I won't so much miss MythTV's UI.

tji
08-07-07, 01:14 PM
Allow me to propose a reason to disagree. I believe that HTPCs (especially Linux HTPCs) have not taken enough advantage of the graphics capability of video cards. I think that, just as Beryl/Compiz brought (and continue to bring) nifty effects to the traditional desktop, I think that HTPCs are in need of something to make them more appealing than your everyday DVD player/Flat panel/AV Receiver OSD system. However, unlike Beryl/Compiz, I think these things could enhance the overall usability of a system, by making interfaces that move more intuitively by removing the restriction of simple bitmapped graphics in two dimensions. Of course, a proper balance is required to keep the system from looking like a child's toy, inexperienced coder's weekend hackfest, or Microsoft reject.

I agree in principle. But, I don't see whiz-bang 3D effect as a good UI solution.. at least I haven't seen one that I can remember that would qualify as an intuitive UI rather than an impressive example of eye candy. Apple's Front Row uses a basic 3D interface, and it's fine.. but I wouldn't rate it any better than a Tivo menu interface.

There is also the question of how much 3d power is needed for an HTPC UI? Even the modest integrated GPUs like the intel X3000 have decent 3D capabilities. The discrete GPUs are being designed to handle Quake VII at 1600x1200 90Hz etc.. I can't imagine an HTPC UI that would justify anything near that power.

Considering that it's a very real possibility that Linux HTPCs will lose reliable PVR operation, and will probably never support CableCard (Curse DRM), there's gotta be something to keep people interested, and I think it could be a combination of uncompromising video quality, limitless customization, and beautiful, intuitive user interfaces. Honestly, I'll miss my PVR, but I won't so much miss MythTV's UI.

I hope open PVRs won't be a thing of the past.. I'm hoping that digital broadcast TV pushes more people towards these projects and away from expensive DRM-encumbered services. Hopefully a media center for broadcast DTV, standard DVDs, and open Internet media will have some life left. Beyond those things, we're really DRM limited.

My preference in the UI realm is to keep it simple... quickly get me where I want and get out of the way. Myth's UI is poor (as are many aspects of mythtv's user friendliness). But, if it was made to be configurable, it could be kept simple enough to be unobtrusive.