DirectX Video Acceleration ( DXVA ) es una especificación de API de Microsoft para las plataformas Microsoft Windows y Xbox 360 que permite la aceleración por hardware de la decodificación de vídeo . Esta arquitectura permite descargar a la GPU ciertas operaciones que consumen muchos recursos de la CPU , como iDCT , compensación de movimiento y desentrelazado . DXVA 2.0 permite acelerar por hardware aún más operaciones, incluyendo la captura y el procesamiento de vídeo .
DXVA funciona en conjunto con el modelo de renderizado de vídeo utilizado por la tarjeta gráfica . DXVA 1.0, que se introdujo como una API estandarizada con Windows 2000 ( DirectX 7 ) y actualmente está disponible en Windows 98 o posterior, puede utilizar el modo de superposición de vídeo o el renderizador de mezcla de vídeo (VMR). [ 1 ] DXVA 2.0, disponible solo en Windows Vista , Windows 7 , Windows 8 y sistemas operativos posteriores, se integra con Media Foundation (MF) y utiliza el Enhanced Video Renderer (EVR) presente en MF, [ 1 ] y generalmente se basa en controladores gráficos WDDM . [ 2 ]
Descripción general
El estándar DXVA es utilizado por los decodificadores de vídeo por software para definir una canalización específica del códec para la decodificación y renderización aceleradas por hardware. Esta canalización comienza en la CPU, que se encarga de analizar el flujo multimedia y convertirlo a estructuras compatibles con DXVA. DXVA especifica un conjunto de operaciones que pueden acelerarse por hardware e interfaces de controlador de dispositivo (DDI) que el controlador gráfico puede implementar para acelerar dichas operaciones. Si el códec necesita realizar alguna de las operaciones definidas, puede usar estas interfaces para acceder a la implementación acelerada por hardware de estas operaciones. Si el controlador gráfico no implementa una o más de las interfaces, el códec debe proporcionar una alternativa por software. El vídeo decodificado se entrega al renderizador de vídeo por hardware, donde se le puede aplicar un posprocesamiento adicional antes de renderizarlo en el dispositivo. La canalización resultante se puede usar en una aplicación compatible con DirectShow .
DXVA especifica el DDI de compensación de movimiento , que especifica las interfaces para operaciones iDCT , codificación Huffman , compensación de movimiento , mezcla alfa , cuantización inversa , conversión de espacio de color y operaciones de conversión de velocidad de fotogramas, entre otras. [ 3 ] [ 4 ] También incluye tres subespecificaciones: DDI de desentrelazado, DDI COPP y DDI ProcAmp. [ 5 ] El DDI de desentrelazado especifica las funciones de devolución de llamada para las operaciones de desentrelazado . Las funciones DDI COPP (Certified Output Protection Protocol) permiten que la canalización se proteja para medios protegidos con DRM , especificando funciones de cifrado . El DDI ProcAmp se utiliza para acelerar el posprocesamiento de vídeo. El módulo controlador ProcAmp se encuentra entre el renderizador de vídeo de hardware y el controlador de pantalla, y proporciona funciones para aplicar filtros de posprocesamiento al vídeo descomprimido.
Las funciones que ofrecen las interfaces DXVA DDI no son accesibles directamente por un cliente DirectShow , sino que se proporcionan como funciones de devolución de llamada al renderizador de vídeo. Por lo tanto, el renderizador desempeña un papel fundamental en el funcionamiento del flujo de trabajo.
La compatibilidad de DXVA con H.264 se añadió en DirectX 9.0c .
DXVA en Windows Vista y versiones posteriores
DXVA 2.0 mejora la implementación de la canalización de vídeo y añade una serie de otros DDI, incluido un DDI de captura para la captura de vídeo. Los DDI que comparte con DXVA 1.0 también se mejoran con la capacidad de utilizar la aceleración por hardware de más operaciones. Además, las funciones DDI están directamente disponibles para los llamadores y no necesitan ser mediadas por el renderizador de vídeo. [ 6 ] De este modo, un programa también puede crear una canalización para simplemente decodificar el medio (sin renderizar) o posprocesar y renderizar (sin decodificar). Estas características requieren los controladores del Modelo de controlador de pantalla de Windows , lo que limita DXVA 2.0 a Windows Vista , Windows Server 2008 , [ 1 ] [ 6 ] Windows 7 , Windows Server 2008 R2 y Windows 8. En Windows XP y Windows 2000 , los programas pueden utilizar DXVA 1.0. DXVA 2.0 permite Enhanced Video Renderer como renderizador de vídeo solo en Vista, Windows 7 y Windows 8. [ 1 ] (Con Windows XP, DXVA-Rendering es posible con VMR9 y el conocido Overlay Mixer). DXVA se integra con Media Foundation y permite que las canalizaciones de DXVA se expongan como Media Foundation Transforms ( MFT ). Incluso las canalizaciones de decodificación o las canalizaciones de posprocesamiento pueden exponerse como MFT, que pueden ser utilizadas por el cargador de topología de Media Foundation para crear una canalización completa de reproducción de medios. DXVA 1.0 se emula usando DXVA 2.0. [ 1 ] DXVA 2.0 no incluye COPP DDI, sino que usa PVP para contenido protegido. Windows 7 implementa DXVA-HD [ 7 ] si el controlador cumple con WDDM 1.1. Desde Windows 8 ( DirectX 11.1 ), se introdujo la aceleración de vídeo Direct3D 11 (D3D11VA); en D3D11VA, tanto el decodificador DXVA2 como el renderizador EVR utilizan Direct3D 11. [ 8 ]
Modos DXVA2: nativo y copia de respaldo
DXVA2 tiene dos modos de funcionamiento: nativo y de copia .
En el modo nativo, el vídeo decodificado permanece en la memoria de la GPU hasta su visualización. El decodificador de vídeo debe estar conectado al renderizador de vídeo sin ningún filtro de procesamiento intermedio. El renderizador de vídeo también debe ser compatible con DXVA, lo que limita la libertad en la elección de renderizadores. El EVR-11 siempre utiliza el modo nativo DXVA2.
Con el modo de copia inversa, el vídeo decodificado se copia de la memoria de la GPU a la memoria de la CPU. Este modo no presenta las limitaciones mencionadas anteriormente y funciona de forma similar a un decodificador de software convencional; sin embargo, se producirán interrupciones en la reproducción del vídeo si la GPU no es lo suficientemente rápida para copiar su memoria a la memoria de la CPU. El modo de copia inversa DXVA2 requiere que la GPU sea compatible con Direct3D 9Ex.
El modo nativo es ventajoso a menos que se necesite un procesamiento personalizado, ya que las operaciones de copia adicionales aumentarán la carga de memoria de la GPU. [ 9 ]
Software
- Adobe Flash v10.3 y versiones posteriores
- Boxee
- CoreAVC v2.5.0 y posteriores [ 10 ]
- Daum PotPlayer [ 11 ]
- Decodificador DivX H.264 v1.2 y versiones posteriores
- Reproductor multimedia DVDFab 3
- ffdshow-tryouts revisión 3185 y posteriores
- Freemake Video Converter v2.2 y versiones posteriores
- Kodi
- Reproductor multimedia Cine en casa clásico
- MediaPortal
- mpv (solo DXVA 2.0)
- Suite multimedia Nero (Nero Kwik Media, Nero MediaHub, Nero Showtime)
- Plex
- PowerDVD
- RealPlayer
- Reproductor multimedia VLC v1.1 y posteriores (solo DXVA 2.0) [ 12 ]
- WinDVD
- Reproductor de Windows Media v6.4 y posteriores [ 13 ]
- Reproductor de Windows Media 11 ( solo WMV3 )
- Reproductor de Windows Media 12
- freno de mano
Véase también
Referencias
- 1 2 3 4 5 "Aceleración de vídeo DirectX 2.0" . Consultado el 24 de octubre de 2007 .
- ↑ https://learn.microsoft.com/en-us/windows/win32/medfound/about-dxva-2-0
- ↑ "Introducción a DirectX VA" . Archivado del original el 23 de abril de 2008. Consultado el 24 de octubre de 2007 .
- ↑ "Compatibilidad con la aceleración de vídeo DirectX de Microsoft (DirectX VA)" . Consultado el 24 de octubre de 2007 .
- ↑ "Aceleración de vídeo DirectX" . Archivado del original el 8 de abril de 2008. Consultado el 24 de octubre de 2007 .
- 1 2 "Novedades en DirectShow" . Consultado el 24 de octubre de 2007 .
- ↑ "DXVA-HD (Windows)" . msdn.microsoft.com . Consultado el 21 de abril de 2018 .
- ↑ EliotSeattle. "Mejoras en la reproducción de vídeo de Direct3D 11: controladores de Windows" . learn.microsoft.com . Consultado el 30 de mayo de 2026 .
- ↑ S, Ganesh T. "Análisis del HTPC de gama alta Vision 3D 252B de ASRock" . anandtech.com . Archivado del original el 9 de mayo de 2012. Consultado el 21 de abril de 2018 .
- ↑ "Registro de cambios de CoreAVC | CoreCodec" . Archivado del original el 4 de julio de 2011. Consultado el 9 de abril de 2011 .
- ↑ "Daum tv팟" . tvpot.daum.net . Archivado del original el 22 de mayo de 2017 . Consultado el 21 de abril de 2018 .
- ↑ "Decodificación de GPU de VLC - Wiki de VideoLAN" . wiki.videolan.org . Consultado el 21 de abril de 2018 .
- ↑ "Cómo desactivar la aceleración de hardware en Windows Media Player" .
Enlaces externos
- Aceleración de vídeo DirectX
- DXVAChecker , utilidad que enumera los modos DXVA de los que es capaz el ordenador dado.
- Interfaces de programación de aplicaciones de Microsoft
- DirectX
- aceleración de vídeo
- Controladores de dispositivos
- aceleración de hardware