PFND3DDDI_DECODEEXECUTE función de devolución de llamada (d3dumddi.h)

La función DecodeExecute realiza una operación de descodificación mediante el dispositivo de descodificador de Microsoft DirectX Video Accelerator (VA).

Sintaxis

PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;

HRESULT Pfnd3dddiDecodeexecute(
  HANDLE hDevice,
  const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}

Parámetros

hDevice

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

pData [in]

Puntero a una estructura de D3DDDIARG_DECODEEXECUTE que describe la operación de descodificación de DirectX VA que se va a realizar.

Valor devuelto

DecodeExecute devuelve uno de los siguientes valores:

Código devuelto Descripción
S_OK La operación de descodificación de DirectX VA se realiza correctamente.
E_OUTOFMEMORY DecodeExecute no pudo asignar la memoria necesaria para que se complete.

Comentarios

El tiempo de ejecución de Microsoft Direct3D llama a la función DecodeExecute para todas las operaciones de descodificación estándar de DirectX VA. Cuando se llama primero a DecodeExecute para cada fotograma, la estructura D3DDDIARG_DECODEEXECUTE especificada por pData debe contener toda la información del búfer necesaria para descodificar el marco. Posteriormente, se puede llamar a DecodeExecute para el mismo marco; sin embargo, estas llamadas solo requieren datos incrementales. Si el GUID del tipo de descodificación de DirectX VA determinado no usa un búfer especificado en D3DDDIARG_DECODEEXECUTE, el identificador y la descripción del búfer se establecen en NULL. Por ejemplo, dado que el tipo de descodificación MPEG2 requiere parámetros de imagen, un búfer de macrobloqueo y un búfer de diferencia residual, todos estos elementos deben estar presentes en la primera llamada para cada fotograma. Sin embargo, según el tamaño de los datos, el tiempo de ejecución de Direct3D podría llamar de nuevo a DecodeExecute para proporcionar solo datos adicionales de diferencia residual necesarios para descodificar todo el fotograma.

DirectX VA 1.0 admite un mecanismo de sincronización externo a través de una llamada a la función DdMoCompQueryStatus . En DirectX VA 2.0, el controlador de pantalla en modo de usuario debe realizar su propia sincronización, similar a la forma en que sincroniza la canalización 3D. Para obtener más información sobre esta sincronización, vea Sincronizar operaciones de descodificación de vídeo.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Escritorio
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS