Back on Sunday we shared The GStreamer, Cairo Video Hackfest Results
after GNOME, Intel, and X developers were working hard for a few days in Barcelona to hash out plans to improve Linux video playback in the GStreamer multimedia framework via using Cairo/Pixman and gaining support for VA-API/VDPAU. Sunday's article shared most of the details we knew at that time, but now GNOME's Benjamin Otte who organized this "hackfest" has shared his conclusions.
These conclusions can be found on the GStreamer Wiki
and they consist of YUV support in Pixman, YUV support in Cairo, locking support in Cairo for thread-safety, locking support in Mesa for thread-safety via exposing a new GLX extension, switch GStreamer to using Cairo for its video transport model by default, port the gst-plugins-gl plug-in to use Cairo, a possible extension to X Render, a JIT compiler for Pixman, and video decoding acceleration support for GStreamer.
For the video decoding acceleration support, the developers at this Barcelona event tried to get quick demos of VA-API and VDPAU running with GStreamer, but they failed in doing so. They feel none of the available APIs integrate well with existing frameworks (to handle GEM handles and GL textures, for example), do not have a clear scope, their APIs are too complicated, and some of what the APIs expose overlap with OpenGL functionality. The GStreamer developers are now going to appeal to the (NVIDIA) VDPAU developers and those working on VA-API to get revisions to the API to address their needs.
Lastly, Otte shared a time-line for all of this work. By the end of January they are hoping for new releases of Pixman and Cairo that will expose all of the new functionality needed by GStreamer. Towards the end of March, X Server 1.8
is planned for release and Mesa 7.8
should be out around that time too. The developers are hoping these new X Server and Mesa releases will carry the needed revisions for their video playback epiphany.
Once Ubuntu 10.04 LTS and Fedora 13 are out the door, the Cairo support for GStreamer will be merged into gst-plugins-base and developers will be encouraged to take advantage of this to-be-presented API. In the second half of 2010 when Ubuntu 10.10, Fedora 14, and other distributions update, Linux desktop users should now be in a world of being able to use GStreamer with Cairo and VA-API/VDPAU support to provide a pleasant video playback experience. This also puts the GStreamer work in getting done in time for GNOME 3.0