Video Decode and Presentation API for Unix

libvdpau / VDPAU
Basisdaten

MaintainerNvidia
EntwicklerNvidia
Aktuelle Version1.1[1]
(16. März 2015)
Betriebssystemunixoide
ProgrammierspracheC
KategorieProgrammbibliothek
LizenzMIT-Lizenz[2][3]
Projektseite

Video Decode and Presentation API for Unix (VDPAU) ist eine offene Programmierschnittstelle für Grafikkarten, die ursprünglich von Nvidia geschrieben wurde. Sie dient zum Dekodieren von Videoströmen und Nachbearbeiten des dekodierten Materials auf unixoiden Betriebssystemen mit Hilfe der Hardwarebeschleunigung der Grafikkarte (genauer des Grafikprozessors), um so die CPU zu entlasten. Es gibt sowohl freie als auch proprietäre Grafikkartentreiber, die VDPAU unterstützen.

Mit VDPAU können die Berechnung der Bewegungskompensation, der inversen diskreten Kosinustransformation und das Variable Length Coding bei den Videoformaten MPEG-1, -2, -4 ASP, -4 AVC, VC-1 und WMV 3 von der Grafikkarte übernommen werden, im Fall von AVC und VC-1/WMV3 auch der Deblocking Filter. Der Videoprozessor auf der Grafikkarte übernimmt dann die Hauptrechenlast beim Dekodieren. Dadurch wird z. B. das flüssige Abspielen von HDTV und anderem, hochauflösendem Videomaterial auf älteren Rechnern mit vergleichsweise langsamer CPU ermöglicht. Unterstützt die Grafikkarte nicht alle Berechnungsschritte, können diese vom Treiber unterstützt sein, die CPU wird dann entsprechend weniger entlastet.

Unterstützte Produkte

Nvidia

Der proprietäre Nvidia-Treiber, welcher für Linux, Solaris und FreeBSD erhältlich ist, unterstützt VDPAU auf allen Grafikkarten, die zumindest PureVideo HD der zweiten Generation VP2 unterstützen, also ab der Geforce-8-Serie, ausgenommen der Geforce 8800 GTS, Geforce 8800 GTX und Geforce 8800 Ultra.

Der freie nouveau-Treiber bietet eine solche Unterstützung für alle Karten ab VP2 bis VP5 ab Mesa 8.0 und höher.[4] Die neuen GeForce GTX ab 750 bis 980 mit VP6+ werden vom aktuellen Stand Mesa 11.2 noch nicht voll unterstützt.

AMD

Im April 2013 erhielt der freie radeon-Treiber VDPAU-Unterstützung für Grafikkarten ab der HD-4000-Serie[5]; der proprietäre fglrx-Treiber unterstützt bislang nur XvBA[6]. Im aktuellen Mesa 11 sind alle Radeon ab Chip R600 und damit ab Radeon HD 2400 und höher unterstützt[7].

S3 Graphics

Alle Grafikkarten ab der Chrome-400 Reihe (es wird ausschließlich Linux unterstützt).[8]

Allwinner A10/A20 SOC

Für diese Plattformen besteht eine Implementierung von sunxi unter Linux.[9]

Unterstützung in Mediaplayern

MPlayer, MythTV, Kodi und xine verfügen über eine funktionierende VDPAU-Implementierung, andere Implementierungen sind in Arbeit.

Siehe auch

  • X-Video Bitstream Acceleration (XvBA) ist die konkurrierende, proprietäre Technik für Radeon-Grafikkarten des Herstellers AMD
  • PureVideo HD enthält Daten über die technischen Fähigkeiten der von VDPAU unterstützten Grafikkarten von Nvidia
  • Video Decode Acceleration Framework ist das API zum hardwarebeschleunigten Dekodieren von H.264 unter macOS
  • Video Acceleration API (VaAPI) ist die konkurrierende, offene Schnittstelle des Herstellers Intel
  • DirectX Video Acceleration ist eine vergleichbare Technologie für Windows

Einzelnachweise

  1. www.phoronix.com.
  2. „VDPAU Source“@1@2Vorlage:Toter Link/download.nvidia.com (Seite nicht mehr abrufbar, Suche in Webarchiven Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis. VDPAU Source mit Lizenzkopf
  3. „MIT-Lizenz“ MIT-Lizenz zum Vergleich
  4. https://nouveau.freedesktop.org/wiki/VideoAcceleration/
  5. Fatima Sheremetyeva: AMD Releases Open-Source UVD Video Support. Phoronix, 2. April 2013, abgerufen am 5. April 2013.
  6. Open Source. XvBA SDK and Tools. Advanced Micro Devices, Inc., abgerufen am 5. April 2013.
  7. http://xorg.freedesktop.org/wiki/RadeonFeature/
  8. „Treiber README“ (Liesmich Datei der Chrome 400 Treiber) (Memento vom 8. Juli 2012 im Webarchiv archive.today)
  9. „sunxi-vdpau“ GitHub-Repo