Mike Melanson from FFmpeg and Adobe made a great post on hardware decoding APIs, named Welcome to the Thicket.

Once again, it is quite well written, and features an awesome graph:

Path chosen in VLC.

As you might know, VLC 1.1 is quite closer and we have worked quite a bit on the various GPU accelerations.

Windows

On Windows, everything is simple, we use DxVA2.

Linux

On Linux, as you can see the mess on the graph.

VLC has had patches for VDPAU and VAAPI.

We have now decided to only support VAAPI in the upstream source of VLC, and allow VDPAU through the VDPAU-VAAPI wrapper.

So far, it works fine with nVidia cards and some Intel ones.