Wie verwende ich Hardware-beschleunigte Video- / H.264-Dekodierung mit DirectX 11 und Windows 7?

Ich habe den ganzen Tag geforscht und bin nicht weit gekommen. Ich arbeite unter Windows 7 mit DirectX 11. (Meine endgültige Ausgabe soll ein Videorahmen auf einer DX11-Textur sein.) Ich möchte einige sehr große H.264-Videodateien dekodieren, die CPU (mit libav) jedoch nicht Schneide es.

Ich habe mir die hwaccel-Funktionen von libav unter Verwendung von DXVA2 angesehen, bin aber auf eine Blockade gestoßen, wenn ich einen IDirectXVideoDecoder erstellen muss, der nur mit einer D3D9-Schnittstelle erstellt werden kann. (was ich nicht mit DX11 habe)

Wann immer ich DXVA-Dokumentation nachgeschlagen habe, verweist sie nicht auf DX11. Wurde diese in DX10 oder 11 entfernt? (Können Sie keine Bestätigung dafür finden oder irgendwo, wo besagt, dass DXVA2 redundant ist, möglicherweise, dass es von DXVA-HD abgelöst wurde?)

Dann habe ich mir das Media Foundation SDK angesehen, da es so aussieht, als ob ich es für DX11 verwenden würde ... Aber keiner der Typen ist in meinen Kopfzeilen vorhanden (Die Dokumente sagen, dass sie nur enthalten, aber das ergibt nichts). Sie geben auch ein Minimum von Windows 8 an, um es zu verwenden.

Ich glaube, um MF zu verwenden, brauche ich das Windows 8 SDK, das jetzt alle DirectX-Bibliotheken / -Header enthält.

So bleibt eine Lücke mit Windows 7 ... Ist es möglich, hardwarebeschleunigte Videodekodierung zu erhalten? und wenn ja, welche API soll ich verwenden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage