The main motivation for VA-API is to enable hardware-accelerated video decode at various entry-points (VLD, IDCT, motion compensation, deblocking4) 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.5
As of 2022, VA-API is natively supported by:6
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.
Video decoding and post-processing processes that can be offloaded and accelerated if both the device drivers and GPU hardware supports them:
The current interface is window system independent, so that it can potentially be used with graphics sub-systems other than the DRI (Direct Rendering Infrastructure) in X Window System, such as direct with framebuffer, and it can work with third-party DRM (Direct Rendering Manager) libraries. In a nutshell, it is a scheme to pass various types of data buffers from the application to the GPU for decoding or encoding a compressed bit-stream.
"VA-API Video Acceleration On Intel Medfield - Phoronix". Phoronix.com. Retrieved 23 February 2019. https://www.phoronix.com/scan.php?page=news_item&px=MTA0NDI ↩
"Video4Linux2: Path to a Standardized Video Codec API" (PDF). Events.linuxfoundation.org. Archived from the original (PDF) on 6 January 2014. Retrieved 23 February 2019. https://web.archive.org/web/20140106032317/https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf ↩
Nathan Willis (2009-07-01). "VA API slowly, but surely, making progress". Lwn.net. https://lwn.net/Articles/339349/ ↩
"Mplayer, FFmpeg Gain VA-API Support - Phoronix". Phoronix.com. Retrieved 23 February 2019. https://www.phoronix.com/scan.php?page=article&item=xorg_vaapi_mplayer&num=1 ↩
"vaapi". Freedesktop.org. Retrieved 23 February 2019. https://www.freedesktop.org/wiki/Software/vaapi/ ↩
"Hardware video acceleration". wiki.ArchLinux.org. https://wiki.archlinux.org/index.php/Hardware_video_acceleration ↩
Vilerino, Sil (2023-02-15). "Video acceleration API (VA-API) now available on Windows!". DirectX Developer Blog. Retrieved 2023-03-08. https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows/ ↩
"Hardware/vaapi". wiki.libav.org. Archived from the original on 2017-02-01. Retrieved 2017-01-20. https://wiki.libav.org/Hardware/vaapi ↩
"[Client] 2.2.6 Released – Significant CPU usage reductions included". Bluecherrydvr.com. 2 March 2017. Retrieved 23 February 2019. http://www.bluecherrydvr.com/client-2-2-6-released-significant-cpu-usage-reductions-included/ ↩
"datarhei Restreamer". https://docs.datarhei.com/restreamer/ ↩
"Emby Server 3.0.6400 Released". Emby.media. 29 August 2016. Retrieved 23 February 2019. http://emby.media/ ↩
"Archived copy". Archived from the original on 2016-09-16. Retrieved 2016-08-31.{{cite web}}: CS1 maint: archived copy as title (link) https://web.archive.org/web/20160916205031/https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog ↩
"Firefox on Fedora finally gets VA-API on Wayland". mastransky.wordpress.com. 3 June 2020. Retrieved 2020-08-19. https://mastransky.wordpress.com/2020/06/03/firefox-on-fedora-finally-gets-va-api-on-wayland/ ↩
"Firefox 80 Available With VA-API On X11, WebGL Parallel Shader Compile Support". www.phoronix.com. Retrieved 2020-08-25. https://www.phoronix.com/scan.php?page=news_item&px=Firefox-80-Released ↩
"Fluendo". https://fluendo.com/en/ ↩
"Fluendo's New Codecs Support VDPAU, VA-API - Phoronix". Phoronix.com. Retrieved 23 February 2019. https://www.phoronix.com/scan.php?page=news_item&px=ODEwMw ↩
"Hardware Acceleration". https://docs.frigate.video/configuration/hardware_acceleration/#via-vaapi ↩
"H.264 VA-API GPU Video Acceleration For Flash - Phoronix". Phoronix.com. Retrieved 23 February 2019. https://www.phoronix.com/scan.php?page=news_item&px=NzU1MA ↩
"Hardware-accelerated video decoding, encoding and processing on Intel graphics through VA-API". Cgit.freedesktop.org. Retrieved 23 February 2019. https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi ↩
"Mailing list entry that describes uses of VA-API". Lists.moblin.org. Retrieved 23 February 2019. http://lists.moblin.org/pipermail/dev/2008-September/002750.html ↩
"RealPlayer for MID & Intel/Linux FAQ". HelixCommunity.org. Archived from the original on 2012-03-24. Retrieved 2011-05-12. https://web.archive.org/web/20120324001505/https://community.helixcommunity.org/Licenses/realplayer_for_mid_faq.html ↩
"Intel GPU". jellyfin.org. Retrieved 2024-12-02. https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/ ↩
"XBMC Gets Working Intel VA-API Support - Phoronix". Phoronix.com. Retrieved 23 February 2019. https://www.phoronix.com/scan.php?page=news_item&px=ODEyNw ↩
"This gist contains instructions on setting up FFmpeg and Libav to use VAAPI-based hardware accelerated encoding (on supported platforms) for H.264 (and H.265 on supported hardware) video formats". Gist. Retrieved 2024-12-02. https://gist.github.com/jcf/266239b2b9106bcd00358acb77c1f12e ↩
"gbeauchesne / mplayer-vaapi". https://github.com/gbeauchesne/mplayer-vaapi ↩
"Release Notes - 0.25 - MythTV Official Wiki". Mythtv.org. Retrieved 23 February 2019. https://www.mythtv.org/wiki/Release_Notes_-_0.25 ↩
"OBS Studio Now Supports VA-API For Video Encoding - Phoronix". www.phoronix.com. Retrieved 2020-08-06. https://www.phoronix.com/scan.php?page=news_item&px=OBS-Studio-VA-API-H264 ↩
"OpenShot Library | libopenshot". https://openshot.org/files/libopenshot/md_doc_HW-ACCEL.html ↩
"VLC 1.1.0 release - VideoLAN". Videolan.org. Retrieved 23 February 2019. http://www.videolan.org/vlc/releases/1.1.0.html ↩
"the xine project - News Feed". Xine-project.org. Retrieved 23 February 2019. http://xine-project.org/news ↩