VA-API
Video Acceleration API is a specification and open source library to provide hardware accelerated video encoding and decoding.
Supported hardware
Open source drivers:
- AMD Radeon 9500 and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package (both available in the official repositories).
- Intel GMA 4500 series and newer GPUs are supported by the libva-intel-driver package together with the mesa package (both available in the official repositories).
- NVIDIA GeForce 8 series and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package (both available in the official repositories). It uses the nouveau-fwAUR package, which contains the required firmware to operate that is presently extracted from the NVIDIA binary driver.
Proprietary drivers:
- AMD Radeon HD 4000 series and newer GPUs are supported by the libva-xvba-driverAUR package, available in the AUR. It uses the catalyst-utilsAUR driver for Radeon HD 5000 series and newer, and catalyst-total-hd234kAUR for Radeon HD 4000 series.
- NVIDIA GeForce 8 series and newer GPUs are supported by the libva-vdpau-driver package together with the nvidia-utils driver (both available in the official repositories).
Supported formats
Open source | Proprietary | ||||
---|---|---|---|---|---|
AMD | Intel | Nvidia | AMD | Nvidia | |
MPEG2 decoding | Radeon 9500 and newer | GMA 4500 and newer | GeForce 8 and newer | Radeon HD 4000 and newer | GeForce 8 and newer |
MPEG4 decoding | Radeon HD 6000 and newer | |
GeForce 200 and newer | Radeon HD 6000 and newer | GeForce 200 and newer |
H264 decoding | Radeon HD 4000 and newer | GMA 45001, Ironlake Graphics and newer | GeForce 8 and newer | Radeon HD 4000 and newer | GeForce 8 and newer |
VC1 decoding | Radeon HD 4000 and newer | Sandy Bridge Graphics and newer | GeForce 8200, 8300, 8400, 9300, 200 and newer | Radeon HD 4000 and newer | GeForce 8 and newer |
MPEG2 encoding | |
Ivy Bridge Graphics and newer | |
|
|
H264 encoding | |
Sandy Bridge Graphics and newer | |
|
|
1Supported by the libva-intel-driver-g45-h264AUR package. See H.264 decoding on GMA 4500 for instructions and caveats.
In order to check what profiles (features) are supported by your GPU, run the following command, which is provided by the libva package:
$ vainfo
VAEntrypointVLD means that your card is capable to decode this format, VAEntrypointEncSlice means that you can encode to this format.
Configuration
libva-vdpau-driver has to be enabled manually with an environment variable globally or locally per user.
export LIBVA_DRIVER_NAME=vdpau
Supported software
- GStreamer based players - VA-API is used automatically, if supported format found.
- See more at http://docs.gstreamer.com/display/GstSDK/Playback+tutorial+8%3A+Hardware-accelerated+video+decoding.
- VLC media player: see VLC media player#Hardware acceleration support.
- Mpv: see Mpv#Hardware Decoding.
- MPlayer: see MPlayer#Enabling VA-API.