XvMC To Support More Video Standards?
While the XvMC (X-Video Motion Compensation) extension is reliable for offloading MPEG video decoding to the GPU, its limitation is that it only supports MPEG video formats and nothing more. We had expected XvMC not to be around much longer, since Intel has been devoting resources in creating a new video extension for X.Org. This new video work of Intel's is known as VA-API, or Video Acceleration API, and is still quite early in development. VA-API, however, will be able to handle offloading more tasks along with support for all of the latest video standards (MPEG-4, H.264, VC-1, etc). VA-API is not based upon XvMC but is written from scratch.
While VA-API will eventually prevail, it appears that Intel isn't yet ready to bring VA-API on full-force and that there is still life left to XvMC with another revision. During Keith Packard's X.Org talk at FOSDEM 2008, while talking about 2D, 3D, and video APIs, he had on his agenda bringing more video standards support to XvMC then merely MPEG. VA-API wasn't mentioned at all during this talk. It turns out that Intel at least still sees life left in XvMC as VA-API still has plenty of work to be accomplished and this new extension will take some time to be adopted. In the meantime, it looks like we'll see XvMC advancements for video playback improvements under Linux. Eventually, however, VA-API will prevail and become the new standard.
With it looking like there is still some new blood left in the X-Video Motion Compensation extension, perhaps this will force NVIDIA to re-evaluate their decision of dropping XvMC support for the GeForce 8+ series. Likewise, perhaps this will encourage AMD to finally deliver XvMC support into their fglrx Linux driver. XvMC support for recent Intel IGPs is available in an xf86-video-intel XvMC branch.