Difference between revisions of "VA-API"

From ArchWiki
Jump to: navigation, search
(Configuration: Sorry, the section VDPAU is separated from VA-API)
(redirect per template)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Graphics]]
+
#REDIRECT: [[Hardware video acceleration]]
[[Category:X server]]
 
[[ja:VA-API]]
 
[[ru:VA-API]]
 
[[zh-CN:VA-API]]
 
{{Related articles start}}
 
{{Related|VDPAU}}
 
{{Related|XvMC}}
 
{{Related articles end}}
 
 
 
'''[http://www.freedesktop.org/wiki/Software/vaapi Video Acceleration API]''' is a specification and open source library to provide hardware accelerated video encoding and decoding.
 
 
 
== Supported hardware ==
 
 
 
'''Open source drivers:'''
 
 
 
* [[ATI|AMD]] Radeon 9500 and newer GPUs are supported by the {{pkg|libva-vdpau-driver}} package together with the {{pkg|mesa}} package.
 
* [[Intel]] GMA 4500 series and newer GPUs are supported by the {{pkg|libva-intel-driver}} package together with the {{pkg|mesa}} package.
 
* [[Nouveau|NVIDIA]] GeForce 8 series and newer GPUs are supported by the {{pkg|libva-vdpau-driver}} package together with the {{pkg|mesa}} package. It uses the {{AUR|nouveau-fw}} package, which contains the required firmware to operate that is presently extracted from the NVIDIA binary driver.
 
 
 
'''Proprietary drivers:'''
 
 
 
* [[AMD Catalyst|AMD]] Radeon HD 4000 series and newer GPUs are supported by the {{AUR|libva-xvba-driver}} package. It uses the {{AUR|catalyst-utils}} driver for Radeon HD 5000 series and newer, and {{AUR|catalyst-total-hd234k}} for Radeon HD 4000 series.
 
* [[NVIDIA]] GeForce 8 series and newer GPUs are supported by the {{pkg|libva-vdpau-driver}} package together with the {{pkg|nvidia-utils}} driver.
 
 
 
=== Supported formats ===
 
 
 
{| class="wikitable" style="width: 100%"
 
!
 
! colspan="3" | Open source
 
! colspan="2" | 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
 
| <center>—</center>
 
| GeForce 200 and newer
 
| Radeon HD 6000 and newer
 
| GeForce 200 and newer
 
|-
 
| H264 decoding
 
| Radeon HD 4000 and newer
 
| GMA 4500<sup>1</sup>, 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
 
| <center>—</center>
 
| Ivy Bridge Graphics and newer
 
| <center>—</center>
 
| <center>—</center>
 
| <center>—</center>
 
|-
 
| H264 encoding
 
| <center>—</center>
 
| Sandy Bridge Graphics and newer
 
| <center>—</center>
 
| <center>—</center>
 
| <center>—</center>
 
|}
 
 
 
<sup>1</sup>Supported by the {{AUR|libva-intel-driver-g45-h264}} package. See [[Intel graphics#H.264_decoding_on_GMA_4500|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 ===
 
 
 
{{Note|There may no need to export the {{ic|LIBVA_DRIVER}}, since most (modern) applications and environments will find the VA-API library [[#Verifying|automatically]].}}
 
 
 
For VAAPI acceleration, set the environment variable {{ic|LIBVA_DRIVER_NAME}} for {{Pkg|libva}} to find the desired driver, e.g.:
 
 
 
{{hc|1=~/.bashrc|2=
 
export LIBVA_DRIVER_NAME=gallium
 
}}
 
 
 
=== Verifying ===
 
Verify the settings for VAAPI by running {{ic|vainfo}}, which is provided by the {{Pkg|libva}} package:
 
{{hc|$ vainfo|<nowiki>
 
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</nowiki>}}
 
 
 
''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.
 
* VLC media player: see [[VLC media player#Hardware acceleration support]].
 
* Mpv: see [[Mpv#Hardware Decoding]].
 
* MPlayer: see [[MPlayer#Enabling VA-API]].
 

Latest revision as of 15:40, 18 May 2016