Video Acceleration API - Video Acceleration API

libva
Původní autoři Intel
První vydání 2008
Stabilní uvolnění
2.12.0 / 18. června 2021 ; před 3 měsíci ( 18. června 2021 )
Úložiště
Napsáno C
Operační systém Linux , Android , BSD
Typ API
Licence Licence MIT
webová stránka www .freedesktop .org /wiki /Software /vaapi / Upravte to na Wikidata

Video Acceleration API ( VA-API ) je open source API, které umožňuje aplikacím, jako je VLC media player nebo GStreamer , využívat hardwarové akcelerace videa, které obvykle poskytuje grafická procesorová jednotka (GPU). Implementuje ho bezplatná a open-source knihovna libva v kombinaci s hardwarově specifickým ovladačem, obvykle dodávaným společně s ovladačem GPU.

VA-API Video dekódování / kódování rozhraní je platforma a okenní systém nezávislý, ale je primárně zaměřen na Direct Rendering Infrastructure (DRI) v X Window System na Unix -like operačních systémů (včetně Linuxu , FreeBSD , Solaris ) a Android , nicméně to může potenciálně lze také použít s přímým framebufferem a grafickými subsystémy pro video výstup. Zrychlené zpracování zahrnuje podporu pro dekódování videa , kódování videa , subpicture míchání a vykreslování.

Specifikace VA-API byla původně navržena společností Intel pro její řadu GMA (Graphics Media Accelerator) hardwaru GPU s konkrétním účelem eventuálního nahrazení standardu XvMC jako výchozího unixového multiplatformního ekvivalentu rozhraní Microsoft Windows DirectX Video Acceleration (DxVA) API , ale dnes API již není omezeno na hardware nebo GPU specifická pro Intel. Ostatní hardware a výrobci mohou toto otevřené standardní API volně používat pro hardwarově akcelerované zpracování videa s vlastním hardwarem bez placení licenčních poplatků.

Přehled

Příklad výstupu vainfo zobrazující podporované video kodeky pro akceleraci VA-API

Hlavní motivací pro VA-API je umožnit hardwarově akcelerované dekódování videa v různých vstupních bodech ( VLD , IDCT , kompenzace pohybu , odblokování ) pro současné převládající standardy kódování ( MPEG-2 , MPEG-4 ASP / H.263 , MPEG-4 AVC/H.264 , H.265/HEVC a VC-1/WMV3 ). Uvažovalo se o rozšíření XvMC, ale vzhledem k jeho původnímu designu pouze pro MPEG-2 MotionComp dávalo větší smysl navrhnout rozhraní od nuly, které může plně odhalit schopnosti dekódování videa v dnešních GPU .

Podporovaný hardware a ovladače

Od roku 2019 VA-API nativně podporuje:

  • Open source ovladače Intel Quick Sync pro Linux
  • Mesa open-source ovladače pro grafické karty AMD a Intel
  • Ovladače AMDGPU-PRO pro grafické karty AMD v systému Linux
  • libva-vdpau-driver pro karty podporované VDPAU

Podporované video kodeky

VA-API aktuálně podporuje tyto video kodeky v oficiální hlavní verzi, ale mějte na paměti, že přesně to, které video kodeky jsou podporovány, závisí na hardwaru a schopnostech ovladače.

  • Zrychlení dekódování MPEG-2 Hlavní profil
  • Pokročilý profil dekódování akcelerace VC-1 / WMV3
  • MPEG-4 Part 2 (H.263) (aka MPEG-4 SP / MPEG-4 ASP, běžně známý jako Xvid ) akcelerace dekódování
  • Hlavní profil akcelerace kódování H.264 AVC
  • H.264 AVC akcelerace dekódování Vysoký profil
    • Hardwarové dekódování proměnné délky (VLD) H.264 / AVC - CABAC
    • Hardwarové dekódování proměnné délky (VLD) H.264 / AVC - CAVLC
    • Inverzní transformace hardwaru H.264 / AVC (IT)
    • Hardwarová kompenzace pohybu H.264 / AVC (HWMC)
    • H.264 / AVC Hardware In-Loop Deblocking (ILDB)
  • Zrychlení kódování H.265/HEVC
  • Zrychlení dekódování H.265/HEVC
  • Zrychlení 8bitového kódování VP9
  • Zrychlení 8bitového a 10bitového dekódování VP9

Procesy, které lze urychlit pomocí VA-API

Procesy dekódování videa a následného zpracování, které lze uvolnit a zrychlit, pokud je podporují ovladače zařízení i hardware GPU:

Softwarová architektura

Architektura API pro akceleraci videa

Aktuální rozhraní je nezávislé na okenním systému, takže jej lze potenciálně použít s jinými grafickými subsystémy než DRI (Direct Rendering Infrastructure) v systému X Window System , jako je například přímé s framebufferem , a může pracovat s DRM jiných výrobců ( Direct Rendering Manager) . Stručně řečeno, jedná se o systém se pak různé druhy datové vyrovnávací paměti z aplikace do GPU pro dekódování nebo kódování na stlačený bitového toku .

Software podporující VA-API

Viz také

  • Distributed Codec Engine (libdce) - API Texas Instruments pro engine video kodeků ve vestavěných systémech založených na OMAP
  • OpenMAX -bezplatný multiplatformní API pro abstrakci médií od společnosti Khronos Group

Reference

externí odkazy