Currently, the supported portions to be offloaded by XvMC onto the GPU are motion compensation (mo comp) and inverse discrete cosine transform (iDCT) for MPEG-2 video.
XvMC also supports offloading decoding of mo comp, iDCT, and VLD ("Variable-Length Decoding", more commonly known as "slice level acceleration") for not only MPEG-2 but also MPEG-4 ASP video on VIA Unichrome (S3 Graphics Chrome Series) hardware.
XvMC was the first UNIX equivalent of the Microsoft Windows DirectX Video Acceleration (DxVA) API.
Popular software applications known to take advantage of XvMC include MPlayer, MythTV, and xine.
VIA provides open source device drivers for some of its VIA Unichrome (S3 Graphics Chrome Series) hardware, supporting offloading of MPEG-2 and MPEG-4 ASP video.
XvMC is supported on Radeon-4000 cards (which have UVD) by Catalyst driver from 8.10 and higher at an experimental level (meaning that it doesn't work "out of the box".
[citation needed] This is from X-Vxvideoideo Motion Compensation - API specification v. 1.0[5] XvMC extends the X video extension (Xv) and makes use of the familiar concept of the XvPort.
For indirect contexts the X display server renders all video using the data passed to it by the client.
For direct contexts the client libraries render the video with little or no interaction with the X display server.
Even though XvMC currently only supports hardware acceleration of motion compensation (mo comp) and inverse discrete cosine transform (iDCT), (and Variable-Length Decoding for VIA Unichrome GPU), additional video decoding processes could be passed on to modern GPUs which could be accelerated via GPU fragment programs.