Aceleración de vídeo DirectX

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 3 de mayo de 2020; las comprobaciones requieren 2 ediciones .

DirectX Video Acceleration (abreviado como DXVA , literalmente aceleración de video DirectX en ruso ) es una interfaz de programación de aplicaciones (API), un componente de DirectX desarrollado por Microsoft y diseñado para procesar (principalmente decodificar ) un flujo de bits de datos de video usando procesadores de gráficos ( ing. GPU ) .  

DXVA está diseñado para ejecutarse en computadoras compatibles con IBM PC que ejecutan sistemas operativos de la familia Microsoft Windows y en la consola de juegos Xbox 360 . La tubería de software DXVA permite que ciertas operaciones que consumen muchos recursos, como la transformación de coseno discreta , la compensación de movimiento y el desentrelazado , se ejecuten en la GPU en lugar de en la CPU . DXVA 2.0 permite redirigir más operaciones a la GPU, incluidas las operaciones de captura y procesamiento de video.

DXVA funciona junto con DirectShow , que es compatible con las tarjetas de video . DXVA 1.0, que se introdujo como una API estándar y está disponible desde Windows 2000 , podría usar el modo de superposición o VMR 7/9. [1] DXVA 2.0, disponible solo a partir de Windows Vista , está integrado con el marco multimedia de Media Foundation y utiliza el procesador de video Enhanced Video Renderer . [una]

Resumen

Los códecs de video de software utilizan DXVA para definir una canalización específica de códec que se requiere para la decodificación de hardware y la representación de una transmisión de video por ese códec. La canalización comienza con la CPU, que analiza el flujo de medios y lo convierte en estructuras compatibles con DXVA. DXVA define un conjunto de operaciones que pueden ser aceleradas por hardware y una interfaz de controlador de dispositivo ( DDI ) que determina si un controlador de tarjeta de video puede manejar estas operaciones en hardware. Si algún códec usa estas operaciones, puede usar estas interfaces de controlador de video para obtener acceso a la aceleración de hardware. Si el controlador de gráficos no admite una o más de estas interfaces, el procesamiento de estas operaciones se redirige al procesador central. El video ya decodificado se puede transferir a la GPU para el procesamiento posterior del video . La canalización resultante está disponible en aplicaciones compatibles con DirectShow .  

Para la compensación de movimiento, DXVA define una interfaz de controlador (DDI), que a su vez define interfaces para la transformada de coseno discreta (iDCT), la codificación de Huffman , la combinación alfa , la cuantificación inversa, la conversión del espacio de color, el cambio de velocidad de cuadro y otras operaciones. [2] [3] También incluye tres subespecificaciones: "Desentrelazado DDI", "COPP DDI" y "ProcAmp DDI". [4] Desentrelazado DDI define funciones de devolución de llamada para operaciones de desentrelazado . Las funciones DDI COPP (Protocolo de protección de salida certificado) permiten que la canalización proteja los datos de los medios mediante la especificación de funciones de cifrado. ProcAmp DDI se utiliza para acelerar el posprocesamiento de video. El módulo del controlador ProcAmp se encuentra entre la representación del hardware de video y el controlador de pantalla y proporciona funciones que le permiten aplicar filtros de procesamiento posterior al video ya decodificado.

Las funciones DXVA DDI no están disponibles directamente para el cliente de DirectShow, pero se proporcionan como devoluciones de llamada al procesador de video. Por lo tanto, el renderizador juega un papel muy importante en la composición de la canalización.

DXVA 1.0 se utiliza en Windows XP y Windows 2000 .

DXVA en Windows Vista y posteriores

DXVA 2.0 mejoró la implementación de la tubería de video y agregó algunos otros DDI como "Capture DDI" diseñado para la captura de video . Dos de los tres DDI originales que se enviaron con DXVA 1.0 se mejoraron en la segunda versión, con más operaciones disponibles para el procesamiento de hardware. DXVA 2.0 no incluye COPP DDI, sino que utiliza la ruta de medios protegidos para el contenido protegido. DXVA 1.0 se emula mediante DXVA 2.0. [1] En DXVA 2.0, las funciones DDI están disponibles directamente en el programa cliente y no requieren un renderizador de video intermedio. [5] Por lo tanto, se hizo posible crear canalizaciones para la decodificación de video simple (sin procesamiento) o el posprocesamiento y procesamiento (sin decodificación). Todas estas funciones requieren el modelo de controlador de pantalla de Windows , que se incluye con DirectX 10 , que limita la lista de sistemas operativos de DXVA 2.0 a Windows Vista , Windows Server 2008 , Windows 7 y Windows Server 2008 R2 . [1] [5] DXVA 2.0 solo es compatible con Enhanced Video Renderer como procesador de video en Vista y Windows 7 (en Windows XP , el renderizado DXVA es posible con VMR9 y Overlay Mixer [1] ). DXVA está integrado con Media Foundation y permite que las canalizaciones de DXVA se reconozcan como Media Foundation Transforms (MFT) . Incluso la canalización de decodificación y la canalización de posprocesamiento pueden reconocerse como MFT, lo que da como resultado una canalización de reproducción de video completa utilizando el cargador de topología de Media Foundation.

Existe DXVA-HD, que es una evolución de DXVA 2.0 y está disponible en Windows 7 si se admite WDDM 1.1. [6]

Soporte de software

Véase también

Notas

  1. 1 2 3 4 5 Aceleración de video DirectX 2.0 . Consultado el 24 de octubre de 2007. Archivado desde el original el 23 de abril de 2012.
  2. Introducción a DirectX VA . Consultado el 24 de octubre de 2007. Archivado desde el original el 23 de abril de 2012.
  3. Compatibilidad con Microsoft DirectX Video Acceleration (DirectX VA) . Consultado el 24 de octubre de 2007. Archivado desde el original el 23 de abril de 2012.
  4. Aceleración de vídeo DirectX . Consultado el 24 de octubre de 2007. Archivado desde el original el 23 de abril de 2012.
  5. 12 Novedades en DirectShow . Consultado el 24 de octubre de 2007. Archivado desde el original el 23 de abril de 2012.
  6. DXVA -HD  . MSDN (8 de abril de 2010). Consultado el 24 de abril de 2010. Archivado desde el original el 23 de abril de 2012.
  7. Guía de aceleración de GPU de video HD de Adobe Flash | Aceleración de GPU, Adobe Flash, HD-Video, ATI AVIVO-HD, NVIDIA PureVideo-HD, Adobe Flash HD-Video Guía de aceleración de GPU Guía práctica . Consultado el 22 de abril de 2010. Archivado desde el original el 2 de mayo de 2013.
  8. Descodificación de GPU VLC - VideoLAN Wiki . Consultado el 7 de mayo de 2022. Archivado desde el original el 13 de mayo de 2021.

Enlaces