Compartir a través de


Acerca de DXVA 2.0

DirectX Video Acceleration (DXVA) es una API y una DDI correspondiente para usar la aceleración de hardware a fin de acelerar el procesamiento de vídeo. Los códecs de software y los procesadores de vídeo de software pueden usar DXVA para descargar determinadas operaciones intensivas de CPU en la GPU. Por ejemplo, un descodificador de software puede descargar la transformación de coseno discreta inversa (iDCT) a la GPU.

En DXVA, algunas operaciones de descodificación se implementan mediante el controlador de hardware gráfico. Este conjunto de funciones se denomina acelerador. El software de aplicación en modo de usuario implementa otras operaciones de descodificación, denominadas descodificador de host o descodificador de software. (Los términos descodificador de host y descodificador de software son equivalentes). El procesamiento que realiza el acelerador se denomina procesamiento fuera del host. Normalmente, el acelerador usa la GPU para acelerar algunas operaciones. Cada vez que el acelerador realiza una operación de descodificación, el descodificador del host debe transmitirla a los búferes de aceleradores que contienen la información necesaria para realizar la operación.

La API DXVA 2 requiere Windows Vista o una versión posterior. La API DXVA 1 sigue siendo compatible con Windows Vista por motivos de compatibilidad con versiones anteriores. Se proporciona un nivel de emulación que realiza la conversión entre cualquiera de las versiones de la API y la versión opuesta de DDI:

  • Si el controlador de gráficos se ajusta al modelo de controlador de pantalla de Windows (WDDM), las llamadas API de DXVA 1 se convierten en llamadas DDI de DXVA 2.
  • Si los controladores de gráficos usan el modelo anterior de controlador de pantalla de Windows (WDDM), las llamadas API de DXVA 2 se convierten en llamadas DDI de DXVA 1.

En la tabla siguiente se muestran los requisitos del sistema operativo y los representadores de vídeo admitidos para cada versión de la API DXVA.

Versión de la API Requisitos Compatibilidad con el representador de vídeo
DXVA 1 Windows 2000 o posterior Mezclador de superposición, VMR-7, VMR-9 (solo DirectShow)
DXVA 2 Windows Vista EVR (DirectShow y Media Foundation)

 

En DXVA 1, el descodificador de software debe acceder a la API mediante el representador de vídeo. No hay ninguna manera de usar la API DXVA 1 sin llamar al representador de vídeo. Esta limitación se ha quitado con DXVA 2. Con DXVA 2, el descodificador del host (o cualquier aplicación) puede acceder directamente a la API mediante la interfaz IDirectXVideoDecoderService.

En la documentación de DXVA 1 se describen las estructuras de descodificación que se usan para los siguientes estándares de vídeo:

  • UIT-T Rec. H.261
  • UIT-T Rec. H.263
  • Vídeo MPEG-1
  • Vídeo de perfil principal de MPEG-2

Las especificaciones siguientes definen extensiones DXVA para otros estándares de vídeo:

DXVA 1 y DXVA 2 usan las mismas estructuras de datos para la descodificación. Pero el procedimiento para configurar la sesión de descodificación ha cambiado. DXVA 1 usa un mecanismo de "sondeo y bloqueo", donde el descodificador del host puede probar varias configuraciones antes de establecer la configuración deseada en el acelerador. En DXVA 2, el acelerador devuelve una lista de configuraciones admitidas y el descodificador de host selecciona una de la lista. En las secciones siguientes encontrará más información:

DirectX Video Acceleration 2.0

Especificación de DXVA 1.0