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. The MSI X99S SLI PLUS Is Working & Running Well On Linux
  2. NVIDIA GeForce GTX 980: The Best GPU For Linux Gamers
  3. ROCCAT LUA: A Linux-Friendly Gaming Mouse
  4. Cheetah Mounts: The Affordable Way To Put Your TV On The Wall
Latest Linux Articles
  1. Preview: Radeon Gallium3D Performance For CS:GO On Linux
  2. XWayland Linux Gaming Performance With GNOME Wayland On Fedora 21
  3. EXT4/Btrfs/XFS/F2FS Benchmarks On Linux 3.17
  4. Fedora 21 Alpha First Impressions: It's Great
Latest Linux News
  1. Radeon 7.5 X.Org Driver Enables Hawaii, Adds New PCI IDs
  2. PHP As A Next-Generation Programming Language?
  3. Steam Linux Usage Rose 0.1% During September
  4. Understanding The Xen XSA-108 Security Issue
  5. Fedora 21 Workstation Is Making Great Progress
  6. Dash As The Default Shell For Fedora?
  7. CUPS Turn 15 Years Old, CUPS 2.0 Released
  8. VA-API Gallium3D State Tracker Added Back To Mesa
  9. Radeon DRM Gets New Information Ioctl Queries
  10. Mir 0.8 Works On Less ABI Breakage, Touchspots, Responsiveness
Latest Forum Discussions
  1. Microsoft Announces... Windows 10 With A Start Menu
  2. Borderlands 2 Launches On Steam For Linux
  3. Take the Steam Survey results with a grain of salt. It is flawed.
  4. X.Org Is Looking For Some Female Help
  5. Hacking Express gate (Asus Splashtop)
  6. NVIDIA Alerts Nouveau: They're Starting To Sign/Validate GPU Firmware Images
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. Nero CD/DVD Burning Software On Linux Is Dead