The VP8 State Tracker That Was Born This Summer
Emeric Grange, the French student working on the hardware-accelerated VP8 video decoder in Gallium3D, has written a new blog post to tell the world about his latest work. The key information from his conclusion:
I did not finish my project and only completed half of it. The "client side" of the VP8 VDPAU implementation is working and is currently being reviewed by the libvdpau maintainers. The mplayer/mplayer2 and ffmpeg/libav patches are also in shape and depending on the feedback on the libvdpau patch they will be sent upstream for review.
The Gallium3D decoder implementation inside Mesa is up and running, tested on r600g and softpipe drivers, but is only a slimmed down port of the libvpx decoder. Currently the only hardware accelerated part is the color space conversion stage, mainly because of the work of Younes Manton and Christian König on the G3DVL interface and the VDPAU state tracker.
While Emeric only managed to complete half of the project, he says he is not done and will be dedicating some free time to work on the VP8 decoder. Whether he will be able to finish this implementation and see it merged to master, however, will be interesting to watch.
At least the work on the VDPAU library (libvdpau) and the patches for mplayer/mplayer2 and ffmpeg/libav may be reusable to other efforts and drivers as this work is for supporting VP8 decoding through NVIDIA's Video Decode and Presentation API for Unix (VDPAU).
It's a pity though that the VP8 decoder for Gallium3D isn't finished and that the only hardware acceleration for what is done is the color space conversion. Video support in Gallium3D has been a hot topic lately. The G3DVL interface was updated, the Xorg state tracker allows X-Video, Nouveau XvMC is back to working, Pipe-video is in master, and the R600g VA-API/VDPAU support is growing.