Condividi tramite


PDXVAHDSW_ProposeVideoPrivateFormat funzione di callback (dxvahd.h)

Ottiene un formato di superficie privato da un dispositivo Microsoft DirectX Video Acceleration High Definition (DXVA-HD) di Microsoft DirectX.

Sintassi

PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;

HRESULT PdxvahdswProposevideoprivateformat(
  [in]      HANDLE hDevice,
  [in, out] D3DFORMAT *pFormat
)
{...}

Parametri

[in] hDevice

Handle per il dispositivo DXVA-HD plug-in.

[in, out] pFormat

Puntatore a un valore D3DFORMAT . In input specifica il formato di superficie richiesto dall'applicazione. Nell'output specifica il formato di superficie privata proposto dal dispositivo plug-in.

Valore restituito

Se questa funzione di callback ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione viene chiamata quando l'applicazione chiama IDXVAHD_Device::CreateVideoSurface se le condizioni seguenti sono vere:

  • Il tipo di superficie di input è DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE.
  • Il dispositivo Direct3D non supporta il formato di superficie richiesto dall'applicazione in modo nativo.
Questa funzione consente al dispositivo plug-in di proporre un formato alternativo con un layout di memoria equivalente. Ad esempio, se l'applicazione richiede AYUV, il dispositivo plug-in potrebbe allocare una superficie di tipo D3DFMT_A8R8G8B8.

Se la funzione ha esito positivo, il metodo CreateVideoSurface tenta di creare una superficie con il formato restituito in pFormat.

Esempio

Il codice seguente illustra come un dispositivo plug-in propone D3DFMT_A8R8G8B8 come formato di superficie alternativo per AYUV.

HRESULT CALLBACK ProposeVideoPrivateFormat(
    HANDLE hDevice,
    D3DFORMAT* pFormat 
    )
{
    switch (*pFormat)
    {
        case D3DFMT_AYUV: 
            *pFormat = D3DFMT_A8R8G8B8; 
            return S_OK;

        default: 
            return E_FAIL;
    }
}

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxvahd.h

Vedi anche

DXVA-HD

DXVAHDSW_CALLBACKS

IDXVAHD_Device::CreateVideoSurface

Funzioni di Media Foundation