Compartir a través de


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 descodificador 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.

Observaciones

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 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. DecodeExecute se puede llamar posteriormente 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, dependiendo del tamaño de los datos, el tiempo de ejecución de Direct3D podría llamar a DecodeExecute de nuevo para proporcionar solo datos adicionales de diferencia residual necesarios para descodificar todo el marco.

DirectX VA 1.0 admite un mecanismo de sincronización externo a través de una llamada a la función DdMoCompQueryStatus de. 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 Sincronización de operaciones de descodificación de vídeo.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
de la plataforma de destino de Escritorio
encabezado de d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS