When that is done all we need is VA API support in Gallium and FFmpeg, then a few OpenGL GLSL shaders that are able to offload some of the H.264 decoding processes (like motion compensation and iDCT, to begin with at least).

So VAAPI support in Gallium and FFmpeg could possible be what is needed push more graphic manufactuers such as ATI, Intel, NVIDIA, and VIA to begin the active development of Gallium 3D device drivers.

There are also two more GSoC students and project by the way that is trying to achive GPU hardware acceleration video decoder via GLSL for OpenGL (one for the H264 decoder in FFmpeg for the XBMC project, and one for the Dirac codec for the Dirac Schrodinger project):
http://code.google.com/soc/2008/xbmc...DA81403F4B25AB
http://xbmc.org/wiki/?title=GSoC_-_G...Video_Decoding
http://code.google.com/soc/2008/dira...BC5171C6F4785F
http://www.diracvideo.org/wiki/index...er&action=edit

Video decoding processes that should be possible (in theory) to decode on a GPU:
  • Motion compensation (mo comp)
  • Inverse Discrete Cosine Transform (iDCT)
  • Inverse modified discrete cosine transform (iMDCT)
  • In-loop deblocking filter
  • Intra-frame prediction
  • Inverse quantization (IQ)
  • Variable-Length Decoding (VLD), more commonly known as slice level acceleration
  • Spatial-Temporal De-Interlacing, (plus automatic interlace/progressive source detection)


To sum up GPU Hardware Accelerated Video Decoding is really missing under Linux.