Articulo de referencia

VDPAU

"},"discontinued":{"wt":""},"latest release version":{"wt":"1.5"},"latest release date":{"wt":"{{start date and age|2022|03|07}} {{cite web |title=[VDPAU] [ANNOUNCE] libvdpau 1....

La API de decodificación y presentación de vídeo para Unix ( VDPAU ) es una interfaz de programación de aplicaciones (API) libre de regalías , así como su implementación como biblioteca libre y de código abierto ( libvdpau ) distribuida bajo la licencia MIT . [ 1 ] Nvidia también admite VDPAU . [ 3 ]

La interfaz VDPAU será implementada por controladores de dispositivos , como el controlador Nvidia GeForce , nouveau o amdgpu , para ofrecer al software del usuario final, como el reproductor multimedia VLC o GStreamer , un acceso estandarizado al hardware de aceleración de descompresión de vídeo disponible en forma de bloques de circuitos integrados de aplicación específica (ASIC) en unidades de procesamiento gráfico (GPU), como PureVideo de Nvidia o el decodificador de vídeo unificado de AMD , y hacer uso de él.

VDPAU está dirigido a sistemas operativos tipo Unix (incluidos Linux , FreeBSD y Solaris ). [ 4 ] [ 5 ] [ 6 ]

Rango funcional de la interfaz

VDPAU permite que los programas de vídeo accedan al ASIC de decodificación de vídeo especializado en la GPU para descargar partes del proceso de decodificación de vídeo y posprocesamiento de vídeo de la CPU a la GPU. [ 7 ]

Actualmente, las partes que VDPAU puede descargar a la GPU son la compensación de movimiento (mo comp), la transformada discreta inversa del coseno (iDCT), la decodificación de longitud variable (VLD) y el desbloqueo para vídeos codificados en MPEG-1 , MPEG-2 , MPEG-4 ASP (MPEG-4 Parte 2) , H.264/MPEG-4 AVC y VC-1 , y WMV3 / WMV9 . [ 4 ] Los códecs específicos que se pueden descargar a la GPU dependen de la versión de generación del hardware de la GPU.

Historia

VDPAU fue diseñado originalmente por Nvidia para su bloque PureVideo SIP presente en sus GPU GeForce serie 8 y posteriores. [ 8 ]

El 9 de marzo de 2015, Nvidia lanzó VDPAU versión 1.0 que admite la decodificación de codificación de vídeo de alta eficiencia (HEVC) para los perfiles Main, Main 4:4:4, Main Still Picture, Main 10 y Main 12. [ 9 ]

Controladores de dispositivos y controladores de vídeo que implementan VDPAU

VDPAU se implementa en los controladores de dispositivos de software X11 , pero depende de las características de aceleración en la GPU de hardware. Todas las tarjetas gráficas Nvidia para las que el controlador implementa VDPAU se enumeran en Nvidia PureVideo . [ 10 ] S3 Graphics agregó VDPAU a los controladores de Linux de sus tarjetas de video Chrome 400. A partir de la versión 14.02.17 de su controlador de dispositivo Linux, VDPAU está disponible con el hardware S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT y S3 Chrome 540 GTX. [ 11 ] ATI/AMD lanzó un controlador de código abierto para tarjetas gráficas Radeon HD 4000+ con aceleración VDPAU. [ 12 ] [ 13 ] [ 14 ] Intel no ofrece controladores VDPAU, solo admite su VA-API . Sin embargo, es posible usar los controladores VA-API de Intel a través de libvdpau-va-gl . Nvidia espera que otros diseñadores de GPU hagan que sus productos sean compatibles con la biblioteca VDPAU de código abierto y proporcionen controladores con aceleración VDPAU mencionando nombres de ejemplo de controladores específicos de hardware para Intel y ATI: libvdpau_intel.so y libvdpau_ati.so. [ 15 ] Intel ha declarado que está considerando VDPAU. [ 16 ] Los SoC sunxi ( Allwinner ) tienen una implementación experimental de VDPAU. [ 17 ] Mesa a partir de la v8.0 incluye VDPAU para tarjetas de video que utilizan Gallium3D .

Controlador VDPAU genérico

A finales de 2013, existe un controlador de back-end desarrollado de forma independiente que a su vez utiliza OpenGL (para dibujar y escalar) y VA-API, si está disponible (para decodificar). [ 18 ] Se ha informado que funciona en algunos gráficos Intel y Adobe Flash Player . [ 19 ]

El escalado acelerado con la funcionalidad OpenGL es necesario principalmente debido a Flash Player, que utiliza escalado no acelerado si VDPAU no está disponible. Casi todos los demás programas de vídeo que se ejecutan en Linux o FreeBSD son compatibles con Xv . Es esencial para la reproducción de vídeo a pantalla completa en ordenadores más lentos sin soporte nativo para VDPAU.

La traducción de VDPAU a VA-API para la decodificación por hardware resulta útil con el hardware gráfico Intel reciente, ya que algunos programas admiten la decodificación por hardware a través de VDPAU, pero no a través de VA-API.

Software compatible con VDPAU

VDPAU también puede utilizarse como backend para VA-API y OpenMAX IL , que a su vez cubren un subconjunto de las capacidades de VDPAU; por lo tanto, cualquier software que utilice VA-API u OpenMAX IL también es parcialmente capaz de utilizar VDPAU (por ejemplo, el reproductor multimedia VLC). [ 32 ]

Conjuntos de características de Nvidia VDPAU

Los conjuntos de características Nvidia VDPAU [ 33 ] son ​​distintas generaciones de hardware de GPU que admiten distintos niveles de capacidades de decodificación de hardware (Nvidia PureVideo). Para los conjuntos de características A, B y C, el ancho y alto máximo del vídeo son 2048 píxeles , el ancho y alto mínimos 48 píxeles, y todos los códecs están actualmente limitados a un máximo de 8192 macrobloques (8190 para VC-1/WMV9). La aceleración parcial significa que la decodificación VLD (flujo de bits) se realiza en la CPU, y la GPU solo realiza IDCT , compensación de movimiento y eliminación de bloques . La aceleración completa significa que la GPU realiza todo VLD, IDCT, compensación de movimiento y eliminación de bloques.

Conjunto de características A
Admite aceleración completa para H.264 y aceleración parcial para MPEG-1 , MPEG-2 , VC-1 / WMV9 .
Conjunto de características B
Admite la aceleración completa para MPEG-1, MPEG-2, VC-1/WMV9 y H.264.
Tenga en cuenta que todo el hardware del conjunto de características B no puede decodificar H.264 para los siguientes anchos: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 píxeles.
Conjunto de características C
Admite la aceleración completa para MPEG-1, MPEG-2, MPEG-4 Parte 2 (también conocido como MPEG-4 ASP) , VC-1/WMV9 y H.264.
La compensación de movimiento global y la partición de datos no son compatibles con MPEG-4 Parte 2.
Conjunto de características D
Similar al conjunto de características C, pero con soporte adicional para la decodificación de H.264 con una resolución de hasta 4032 × 4080 y MPEG-1/MPEG-2 con una resolución de hasta 4032 × 4048 píxeles.
Conjunto de características E
Similar al conjunto de características D, pero con soporte adicional para decodificar H.264 con una resolución de hasta 4096 × 4096 y MPEG-1/MPEG-2 con una resolución de hasta 4080 × 4080 píxeles. Las GPU con el conjunto de características VDPAU E admiten un modo de ocultación de errores mejorado que proporciona un manejo de errores más robusto al decodificar secuencias de vídeo corruptas. [ 34 ]
Conjunto de características F
Introdujo la decodificación de vídeo dedicada HEVC Main (8 bits), Main 10 (10 bits) y VP9 Profile 0 (8 bits) con una resolución de hasta 4096 × 2304 píxeles. [ 35 ]
Conjunto de características G
Se ha añadido compatibilidad de hardware para la decodificación de vídeo HEVC Main 12 (12 bits) y VP9 Profile 2 (12 bits). [ 35 ]
Conjunto de características H
El conjunto de características H es capaz de decodificar con aceleración por hardware flujos de vídeo H.265/HEVC de 8192x8192 (resolución 8k). [ 36 ]
Conjunto de características I
Similar al conjunto de características H. [ 35 ]
Conjunto de características J
El conjunto de características J añade soporte para la decodificación HEVC 444. [ 35 ]
Conjunto de características K
El conjunto de características K es capaz de decodificar con aceleración por hardware flujos de vídeo AV1 MAIN Profile de 8192x8192 (resolución 8k). [ 35 ]

Biblioteca VDPAU independiente libvdpau

La biblioteca independiente libvdpau VDPAU es distribuida por Nvidia independientemente de su controlador gráfico propietario para Linux, con el fin de facilitar la adopción de VDPAU por parte de usuarios externos a Nvidia. Este paquete de biblioteca de código abierto contiene una biblioteca de envoltura y una biblioteca de depuración que permiten a otros fabricantes implementar VDPAU en sus controladores de dispositivos. [ 8 ] [ 37 ] [ 38 ] [ 39 ]

Véase también

Referencias

  1. 1 2 "Anuncio de libvdpau 0.2" . freedesktop.org . 17 de septiembre de 2009.
  2. " [ VDPAU ] [ ANUNCIO ] libvdpau 1.5" . Freedesktop.org . 7 de marzo de 2022 . Consultado el 8 de marzo de 2022 .
  3. "GStreamer añade soporte para la decodificación de GPU NVIDIA NVDEC" . www.phoronix.com . Consultado el 29 de abril de 2026 .
  4. 1 2 Michael Larabel (14 de noviembre de 2008). "El controlador de NVIDIA trae las características de PureVideo a Linux" . Phoronix . Recuperado el 13 de marzo de 2009 .
  5. Michael Larabel (14 de noviembre de 2008). "NVIDIA VDPAU Benchmarks" . Phoronix . Consultado el 13 de marzo de 2009 .
  6. "VDPAU: API de decodificación y presentación de vídeo para Unix" . http.download.nvidia.com . Consultado el 29 de abril de 2026 .
  7. "Video4Linux2: Camino hacia una API de códec de vídeo estandarizada" (PDF) . Events.linusfoundation.org\accessdate=2016-05-25 . Archivado del original (PDF) el 6 de enero de 2014. Consultado el 4 de diciembre de 2013 .
  8. 1 2 "NVIDIA lanza la biblioteca VDPAU independiente – Phoronix" . Phoronix . Consultado el 29 de abril de 2026 .
  9. Larabel, Michael (9 de marzo de 2015). "NVIDIA anuncia VDPAU 1.0 con decodificación HEVC/H.265" . Phoronix . Consultado el 9 de marzo de 2015 .
  10. "Tabla de compatibilidad de PureVideo" (PDF) . www.nvidia.com . Consultado el 29 de abril de 2026 .
  11. "Copia archivada" . Consultado el 29 de abril de 2026 .
  12. König, Christian (2013-04-02). " [ PATCH ] drm/radeon: Soporte UVD para RV710-SI" . Recuperado el 29-04-2026 .
  13. Alessandro, Florenzi (18 de agosto de 2018). "nhà cái gg88" . Consultado el 29 de abril de 2026 .
  14. "AMD lanza soporte de vídeo UVD de código abierto" . www.phoronix.com . Consultado el 29 de abril de 2026 .
  15. "VDPAU: Capa de integración del sistema de ventanas X11" . http.download.nvidia.com . Consultado el 29 de abril de 2026 .
  16. "Intel considera la compatibilidad con VDPAU para el controlador X.Org" . www.phoronix.com . Consultado el 29 de abril de 2026 .
  17. GitHub – linux-sunxi/libvdpau-sunxi: VDPAU experimental para SoC sunxi de Allwinner (en desarrollo) , GitHub, 5 de febrero de 2026 , consultado el 29 de abril de 2026
  18. "GitHub – i-rinat/libvdpau-va-gl: controlador VDPAU con backend OpenGL/VAAPI" . GitHub . Consultado el 25 de mayo de 2016 .
  19. "Aceleración de hardware de Adobe Flash Player en tarjetas gráficas Intel" . WebUpd8 . 5 de septiembre de 2013. Consultado el 25 de mayo de 2016 .
  20. "Boxee blog » boxee para windows, ascendiendo a las Grandes Ligas" . Archivado del original el 26 de junio de 2009. Recuperado el 26 de junio de 2009 . 
  21. "Los nuevos códecs de Fluendo admiten VDPAU y VA-API – Phoronix" . Phoronix.com . Consultado el 25 de mayo de 2016 .
  22. Michael Larabel (29 de noviembre de 2008). "MythTV añade compatibilidad con NVIDIA VDPAU" . Phoronix . Consultado el 13 de marzo de 2009 .
  23. "XBMC para Linux VDPAU: soporte para decodificación de vídeo de GPU NVIDIA (ahora en la rama principal SVN)" . Xbmc.org. Archivado del original el 28 de febrero de 2009. Consultado el 25 de mayo de 2016 .
  24. "Kodi – Software de cine en casa de código abierto" . Xbmc.org. Archivado del original el 14 de abril de 2009. Consultado el 25 de mayo de 2016 .
  25. "XBMC recibe soporte principal para VDPAU – Phoronix" . Phoronix . Consultado el 29 de abril de 2026 .
  26. "XBMC recibe soporte principal para VDPAU" . Phoronix.com . 23 de marzo de 2009. Consultado el 25 de mayo de 2016 .
  27. Michael Larabel (17 de diciembre de 2008). "Xine empieza a dar soporte a VDPAU de NVIDIA" . Phoronix . Consultado el 13 de marzo de 2009 .
  28. "xine-lib/xine-lib-1.2: changeset 11335:9b68f6efb713" . Debian.org . Consultado el 25-05-2016 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  29. ddennedy (30-11-2009). "VDPAU para MLT 0.4.11 versión Git" . MLT . Archivado del original el 27-02-2010 . Recuperado el 30-11-2009 .
  30. "Flash Player 10.2 beta – ¡con aceleración VDPAU! : linux" . Reddit . Diciembre de 2010. 
  31. "Manual de referencia de mpv" . Consultado el 9 de abril de 2016 .
  32. Michael Larabel (2009-02-03). "Un back-end NVIDIA VDPAU para la VA-API de Intel" . Phoronix . Consultado el 13 de marzo de 2009 .
  33. "Apéndice G. Compatibilidad con VDPAU" . Nvidia . 14 de diciembre de 2016. Consultado el 3 de enero de 2017 .
  34. "VDPAU para la GPU Maxwell de NVIDIA en Linux" . Phoronix.com . 3 de marzo de 2014. Consultado el 25 de mayo de 2016 .
  35. 1 2 3 4 5 "Apéndice G. Compatibilidad con VDPAU" . us.download.nvidia.com . Consultado el 2 de junio de 2022 .
  36. http://www.nvidia.com/download/driverResults.aspx/104284/en-us Controlador de pantalla Nvidia LINUX X64 (AMD64/EM64T) Versión: 367.27
  37. « [ ANUNCIO ] libvdpau 0.2» . Listas.freedesktop/org . 17 de septiembre de 2009 . Consultado el 25 de mayo de 2016 .
  38. "NVIDIA propone VDPAU para parches DRI2 – Phoronix" . Phoronix . Consultado el 25 de mayo de 2016 .
  39. " [ PULL ] Agregar controladores VDPAU a la implementación DRI2 del servidor" . xorg. 23 de octubre de 2009. Recuperado el 25 de mayo de 2016 .
  40. "VideoToolbox - Documentación para desarrolladores de Apple" . developer.apple.com . Consultado el 5 de agosto de 2018 .
  • VDPAU (API de decodificación y presentación de vídeo para Unix) de Nvidia
  • Pruebas de rendimiento de NVIDIA VDPAU
  • Un back-end NVIDIA VDPAU para la API VA de Intel