WebM, Theora Acceleration Talked About For Gallium3D

Posted by Michael Larabel on March 26, 2011

Earlier this week I mentioned a student developer looking to partake in Google's Summer of Code was interested in creating an H.264 state tracker for Gallium3D whereby any graphics card with a Gallium3D driver could have H.264 video decoding support using VA-API / VDPAU and accelerating the operations in shaders on the GPU, where in theory at least it would be universally supported across all drivers on this architecture. It's still looking hopeful that this will be hacked on this summer, but a few interesting points have been expressed.

Mesa developers haven't shot down this GSoC proposal like they effectively did with the OpenGL 4.1 state tracker proposal two weeks back over that being too ambitious for a single student to do in one summer. In fact, the Mesa developers seem fairly interested in such a video acceleration state tracker happening. As mentioned in previous articles, the only work done in this area on Gallium3D already has been for XvMC and MPEG with mixed success.

Christian König, the developer that has been working on XvMC for the R600g driver is excited about the possibility of another developer now working on "pipe-video", the branch of Mesa where this video acceleration for Gallium3D is being developed.

Other points that have been talked about for this work in recent days include:

- Shader-based video acceleration is still not ideal when modern graphics cards have dedicated units for encoding/decoding video. Unfortunately, these implementations like AMD UVD2 and NVIDIA PureVideo are not publicly documented and would require hardware-specific work.
- One opportunity instead of -- or to complement -- the H.264 video acceleration would be to target the WebM / VP8 or Theora formats. The video decoding hardware that's out there now doesn't support these open formats so it's all CPU bound for now, so working on WebM video acceleration for Gallium3D would be an original creation. Much of the work needed to target H.264, WebM / VP8, and Theora would be code that could be shared across formats.
- In terms of whether to target the VA-API or VDPAU API for such a state tracker, the consensus seems to be on using NVIDIA's Video Decode and Presentation API for Unix. It also appears that it would be easier to extend VDPAU than VA-API for handling new formats like Google's WebM.
- It was also mentioned there is someone working on WebM support over OpenCL (see the GitHub), but that's currently slower than a CPU-based solution and the open-source drivers currently don't have OpenCL support.

Let's hope this Google Summer of Code proposal is accepted and that it manages to materialize this summer into something useful.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. LLVM 3.3 Officially Released
  2. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  5. VP9 Codec Now Enabled By Default In Chrome
  6. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  7. Debian 7.1 Rounds In Some Bug-Fixes
  8. Min / Max FPS Comes To Test Results
  9. Google Pushes More Mesa / Gallium3D Patches
  10. The Phoronix Migration Is Fully Complete
  11. Linux 3.10-rc6 Kernel Brings In More Fixes
Latest Forum Talk
  1. Google Pushes More Mesa / Gallium3D Patches
  2. Intel GPU Driver Tries To Rip Out FBDEV Support
  3. AMD Catalyst 13.6 Beta
  4. LLVM 3.3 Officially Released
  5. The Wayland Situation: Facts About X vs. Wayland
  6. VP9 Codec Now Enabled By Default In Chrome
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite