1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

The State Of Gallium3D Video Decoding

Mesa

Published on 14 September 2008 03:33 PM EDT
Written by Michael Larabel in Mesa
Comment On This Article

With the Gallium3D status update provided during XDS 2008 and other recent work for this advanced 3D graphics architecture (such as enhanced debugging capabilities), we were left to wonder where the generic GPU video decoding is at in its implementation. Today we have an answer.

When using a modern CPU, offloading the video decoding to the graphics processor of standard definition video can be somewhat irrelevant, but to facilitate this there is the X-Video Motion Compensation API. XvMC is an extension to the X-Video interface but with support for offloading motion compensation and IDCT for MPEG streams to the graphics processor. Work though is underway to have XvMC support more video standards and talking with Keith Packard earlier this month he still sees this happening since VA-API isn't ready for the limelight. One of the other problems though with XvMC is its limited adoption.

Intel has open-source XvMC support for their newer hardware and this X-Video Motion Compensation support continues to be refined. On the NVIDIA side though, their binary driver has supported XvMC but that was dropped with the GeForce 8 series, which means anyone with a newer GPU is left without any of this GPU video acceleration. The open-source Nouveau driver developers though are working on XvMC for their reverse-engineered driver.

Owners of ATI/AMD hardware using either the open or closed source drivers have been left without any form of XvMC support. However, AMD is working on UVD2 support for Linux with accelerating standard and high-definition video playback. Through their newly-introduced XvBAW library it also looks like they are working on XvMC support. The open-source ATI drivers right now are left in the dark.

Wouldn't it be nice though if XvMC would "just work" across all video hardware? As part of his 2008 Google Summer of Code project, Younes Manton has been trying to develop a universal implementation for GPU-accelerated video decoding. As we shared in an earlier update, Younes has been developing a generic video decoding mechanism that would work on any driver using the Gallium3D framework or even its soft-pipe driver for that matter. He is writing an XvMC front-end for Gallium3D that handles much of the video decoding using the shaders found on a graphics card.

The last project update was over a month ago and since then the Google Summer of Code has officially ended, but there was no accompanying update. However, we've heard back from Younes Manton on where he is at with his generic GPU-accelerated video decoding work and what's left to be accomplished. In an email to Phoronix, Younes shares that his project was successful and passed GSoC. He has fully implemented the XvMC API with the exception of interlaced videos and sub-pictures. While some optimizations have also been made to the decoding process at a low-level, rendering is still slow. Younes explains that the number of triangles, fill-rate, and tex-fetch numbers are all within the limits for the hardware being used, but the problem may be originated with driver or memory management problems.

Younes is also exploring hardware decoding where possible for IDCT. Stephane Marchesin has been working on this project too and they hope to push some NV40 code into the Gallium3D driver. Finally, this generic GPU video code is ready to be moved from Nouveau to Mesa. While the Google Summer of Code has ended, Younes Manton is still continuing to work on this code.

It's certainly nice to see this project progressing, but it's unfortunate that the rendering process still isn't at a sufficient speed. We hope this will change though as this all has come about in just the past couple of months.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Rosewill RS-MI-01: An Ultra Low-Cost Mini-ITX Chassis
  2. D-Link DCS-2330L HD Wireless Network Camera
  3. Gigabyte AM1M-S2H
  4. AMD's New Athlon/Semprons Give Old Phenom CPUs A Big Run For The Money
Latest Linux Articles
  1. AMD Catalyst 14.4 On Linux With Radeon R3 APU Graphics
  2. Red Hat Enterprise Linux 7.0 RC Benchmarks
  3. AMD Catalyst 14.4 Brings Few Linux Performance Improvements
  4. The Performance Of Fedora 20 Updated
Latest Linux News
  1. NGINX 1.6 Brings SPDY 3.1 & Other New Features
  2. Linux Foundation Announces A Core Infrastructure Initiative
  3. More Steam Linux Tests/Benchmarks Might Be Coming
  4. NVIDIA's Amazing Single-Board ARM Computer Might Be Delayed
  5. Fedora 21 To Get A Playground, New Features
  6. PC-BSD Is Developing Its Own Desktop Environment
  7. Valve Is Bringing VOGL To Windows & Working On Regression Tests
  8. Canonical Is Taking Over Linux 3.13 Kernel Maintenance
  9. Google Web Designer Is Now Natively Available On Linux
  10. Ubuntu 14.10 Is Codenamed The Utopic Unicorn
  11. Audacious 3.5 Lightweight Audio Player Released
  12. Steam Updated For Ubuntu 14.04 LTS, SteamOS
Latest Forum Discussions
  1. What Else Would You Like To See On Phoronix This Spring?
  2. HTPC-upgrade advice: AMD Richland A8-7600 or Kaveri A10-6700T ???
  3. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  4. The GNOME Foundation Is Running Short On Money
  5. The Most Amazing OpenGL Tech Demo In 64kb
  6. Announcing radeontop, a tool for viewing the GPU usage
  7. New card. Open source drivers only.
  8. Script for Fan Speed Control