Share via


PDXVAHDSW_ProposeVideoPrivateFormat función de devolución de llamada (dxvahd.h)

Obtiene un formato de superficie privada de un dispositivo de alta definición de alta definición de vídeo de Microsoft DirectX (DXVA-HD).

Sintaxis

PDXVAHDSW_ProposeVideoPrivateFormat PdxvahdswProposevideoprivateformat;

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

Parámetros

[in] hDevice

Identificador del dispositivo DXVA-HD del complemento.

[in, out] pFormat

Puntero a un valor D3DFORMAT . En la entrada, especifica el formato de superficie solicitado por la aplicación. En la salida, especifica el formato de superficie privada que propone el dispositivo de complemento.

Valor devuelto

Si esta función de devolución de llamada se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Se llama a esta función cuando la aplicación llama a IDXVAHD_Device::CreateVideoSurface si se cumplen las condiciones siguientes:

  • El tipo de superficie de entrada es DXVAHD_SURFACE_TYPE_VIDEO_INPUT_PRIVATE.
  • El dispositivo Direct3D no admite el formato de superficie solicitado por la aplicación de forma nativa.
Esta función permite al dispositivo del complemento proponer un formato alternativo con un diseño de memoria equivalente. Por ejemplo, si la aplicación solicita AYUV, el dispositivo del complemento podría asignar una superficie de tipo D3DFMT_A8R8G8B8.

Si la función se ejecuta correctamente, el método CreateVideoSurface intenta crear una superficie con el formato devuelto en pFormat.

Ejemplos

En el código siguiente se muestra cómo un dispositivo de complemento propone D3DFMT_A8R8G8B8 como un formato de superficie alternativo para 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 compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dxvahd.h

Consulte también

DXVA-HD

DXVAHDSW_CALLBACKS

IDXVAHD_Device::CreateVideoSurface

Funciones de Media Foundation