IDirectXVideoProcessor::VideoProcessBlt-Methode (dxva2api.h)

Führt einen Videoprozessvorgang in einem oder mehreren Eingabebeispielen aus und schreibt das Ergebnis auf eine Direct3D9-Oberfläche.

Syntax

HRESULT VideoProcessBlt(
  [in]  IDirect3DSurface9                 *pRenderTarget,
  [in]  const DXVA2_VideoProcessBltParams *pBltParams,
  [in]  const DXVA2_VideoSample           *pSamples,
  [in]  UINT                              NumSamples,
  [out] HANDLE                            *pHandleComplete
);

Parameter

[in] pRenderTarget

Ein Zeiger auf die IDirect3DSurface9-Schnittstelle einer Direct3D-Oberfläche . Die Ausgabe des Videoverarbeitungsvorgangs wird auf diese Oberfläche geschrieben. Die Oberfläche kann eine der folgenden Typen sein:

  • Eine Oberfläche, die durch Aufrufen von IDirectXVideoAccelerationService::CreateSurface mit dem DXVA2_VideoProcessRenderTarget-Flag erstellt wird. Sie können auch das DXVA2_VideoSoftwareRenderTarget-Flag verwenden, aber nur, wenn die Geräte-GUID DXVA2_VideoProcSoftwareDevice (Software-Videoverarbeitungsgerät) ist.
  • Eine Oberfläche, die von einem Direct3D-Gerät mit dem D3DUSAGE_RENDERTARGET Verwendungszeichen erstellt wurde.
  • Eine Direct3D-Swapchain.

[in] pBltParams

Ein Zeiger auf eine DXVA2_VideoProcessBltParams Struktur, die den auszuführenden Videoverarbeitungsvorgang beschreibt.

[in] pSamples

Ein Zeiger auf ein Array von DXVA2_VideoSample Strukturen, die die Eingabebeispiele enthalten. Es muss mindestens ein Element im Array vorhanden sein.

Die maximale Anzahl von Eingabebeispielen wird durch die Konstante MAX_DEINTERLACE_SURFACES angegeben, die in der Kopfzeilendatei dxva2api.h definiert ist.

[in] NumSamples

Die Anzahl der Elemente im pSamples-Array .

[out] pHandleComplete

Reserviert; auf NULL festgelegt.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
D3DERR_DRIVERINTERNALERROR
Interner Treiberfehler.
E_INVALIDARG
Ungültige Argumente.

Bemerkungen

Wenn die Methode zurückgegeben wird, wird der Vorgang möglicherweise nicht abgeschlossen.

Wenn die Methode E_INVALIDARG zurückgibt, überprüfen Sie folgendes:

  • Die Anzahl der Eingabebeispiele (NumSamples) muss kleiner oder gleich MAX_DEINTERLACE_SURFACES sein.
  • Die Direct3D-Oberfläche muss ein gültiges Ziel für VideoProcessBlt sein. Ausführliche Informationen finden Sie in der Beschreibung des pRT-Parameters .
  • Die in pBltParams angegebene Präsentationszeit (TargetFrame) muss den Anfangs- und Endzeiten für das aktuelle Bild aus dem primären Datenstrom entsprechen. Insbesondere muss es kleiner als die Endzeit und größer als oder gleich der Startzeit sein. Beachten Sie, dass das erste Beispiel in pSamples möglicherweise nicht das aktuelle Bild ist, wenn das pSamples-Array Rückwärtsreferenzbilder enthält. Weitere Informationen finden Sie unter "Eingabebeispielreihenfolge".
  • Das Zielrechteck (TargetRect) in pBltParams kann nicht größer als die Zieloberfläche (pRT) sein.
  • Die in pBltParams angegebene Verschränkungsgröße (ConstrictionSize) kann nicht kleiner als null oder größer als das Zielrechteck sein.
  • Die Alphakomponente der Hintergrundfarbe muss opqaue sein.
  • Die in pBltParams angegebenen ProcAmp-Werte müssen gültig sein. Für alle ProcAmp-Einstellungen, die vom Treiber unterstützt werden, müssen diese Werte innerhalb der Bereiche liegen, die von der IDirectXVideoProcessor::GetProcAmpRange-Methode zurückgegeben werden.
  • Die in pBltParams angegebenen Rausch- und Detailfilter müssen gültig sein. Für alle Filter, die vom Treiber unterstützt werden, müssen diese Werte innerhalb der Bereiche liegen, die von der IDirectXVideoProcessor::GetFilterPropertyRange-Methode zurückgegeben werden.
  • Der in pBltParams angegebene Alphawert muss im Bereich [0...1] enthalten sein.
  • Für jedes Eingabebeispiel, das in pSamples angegeben ist:
    • Die Startzeit kann nicht größer als die Endzeit sein.
    • Ein gültiger IDirect3DSurface9-Zeiger muss bereitgestellt werden.
    • Das Quellrechteck kann nicht größer als die Eingabeoberfläche sein.
    • Das Zielrechteck kann nicht größer als die Zieloberfläche sein.
    • Die Planar-Alpha muss im Bereich [0...1] einschließlich liegen.
  • Für alle Rechtecks (Quelle, Ziel und Ziel) kann das Rechteck nicht invertiert werden (links > rechts oder > unten) oder negative Werte aufweisen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile dxva2api.h

Weitere Informationen

DXVA Videoverarbeitung

DXVA2_VideoSample

IDirectXVideoProcessor