VDPAU - VDPAU

VDPAU
Původní autoři Nvidia
Vývojáři freedesktop.org
Stabilní uvolnění
1.3 / 18. října 2019 ; Před 19 měsíci ( 2019-10-18 )
Napsáno C , C ++
Operační systém Cross-platform
Typ
Licence Licence MIT
webová stránka www .freedesktop .org / wiki / Software / VDPAU /

Video Decode and Presentation API for Unix ( VDPAU ) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library ( libvdpau ) distribuovaný pod licencí MIT . VDPAU podporuje také Nvidia .

Rozhraní VDPAU mají implementovat ovladače zařízení , jako je ovladač Nvidia GeForce , nouveau , amdgpu , aby mohl nabídnout software pro koncové uživatele, jako je VLC media player nebo GStreamer , standardizovaný přístup k dostupnému hardwaru pro akceleraci dekomprese videa ve formě aplikace - blokuje specifický integrovaný obvod (ASIC) na grafických procesorových jednotkách (GPU), jako je PureVideo od společnosti Nvidia nebo AMD Unified Video Decoder, a využívá je.

VDPAU je zaměřen na unixové operační systémy (včetně Linux , FreeBSD , Solaris ).

Funkční rozsah rozhraní

VDPAU umožňuje videoprogramům přistupovat ke specializovanému dekódování videa ASIC na GPU, aby odlehčily části procesu dekódování videa a následného zpracování videa z CPU na GPU.

V současné době jsou částmi, které lze VDPAU uvolnit na GPU, kompenzace pohybu (mo comp), inverzní diskrétní kosinová transformace (iDCT), VLD (dekódování s proměnnou délkou) a odblokování pro MPEG-1 , MPEG-2 , MPEG-4 Videa s kódováním ASP (MPEG-4 část 2) , H.264 / MPEG-4 AVC a VC-1 , WMV3 / WMV9 . Které konkrétní kodeky, které lze načíst do GPU, závisí na generační verzi hardwaru GPU.

Dějiny

VDPAU byla původně navržena společností Nvidia pro jejich blok PureVideo SIP přítomný na jejich řadě GeForce 8 a novějších GPU.

9. března 2015 vydala Nvidia VDPAU verze 1.0, která podporuje dekódování High Efficiency Video Coding (HEVC) pro profily Main, Main 4: 4: 4, Main Still Picture, Main 10 a Main 12.

Ovladače zařízení a řadiče videa implementující VDPAU

VDPAU je implementováno do ovladačů softwarových zařízení X11 , ale spoléhá na akcelerační funkce v hardwarovém GPU.

Všechny grafické karty Nvidia, pro které ovladač implementuje VDPAU, jsou uvedeny v Nvidia PureVideo .

S3 Graphics přidal VDPAU k ovladačům Linuxu pro jejich grafické karty Chrome 400 . Od verze 14.02.17 ovladače zařízení pro Linux je VDPAU k dispozici s hardwarem S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT a S3 Chrome 540 GTX.

Společnost ATI / AMD vydala ovladač open source pro grafické karty Radeon HD 4000+ s akcelerací VDPAU.

Intel nenabízí ovladače VDPAU, podporuje pouze jejich VA-API . Ovladače VA-API společnosti Intel je však možné použít prostřednictvím libvdpau-va-gl .

Nvidia doufá, že další návrháři GPU učiní své produkty kompatibilní s knihovnou VDPAU s otevřeným zdrojovým kódem a poskytnou ovladačům akceleraci VDPAU uvedením příkladů názvů ovladačů specifických pro hardware pro Intel a ATI: libvdpau_intel.so a libvdpau_ati.so. Intel uvedl, že uvažuje o VDPAU.

sunxi SoC ( Allwinner ) mají experimentální implementaci VDPAU.

Mesa od verze 8.0 obsahuje VDPAU pro grafické karty, které využívají Gallium3D .

Obecný ovladač VDPAU

Od konce roku 2013 existuje nezávisle vyvinutý back-endový ovladač, který zase používá OpenGL (pro kreslení a změnu měřítka) a VA-API, pokud je k dispozici (pro dekódování). Bylo hlášeno, že funguje na některých grafikách Intel a Adobe Flash Player .

Zrychlené škálování pouze s funkcemi OpenGL je potřeba hlavně kvůli přehrávači Flash Player, který používá neakcelerované škálování, pokud není k dispozici VDPAU. Téměř veškerý další video software, který běží na Linuxu nebo FreeBSD, podporuje Xv . Je to nezbytné pro video na celou obrazovku na pomalejších počítačích bez nativní podpory VDPAU.

Překlad VDPAU na VA-API pro HW dekódování je užitečný u nedávného grafického hardwaru Intel, protože některý software podporuje HW dekódování přes VDPAU, ale ne VA-API.

Software, který podporuje VDPAU

VDPAU lze také použít jako backend pro VA-API a OpenMAX IL , které samy pokrývají podmnožinu funkcí VDPAU; takže jakýkoli software, který používá VA-API nebo OpenMAX IL, je také částečně schopen používat VDPAU (např. VLC media player).

Sady funkcí Nvidia VDPAU

Sady funkcí Nvidia VDPAU jsou různé hardwarové generace GPU podporující různé úrovně hardwarových dekódovacích schopností (Nvidia PureVideo). U sad funkcí A, B a C je maximální šířka a výška videa 2048 pixelů , minimální šířka a výška 48 pixelů a všechny kodeky jsou aktuálně omezeny na maximálně 8192 makrobloků (8190 pro VC-1 / WMV9). Částečné zrychlení znamená, že dekódování VLD (bitstream) se provádí na CPU, přičemž GPU provádí pouze IDCT , kompenzaci pohybu a odblokování . Úplné zrychlení znamená, že GPU provádí všechny VLD, IDCT, kompenzaci pohybu a odblokování.

Sada funkcí A
Podporuje úplné zrychlení pro H.264 a částečné zrychlení pro MPEG-1 , MPEG-2 , VC-1 / WMV9
Sada funkcí B
Podporuje úplné zrychlení pro MPEG-1, MPEG-2, VC-1 / WMV9 a H.264.
Všimněte si, že veškerý hardware sady funkcí B nemůže dekódovat H.264 pro následující šířky: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 pixelů.
Sada funkcí C
Podporuje úplné zrychlení pro MPEG-1, MPEG-2, MPEG-4 část 2 (aka MPEG-4 ASP) , VC-1 / WMV9 a H.264.
Globální kompenzace pohybu a rozdělení dat nejsou pro MPEG-4 část 2 podporovány.
Sada funkcí D
Podobně jako sada funkcí C, ale přidaná podpora pro dekódování H.264 s rozlišením až 4032 × 4080 a MPEG-1 / MPEG-2 s rozlišením až 4032 × 4048 pixelů.
Sada funkcí E
Podobně jako sada funkcí D, ale přidaná podpora pro dekódování H.264 s rozlišením až 4096 × 4096 a MPEG-1 / MPEG-2 s rozlišením až 4080 × 4080 pixelů. GPU se sadou funkcí VDPAU E podporují vylepšený režim maskování chyb, který poskytuje robustnější zpracování chyb při dekódování poškozených video streamů.
Sada funkcí F
Představeno vyhrazené HEVC hlavní (8bitové) a hlavní 10 (10bitové) video dekódování s rozlišením až 4096 × 2304 pixelů.
Sada funkcí G
Hardwarová podpora pro dekódování videa HEVC Main 12 (12-bit), ale VDPAU tento profil aktuálně nepodporuje.
Sada funkcí H
Sada funkcí H je schopná hardwarově akcelerovat dekódování video streamů H.265 / HEVC 8192x8192 (rozlišení 8k).

libvdpau samostatná knihovna VDPAU

Samostatná knihovna VDPAU libvdpau je distribuována společností Nvidia nezávisle na jejich proprietárním grafickém ovladači pro Linux ve snaze pomoci přijetí VDPAU osobami mimo Nvidia. Tento balíček knihovny s otevřeným zdrojovým kódem obsahuje souhrnnou knihovnu a ladicí knihovnu, která umožňuje ostatním výrobcům implementovat VDPAU do svých ovladačů zařízení.

Viz také

Reference

externí odkazy