VA-API

From ArchWiki
Jump to: navigation, search

Related articles

Video Acceleration API is a specification and open source library to provide hardware accelerated video encoding and decoding.

Supported hardware

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: This revision contained some information about libva-mesa-driver and LIBVA_DRIVER_NAME=gallium, which should be added here. (Discuss in Talk:VA-API#)

Open source drivers:

  • AMD Radeon 9500 and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package.
  • Intel GMA 4500 series and newer GPUs are supported by the libva-intel-driver package together with the mesa package.
  • NVIDIA GeForce 8 series and newer GPUs are supported by the libva-vdpau-driver package together with the mesa package. It uses the nouveau-fwAUR package, which contains the required firmware to operate that is presently extracted from the NVIDIA binary driver.

Proprietary drivers:

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, you may want to read the #Verifying section.

Configuration

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Add notes on the LIBVA_DRIVER_NAME values for different drivers, c.f. VDPAU#Configuration. The drivers are installed in /usr/lib/dri/. (Discuss in Talk:VA-API#)

The driver used by VA-API is autodetected, but sometimes it may be necessary to configure it manually by setting the environment variable LIBVA_DRIVER_NAME, for example:

export LIBVA_DRIVER_NAME=vdpau

Verifying

Verify the settings for VAAPI by running vainfo, which is provided by the libva package:

$ vainfo
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'vdpau'
libva info: Trying to open /usr/lib/dri/vdpau_drv_video.so
libva info: Found init function __vaDriverInit_0_35
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.38 (libva 1.6.1)
vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG4Simple            : VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
      VAProfileH264Baseline           : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

VAEntrypointVLD means that your card is capable to decode this format, VAEntrypointEncSlice means that you can encode to this format.

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.