Informationen zu DXVA 2.0

DirectX-Videobeschleunigung (DXVA) ist eine Programmierschnittstelle (API) und eine entsprechende Schnittstelle zwischen Betriebssystem und Gerätetreibern (DDI) zum Beschleunigen der Videoverarbeitung mittels Hardwarebeschleunigung. Softwarecodecs und Softwarevideoprozessoren können bestimmte CPU-intensive Vorgänge mithilfe von DXVA in die GPU auslagern. Ein Softwaredecoder kann z. B. die inverse diskrete Kosinustransformation zu (iDCT) in die GPU auslagern.

In DXVA werden einige Decodierungsvorgänge durch den Grafik-Hardwaretreiber implementiert. Dieser Satz von Funktionalitäten wird Beschleuniger genannt. Andere Decodierungsvorgänge werden von Anwendungssoftware im Benutzermodus implementiert, die als Hostdecoder oder Softwaredecoder bezeichnet wird. (Die Begriffe Hostdecoder und Softwaredecoder sind gleichbedeutend.) Die vom Beschleuniger ausgeführte Verarbeitung wird als Off-Host-Verarbeitung bezeichnet. Der Beschleuniger verwendet in der Regel die GPU, um einige Vorgänge zu beschleunigen. Jedes Mal, wenn der Beschleuniger einen Decodierungsvorgang ausführt, muss der Hostdecoder dem Beschleuniger Datenpuffer mit den für den Vorgang nötigen Informationen übermitteln.

Die DXVA 2-API erfordert Windows Vista oder höher. Die DXVA 1-API wird nach wie vor in Windows Vista für Abwärtskompatibilität unterstützt. Für die Konversion zwischen den Versionen der API und der entgegengesetzten Version der DDI wird eine Emulationsschicht bereitgestellt:

  • Wenn der Grafiktreiber dem Windows Display Driver Model (WDDM) entspricht, werden DXVA 1-API-Aufrufe in DXVA 2-DDI-Aufrufe konvertiert.
  • Wenn der Grafiktreiber das ältere Windows XP Display Driver Model (XPDM) verwenden, werden DXVA 2-API-Aufrufe in DXVA 1-DDI-Aufrufe konvertiert.

In der folgenden Tabelle werden die Anforderungen an das Betriebssystem und die unterstützten Videorenderer für jede Version der DXVA-API angezeigt.

API-VersionAnforderungenUnterstützung für Videorenderer
DXVA 1Windows 2000 oder höherOverlay Mixer, VMR-7, VMR-9 (nur DirectShow)
DXVA 2Windows VistaEVR (DirectShow und Media Foundation)

 

In DXVA 1 muss der Softwaredecoder über den Videorenderer auf die API zugreifen. Es gibt keine Möglichkeit, die DXVA 1-API zu verwenden, ohne den Videorenderer aufzurufen. Diese Einschränkung wurde mit DXVA 2 aufgehoben. Mit DXVA 2 kann der Hostdecoder (oder eine andere Anwendung) über die IDirectXVideoDecoderService-Schnittstelle direkt auf die API zugreifen.

In der DXVA 1-Dokumentation werden die für die folgenden Videostandards verwendeten Decodierungsstrukturen beschrieben:

  • ITU-T-Rec. H.261
  • ITU-T-Rec. H.263
  • MPEG-1 Video
  • MPEG-2 Main Profile Video

Die folgenden Spezifikationen definieren die DXVA-Erweiterungen für andere Videostandards:

DXVA 1 und DXVA 2 verwenden dieselben Datenstrukturen zur Decodierung. Die Konfiguration der Decodierungssitzung wird nun jedoch abweichend vorgenommen. DXVA 1 verwendet einen "Untersuchen und Sperren"-Mechanismus, wobei der Hostdecoder verschiedene Konfigurationen testen kann, bevor die gewünschte Konfiguration auf dem Beschleuniger eingerichtet wird. In DXVA 2 gibt der Beschleuniger eine Liste unterstützter Konfigurationen zurück, aus der der Hostdecoder eine wählt. Details werden in den folgenden Abschnitten gegeben:

Verwandte Themen

DirectX-Videobeschleunigung 2.0
DXVA 1.0 Spezifikation

 

 

Anzeigen:
© 2014 Microsoft