stringtranslate.com

API de aceleración de vídeo

Video Acceleration API ( VA-API ) es una interfaz de programación de aplicaciones de código abierto que permite que aplicaciones como VLC media player o GStreamer utilicen capacidades de aceleración de video por hardware, generalmente proporcionadas por la unidad de procesamiento de gráficos (GPU). Se implementa mediante la biblioteca gratuita y de código abierto libva , combinada con un controlador específico de hardware, generalmente proporcionado junto con el controlador de GPU.

La interfaz de codificación/decodificación de vídeo VA-API es independiente de la plataforma y del sistema de ventanas, pero está dirigida principalmente a la infraestructura de renderizado directo (DRI) en el sistema X Window en sistemas operativos tipo Unix (incluidos Linux , FreeBSD , Solaris ) y Android , sin embargo puede También se puede utilizar potencialmente con subsistemas de gráficos y framebuffer directos para salida de vídeo. El procesamiento acelerado incluye soporte para decodificación de video , codificación de video , combinación de subimágenes y renderizado. [2]

La especificación VA-API fue diseñada originalmente por Intel para su serie GMA (Graphics Media Accelerator) de hardware GPU con el propósito específico de eventualmente reemplazar el estándar XvMC como el equivalente multiplataforma predeterminado de Unix de la API de aceleración de video DirectX (DxVA) de Microsoft Windows. , pero hoy la API ya no se limita a GPU o hardware específicos de Intel. [3] Otros fabricantes y hardware pueden utilizar libremente esta API de estándar abierto para el procesamiento de vídeo acelerado por hardware con su propio hardware sin pagar regalías. [4]

Descripción general

Un ejemplo de salida vainfo, que muestra códecs de vídeo compatibles para la aceleración VA-API

La principal motivación de VA-API es permitir la decodificación de vídeo acelerada por hardware en varios puntos de entrada ( VLD , IDCT , compensación de movimiento , desbloqueo [5] ) para los estándares de codificación predominantes en la actualidad ( MPEG-2 , MPEG-4 ASP / H .263 , MPEG-4 AVC/H.264 , H.265/HEVC y VC-1/WMV3 ). Se consideró ampliar XvMC, pero debido a su diseño original solo para MPEG-2 MotionComp , tenía más sentido diseñar una interfaz desde cero que pudiera exponer completamente las capacidades de decodificación de video en las GPU actuales . [6]

Hardware y controladores compatibles

A partir de 2022, VA-API es compatible de forma nativa con: [7]

Códecs de vídeo compatibles

VA-API actualmente admite estos códecs de video en la versión principal oficial, pero tenga en cuenta que exactamente qué códecs de video son compatibles depende del hardware y las capacidades del controlador.

Procesos que se pueden acelerar con VA-API

Procesos de decodificación y posprocesamiento de video que se pueden descargar y acelerar si tanto los controladores del dispositivo como el hardware de la GPU los admiten:

Arquitectura de software

Arquitectura API de aceleración de vídeo

La interfaz actual es independiente del sistema de ventanas, por lo que potencialmente puede usarse con subsistemas de gráficos distintos de DRI (Direct Rendering Infrastructure) en X Window System , como directo con framebuffer , y puede funcionar con DRM de terceros ( Bibliotecas de Direct Rendering Manager) . En pocas palabras, es un esquema para pasar varios tipos de buffers de datos desde la aplicación a la GPU para decodificar o codificar un flujo de bits comprimido .

Software compatible con VA-API

Un registro de Firefox que muestra el uso de VA-API para acelerar la decodificación de video

Ver también

Referencias

  1. ^ "libva 2.22.0". 2 de julio de 2024 . Consultado el 2 de julio de 2024 .
  2. ^ "Aceleración de vídeo VA-API en Intel Medfield - Phoronix". Phoronix.com . Consultado el 23 de febrero de 2019 .
  3. ^ "Video4Linux2: camino hacia una API de códec de vídeo estandarizada" (PDF) . Eventos.linuxfoundation.org . Consultado el 23 de febrero de 2019 .
  4. ^ Nathan Willis (1 de julio de 2009). "VA API avanza de forma lenta pero segura". Lwn.net .
  5. ^ "Mplayer y FFmpeg obtienen soporte VA-API - Phoronix". Phoronix.com . Consultado el 23 de febrero de 2019 .
  6. ^ "vaapi". Freedesktop.org . Consultado el 23 de febrero de 2019 .
  7. ^ ab "Aceleración de vídeo por hardware". wiki.ArchLinux.org .
  8. ^ Vilerino, Sil (15 de febrero de 2023). "¡La API de aceleración de vídeo (VA-API) ya está disponible en Windows!". Blog para desarrolladores de DirectX . Consultado el 8 de marzo de 2023 .
  9. ^ ab "Hardware/vaapi". wiki.libav.org . Archivado desde el original el 1 de febrero de 2017 . Consultado el 20 de enero de 2017 .
  10. ^ "Lanzamiento del servidor Emby 3.0.6400". Emby.media . 29 de agosto de 2016 . Consultado el 23 de febrero de 2019 .
  11. ^ "Entrada de la lista de correo que describe los usos de VA-API". Listas.moblin.org . Consultado el 23 de febrero de 2019 .
  12. ^ "Preguntas frecuentes sobre RealPlayer para MID e Intel/Linux". HelixCommunity.org . Archivado desde el original el 24 de marzo de 2012 . Consultado el 12 de mayo de 2011 .
  13. ^ "Copia archivada". Archivado desde el original el 16 de septiembre de 2016 . Consultado el 31 de agosto de 2016 .{{cite web}}: Mantenimiento CS1: copia archivada como título ( enlace )
  14. ^ "Los nuevos códecs de Fluendo son compatibles con VDPAU, VA-API - Phoronix". Phoronix.com . Consultado el 23 de febrero de 2019 .
  15. ^ "Aceleración de vídeo por GPU H.264 VA-API para Flash - Phoronix". Phoronix.com . Consultado el 23 de febrero de 2019 .
  16. ^ "Decodificación, codificación y procesamiento de video acelerado por hardware en gráficos Intel a través de VA-API". Cgit.freedesktop.org . Consultado el 23 de febrero de 2019 .
  17. ^ ab "XBMC pone en funcionamiento la compatibilidad con Intel VA-API - Phoronix". Phoronix.com . Consultado el 23 de febrero de 2019 .
  18. ^ "Mplayer en vaapi - Gitorious". Archivado desde el original el 3 de agosto de 2013 . Consultado el 10 de febrero de 2014 .
  19. ^ "Notas de la versión - 0.25 - Wiki oficial de MythTV". Mythtv.org . Consultado el 23 de febrero de 2019 .
  20. ^ "Lanzamiento de VLC 1.1.0: VideoLAN". Videolan.org . Consultado el 23 de febrero de 2019 .
  21. ^ "Lanzamiento de [Cliente] 2.2.6: se incluyen importantes reducciones en el uso de CPU". Bluecherrydvr.com . 2 de marzo de 2017 . Consultado el 23 de febrero de 2019 .
  22. ^ "el proyecto xine - Noticias". Xine-project.org . Consultado el 23 de febrero de 2019 .
  23. ^ "OBS Studio ahora admite VA-API para codificación de video: Phoronix". www.phoronix.com . Consultado el 6 de agosto de 2020 .
  24. ^ "Firefox en Fedora finalmente obtiene VA-API en Wayland". mastransky.wordpress.com . 3 de junio de 2020 . Consultado el 19 de agosto de 2020 .
  25. ^ "Firefox 80 disponible con VA-API en X11, compatibilidad con compilación de sombreadores paralelos WebGL". www.phoronix.com . Consultado el 25 de agosto de 2020 .

enlaces externos