Método IDirectXVideoAccelerationService::CreateSurface (dxva2api.h)
Crea un procesador de vídeo de Aceleración de vídeo directX (DXVA) o un destino de representación de descodificador DXVA.
Sintaxis
HRESULT CreateSurface(
[in] UINT Width,
[in] UINT Height,
[in] UINT BackBuffers,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[in] DWORD Usage,
[in] DWORD DxvaType,
[out] IDirect3DSurface9 **ppSurface,
[in, out] HANDLE *pSharedHandle
);
Parámetros
[in] Width
Ancho de la superficie, en píxeles.
[in] Height
Alto de la superficie, en píxeles.
[in] BackBuffers
Número de búferes de reserva. El método crea superficies BackBuffers + 1.
[in] Format
Formato de píxel, especificado como un valor D3DFORMAT o código FOURCC. Para obtener más información, consulte la documentación de Direct3D.
[in] Pool
Grupo de memoria en el que se va a crear la superficie, especificado como un valor D3DPOOL . Para obtener más información, consulte la documentación de Direct3D. Los descodificadores suelen usar el valor D3DPOOL_DEFAULT.
[in] Usage
Reservado. Establezca este valor en cero.
[in] DxvaType
Tipo de superficie que se va a crear. Use uno de los valores siguientes.
Valor | Significado |
---|---|
|
Destino de representación del descodificador de vídeo. |
|
Destino de representación del procesador de vídeo. Se usa para las operaciones IDirectXVideoProcessor::VideoProcessBlt . |
|
Destino de representación de software. Este tipo de superficie es para su uso con dispositivos DXVA de software. |
[out] ppSurface
Dirección de una matriz de punteros IDirect3DSurface9 asignados por el autor de la llamada. El tamaño de la matriz debe ser 1 + BackBuffers (suficiente para los búferes de reserva más un búfer frontal). El método rellena la matriz con punteros IDirect3DSurface9 . El llamador debe liberar todos los punteros de interfaz. Además, el búfer frontal contiene un recuento de referencias en cada uno de los búferes posteriores. Por lo tanto, los búferes de reserva nunca se eliminan hasta que se elimina el búfer frontal.
[in, out] pSharedHandle
Puntero a un identificador que se usa para compartir las superficies entre dispositivos Direct3D. Establezca este parámetro en NULL.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
parámetro no válido |
|
El Administrador de aceleración de vídeo de DirectX no se inicializa. |
|
Argumento de puntero NULL. |
Comentarios
Si el método devuelve E_FAIL, intente llamar a IDirect3DDeviceManager9::ResetDevice para restablecer el Administrador de aceleración de vídeo de DirectX.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | dxva2api.h |