The main motivation for VA-API is to enable hardware-accelerated video decode at various entry-points (
VLD,
IDCT,
motion compensation,
deblocking) for the prevailing coding standards today (
MPEG-2,
MPEG-4 ASP/
H.263,
MPEG-4 AVC/H.264,
H.265/HEVC, and
VC-1/WMV3). Extending XvMC was considered, but due to its original design for MPEG-2
MotionComp only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's
GPUs.
Supported hardware and drivers As of 2022, VA-API is natively supported by: •
Intel Quick Sync open-source drivers for Linux •
Mesa open-source drivers for AMD and Nvidia graphics cards • AMDGPU-PRO drivers for AMD graphics cards on Linux • libva-vdpau-driver for cards supported by
VDPAU •
Direct3D 12 implementations with the VAOn12 driver
Supported video codecs VA-API currently supports these video codecs in the official mainline version, but note that exactly which video codecs are supported depends on the hardware and the driver's capabilities. • MPEG-2 decode acceleration Main Profile • VC-1 / WMV3 decode acceleration Advanced Profile •
MPEG-4 Part 2 (H.263) (a.k.a. MPEG-4 SP / MPEG-4 ASP, more commonly known as
Xvid) decode acceleration •
H.264 AVC encode acceleration Main Profile • H.264 AVC decode acceleration High Profile • H.264 / AVC Hardware Variable Length Decoding (VLD) - CABAC • H.264 / AVC Hardware Variable Length Decoding (VLD) - CAVLC • H.264 / AVC Hardware Inverse Transform (IT) • H.264 / AVC Hardware Motion Compensation (HWMC) • H.264 / AVC Hardware In-Loop Deblocking (ILDB) •
H.265/HEVC encode acceleration • H.265/HEVC decode acceleration •
VP9 8-bit encode acceleration • VP9 8-bit and 10-bit decode acceleration •
AV1 8-bit and 10-bit encode acceleration • AV1 8-bit and 10-bit decode acceleration == Processes that can be accelerated with VA-API ==