Condividi tramite


Metodo IDirectXVideoProcessor::VideoProcessBlt (dxva2api.h)

Esegue un'operazione di elaborazione video su uno o più esempi di input e scrive il risultato in una superficie Direct3D9.

Sintassi

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

Parametri

[in] pRenderTarget

Puntatore all'interfaccia IDirect3DSurface9 di una superficie Direct3D . L'output dell'operazione di elaborazione video verrà scritto in questa superficie. La superficie può essere uno dei tipi seguenti:

  • Una superficie creata chiamando IDirectXVideoAccelerationService::CreateSurface con il flag di DXVA2_VideoProcessRenderTarget . È anche possibile usare il flag di DXVA2_VideoSoftwareRenderTarget , ma solo quando il GUID del dispositivo è DXVA2_VideoProcSoftwareDevice (dispositivo di elaborazione video software).
  • Superficie creata da un dispositivo Direct3D con il flag di utilizzo D3DUSAGE_RENDERTARGET .
  • Una catena di scambio Direct3D.

[in] pBltParams

Puntatore a una struttura DXVA2_VideoProcessBltParams che descrive l'operazione di elaborazione video da eseguire.

[in] pSamples

Puntatore a una matrice di strutture DXVA2_VideoSample che contengono gli esempi di input. Deve essere presente almeno un elemento nella matrice.

Il numero massimo di esempi di input viene assegnato dalla costante MAX_DEINTERLACE_SURFACES definita nel file di intestazione dxva2api.h.

[in] NumSamples

Numero di elementi nella matrice pSamples .

[out] pHandleComplete

Riservati; impostato su NULL.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
D3DERR_DRIVERINTERNALERROR
Errore del driver interno.
E_INVALIDARG
Argomenti non validi.

Commenti

Quando il metodo restituisce, l'operazione potrebbe non essere completata.

Se il metodo restituisce E_INVALIDARG, verificare quanto segue:

  • Il numero di esempi di input (NumSamples) deve essere minore o uguale a MAX_DEINTERLACE_SURFACES.
  • La superficie Direct3D deve essere una destinazione valida per VideoProcessBlt. Per informazioni dettagliate, vedere la descrizione del parametro pRT .
  • L'ora di presentazione (TargetFrame) specificata in pBltParams deve corrispondere agli orari di inizio e di fine per l'immagine corrente dal flusso primario. In particolare, deve essere minore dell'ora di fine e maggiore o uguale all'ora di inizio. Si noti che il primo esempio in pSamples potrebbe non essere l'immagine corrente, se la matrice pSamples contiene immagini di riferimento indietro. Per altre informazioni, vedere Ordine di esempio di input.
  • Il rettangolo di destinazione (TargetRect) specificato in pBltParams non può essere maggiore della superficie di destinazione (pRT).
  • Le dimensioni di constrizione (ConstrictionSize) specificate in pBltParams non possono essere inferiori a zero o maggiore del rettangolo di destinazione.
  • Il componente alfa del colore di sfondo deve essere opqaue.
  • I valori ProcAmp specificati in pBltParams devono essere validi. Per qualsiasi impostazione ProcAmp supportata dal driver, questi valori devono rientrare negli intervalli restituiti dal metodo IDirectXVideoProcessor::GetProcAmpRange .
  • I filtri di rumore e dettagli specificati in pBltParams devono essere validi. Per tutti i filtri supportati dal driver, questi valori devono rientrare negli intervalli restituiti dal metodo IDirectXVideoProcessor::GetFilterPropertyRange .
  • Il valore alfa specificato in pBltParams deve trovarsi nell'intervallo [0...1] inclusivo.
  • Per ogni esempio di input specificato in pSamples:
    • L'ora di inizio non può essere maggiore dell'ora di fine.
    • È necessario specificare un puntatore IDirect3DSurface9 valido.
    • Il rettangolo di origine non può essere maggiore della superficie di input.
    • Il rettangolo di destinazione non può essere maggiore della superficie di destinazione.
    • L'alfa planare deve trovarsi nell'intervallo [0...1] inclusivo.
  • Per tutti i rettangoli (origine, destinazione e destinazione), il rettangolo non può essere invertito (a sinistra > o in > alto) o avere valori negativi.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxva2api.h

Vedi anche

Elaborazione video DXVA

DXVA2_VideoSample

IDirectXVideoProcessor