Back in 2007, Adobe's Mike Melanson, who is responsible for much of the Linux work on the Adobe Flash Player, had blogged about the jungle of audio output methods
. Linux audio has been a mess with so many choices and each project like PulseAudio having its advantages and disadvantages. Things have improved somewhat over the past three years, but Mike is now focusing his attention on the Linux video acceleration APIs. Melanson has published a new blog post not calling the video APIs a jungle, but rather a thicket
This blog post is rather short but he promises to post more later. Mike's chart isn't as complex as what he had done in 2007, but just shows the application sitting above Crystal HD and VA-API. Below VA-API is then VDPAU and XvBA and then finally the video hardware itself. Using Crystal HD
decoding is a new option from Broadcom with their hardware and open-source drivers while VA-API
has been around for a while and natively implemented in some drivers, but most commonly is used as a front-end video API where Splitted Desktop Systems has written VDPAU
back-ends so that it can be used atop NVIDIA and ATI/AMD hardware, respectively. There are no Linux applications that directly implement the X-Video Bitstream Acceleration API as AMD has not opened up its API or otherwise provided patches to directly implement its support.
In regards to VDPAU, there are plenty of applications that support it directly like MPlayer/FFmpeg
, and XBMC
. VDPAU is currently found on NVIDIA hardware, but S3 Graphics claims to support it
, but the Video Decode and Presentation API for Unix support may come to Gallium3D
VDPAU is certainly a favorite and allows HD video playback with very low-end GPUs and CPUs
. Not shown in Melanson's chart is XvMC
, but this extension is not nearly as powerful as VDPAU/XvBA/VA-API.
Last year it looked like Adobe would use VDPAU
, but that hasn't yet arrived. The Adobe Flash Player 10.1 Beta was recently released
and the Windows version featured wonderful video acceleration while the Linux client went without any support. For what it's worth, the Gnash project that aims to provide a free software implementation of Flash/SWF, already has VA-API patches available