FFmpeg Finally Retires XvMC Hardware Acceleration Code
Long before the likes of VA-API and VDPAU for GPU video playback acceleration on Linux, there was X-Video and X-Video Motion Compensation (XvMC). Finally in 2022 the widely-used FFmpeg multimedia library has decided to drop that XvMC hardware acceleration code.
XvMC built atop X-Video as an X extension for offloading portions of the video decode process to the GPU. But these days its motion compensation and iCDT offloading for MPEG-2 content is rather... useless. XvMC does not support newer video codecs and its hardware offload capabilities very basic and limited in scope compared to modern video acceleration APIs. XvMC also was never implemented in the open-source AMD driver code since that came before the time when AMD began documenting video decode capabilities for their GPUs. Meanwhile with the NVIDIA and Intel hardware/drivers they only support XvMC with hardware from close to two decades ago. Plus XvMC is implemented as an X extension.
XvMC has effectively been dead for many years now while helping to keep it that way is FFmpeg now dropping the XvMC hardware acceleration code.
The XvMC code was removed from FFmpeg with the message, "XvMC was last relevant over 10 years ago, if ever. There is no reason to use it today."
While VA-API and VDPAU video acceleration APIs are quite popular today (and NVENC/NVDEC if just concerned about NVIDIA support), hopefully moving forward we see Vulkan Video becoming suitable and widely-used for cross-platform, video acceleration.
XvMC built atop X-Video as an X extension for offloading portions of the video decode process to the GPU. But these days its motion compensation and iCDT offloading for MPEG-2 content is rather... useless. XvMC does not support newer video codecs and its hardware offload capabilities very basic and limited in scope compared to modern video acceleration APIs. XvMC also was never implemented in the open-source AMD driver code since that came before the time when AMD began documenting video decode capabilities for their GPUs. Meanwhile with the NVIDIA and Intel hardware/drivers they only support XvMC with hardware from close to two decades ago. Plus XvMC is implemented as an X extension.
It's been a long time since XvMC had any bit of relevancy.
XvMC has effectively been dead for many years now while helping to keep it that way is FFmpeg now dropping the XvMC hardware acceleration code.
The XvMC code was removed from FFmpeg with the message, "XvMC was last relevant over 10 years ago, if ever. There is no reason to use it today."
While VA-API and VDPAU video acceleration APIs are quite popular today (and NVENC/NVDEC if just concerned about NVIDIA support), hopefully moving forward we see Vulkan Video becoming suitable and widely-used for cross-platform, video acceleration.
35 Comments