This morning there was the report on the release of Adobe Flash Player 10.2 Beta 1, which finally brought GPU-based Flash video acceleration to Linux
. H.264 video acceleration has already been available on Windows and Mac OS X operating systems, but this is the first time that Adobe is bringing this support to the official Linux Flash player. With the 10.2 release to all operating systems they are providing this support via an API they call "Stage Video" for the complete acceleration of the entire playback process.
Stage Video pushes off the H.264 decoding, video rendering pipeline, color conversion, scaling, and blitting all to the graphics processor rather than the CPU. While we knew Adobe was working on video acceleration for the Linux Flash client, this morning all we knew is that with this new release containing Stage Video there was OpenGL being used for the frame compositing. Now though we can confirm that Adobe's Stage Video on Linux is implementing VDPAU
for the underlying video acceleration.
VDPAU is NVIDIA's Linux video acceleration API that they released two years ago
as a better solution than XvMC and to finally expose their PureVideo HD engine under Linux. The Video Decode and Presentation API for Unix is open and other vendors are free to implement the support atop their video decode engines within their graphics drivers, but to date only NVIDIA's proprietary driver is supporting VDPAU with no support in the Intel or ATI/AMD drivers whether they be the open or closed-source versions. There is said to be VDPAU support within the S3 Graphics driver
, but there's few users of that, and hopefully we will see VDPAU on Gallium3D
VDPAU is arguably the best Linux video acceleration API at this point, with AMD's XvBA
being a closed specification just targeting their Radeon HD UVD2-capable graphics cards and to ATI customers its only exposed via a VA-API front-end
that is in a next-to-broken state thanks to bugs in the X-Video Bitstream Acceleration driver. In the past two years, VDPAU support has worked its way into virtually all major Linux multimedia applications from MythTV to VLC and MPlayer.
Adobe could have implemented VA-API
support rather than VDPAU (or as a complement to it), but they have chosen not to at this time. VA-API support would mean there would be proper Flash video acceleration on recent Intel IGPs, more mobile devices, the half-broken VA-API+XvBA back-end, the VA-API front-end to NVIDIA's VDPAU, and other drivers currently implementing this video acceleration API. It does look like though their Stage Video for Linux does also support Broadcom's Crystal HD acceleration API for those with these add-on cards.
Ironically, it was just earlier this year that Adobe's Flash Linux lead was ranting over these video APIs
(VA-API, VDPAU, etc) not just once but twice
. Results from those early adopters of this Flash Player 10.2 Beta for Linux is building up in this forum thread