Compartilhar via


PDXVAHDSW_ProposeVideoPrivateFormat função de retorno de chamada (dxvahd.h)

Obtém um formato de superfície privada de um dispositivo de alta definição de aceleração de vídeo (DXVA-HD) do Microsoft DirectX.

Sintaxe

PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;

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

Parâmetros

[in] hDevice

Um identificador para o dispositivo DXVA-HD plug-in.

[in, out] pFormat

Um ponteiro para um valor D3DFORMAT . Na entrada, especifica o formato de superfície solicitado pelo aplicativo. Na saída, especifica o formato de superfície privada que o dispositivo plug-in propõe.

Valor retornado

Se essa função de retorno de chamada for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função é chamada quando o aplicativo chama IDXVAHD_Device::CreateVideoSurface se as seguintes condições forem verdadeiras:

  • O tipo de superfície de entrada é DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE.
  • O dispositivo Direct3D não dá suporte ao formato de superfície solicitado pelo aplicativo nativamente.
Essa função permite que o dispositivo plug-in proponha um formato alternativo com um layout de memória equivalente. Por exemplo, se o aplicativo solicitar a AYUV, o dispositivo plug-in poderá alocar uma superfície do tipo D3DFMT_A8R8G8B8.

Se a função for bem-sucedida, o método CreateVideoSurface tentará criar uma superfície com o formato retornado em pFormat.

Exemplos

O código a seguir mostra como um dispositivo plug-in propõe D3DFMT_A8R8G8B8 como um formato de superfície alternativo para a AYUV.

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

        default: 
            return E_FAIL;
    }
}

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dxvahd.h

Confira também

DXVA-HD

DXVAHDSW_CALLBACKS

IDXVAHD_Device::CreateVideoSurface

Funções do Media Foundation