VP8 Over VDPAU In Gallium3D Is Emeric's Target

Written by Michael Larabel in Mesa on 29 March 2011 at 02:42 PM EDT. 35 Comments
MESA
For those that were excited last week by the French student proposing an H.264 VA-API/VDPAU state tracker for Gallium3D that in turn was revised to WebM or Theora acceleration support instead (since no current-generation GPUs have dedicated video decode engines for these formats), Emeric has firmed up his proposal.

If the work is accepted by Google, this French student will be targeting a Gallium3D state tracker for the Google VP8 (WebM) format. This Google VP8 format support will be exposed by NVIDIA's Video Decode and Presentation API for Unix. VDPAU right now only has support for MPEG-1, MPEG-2, MPEG-4 ASP, H.264 / MPEG-4 AVC, VC-1, and WMV3/WM9 within NVIDIA's binary driver. However, NVIDIA has released VDPAU as a standalone library with open header files. Support for VP8 should be able to be extended most easily with VDPAU compared to VA-API (or dare I mention XvBA or XvMC).

Emeric would look to bring a pure software implementation of VP8 up first in a Gallium3D state tracker and ensure that it works with the different multimedia applications that implement the VDPAU interface, such as MythTV, VLC, MPlayer, etc. After that point, shader-based optimizations will come and other work to make it faster performing on GPUs.

Emeric is hoping not to have to write his own VP8 decoder to start with, but rather to take advantage of one of the existing decoders, such as the official Google VP8 library or what's been written by FFmpeg. This will allow him to spend more of the summer focusing upon the GPU / Gallium3D integration.

The revised plans were outlined in this mailing list message.

Also what's worth noting is the legal view of the Mesa / X developers concerning an H.264 state tracker for Gallium3D, since that too would be troubled by patents:
We talked about it already, in person, at XDC a few years ago. The basic agreement was that Theora was the only reasonable codec that could be shipped in Fedora and Debian; other codecs would probably be #define'd or commented out. I'm not sure if this is something we need to worry about immediately, especially if you're targeting VP8, which is roughly as safe as Theora.

But they still won't merge the floating point and render buffer work to Mesa master, even if it's concealed behind an "--enable-patented" build switch. There's been interest in merging the code along with the Mesa S3TC library, but no actions were taken. When combining the floating-point GL3 work with that of the other OpenGL 3.x improvements, Unigine Heaven and Tropics can run on Gallium3D at a slow pace.

Since Google opened up VP8, there shouldn't be any legal issues with this state tracker should it successfully materialize.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week