Betazeta Networks:BelelúBólidoCHWFayerWayerFW BrasilFerpleiLUPANiubieSaborizanteVeoVerdeWayerless MCUZimio Versión Movil

Temas Calientes

Linux: VDPAU y los avances en reproducción de videos

44

Tux PureVideo

En el área gráfica de Linux se están realizando varios cambios importantes para mejorar el uso de hardware específico y para eliminar algunas trabas como es el manejo de memoria gráfica en foma estándard.

Respecto al hardware, las series 6 de NVIDIA GeForce incluyen una característica llamada PureVideo que se encarga del soporte de decodificación y presentación de videos a través del procesador gráfico (GPU).  Mientras que en Windows se utiliza PureVideo mediante DirectX Video Acceleration API (DxVA), en Linux se podía utilizar esta característica sólo en forma limitada.

NVIDIA viene a cambiar esta situación con el desarrollo de una API equivalente a DxVA para el mundo Unix llamada VDPAU : Video Decoding and Presentation API for Unix (API para decodificación y presentación para video).  Antes de explicar de que se trata, repasemos cuales son los sistemas actuales de aceleración de la reproducción de videos en Linux:

  • Sin aceleración : la CPU se encarga de realizar todos los cálculos de decodificación de video.  Posteriormente cada frame decodificado debe ser copiado a Video RAM aplicando otros cálculos adicionales para llegar al tamaño que se quiere desplegar, ya sea agregando o eliminando pixeles.  Mientras más grande es el video original o el area de despliegue, peor es el rendimiento del sistema completo.  Si la ventana del video es cubierta por otras ventanas, la CPU tiene que hacer los cálculos necesarios para copiar sólo los bloques visibles. Independiente de la velocidad del computador, es un método bastante lento.
  • X-Video (xv) : La CPU se encarga de realizar todos los cálculos de la decodificación del video, pero es la GPU quien se encarga de escalar y mostrar el video en pantalla, por lo tanto el tamaño del video es irrelevante para el rendimiento.  Originalmente se utilizaba la técnica del Chorma Key, es decir, se pinta un fondo azul y la GPU reemplaza todos esos píxeles por la imagen del vídeo, no es necesario hacer ningún cálculo relacionado con ventanas que tapan areas del video.  Cuando surgen los sistemas de despliegue basados en composición (Compiz y sus efectos 3D) se elimina el uso de Chroma Key y el video se renderiza como si fuera una textura en un polígono, aprovechando toda la capacidad de las GPU con aceleración 3D.
  • X-Video Motion Compensation (XvMC) :  La GPU se hace cargo de algunas tareas de la decodificación de video, especificamente dos importantes tareas de la decodificación de MPEG-2, el codec que se usa en los DVD’s y en sistemas de televisión digital.  El hardware de NVIDIA sólo soporta XvMC con su driver propietario hasta las series 7 de GeForce mientras que ATI lo soporta sólo en forma experimental.  VIA agrega una tercera tarea de decodificación y además soporta MPEG-4 (ASP) y H.264.  Intel lo soporta completamente en sus series 8xx/9xx y dice que está trabajando en el soporte de más codecs.

VDPAU : Video Decode and Presentation API for Unix

NVIDIA no siguió con el soporte de aceleración a través de XvMC y no es que abandone el barco, sino que se dedicaron a desarrollar un nuevo esquema de aceleración que oficialmente soporte más tareas de decodificación en la GPU y que además soporte una gran cantidad de codecs.

A partir de la versión 180.06 de su driver propietario, NVIDIA comenzó el soporte de VDPAU en la series 8 de GeForce y posteriores (las anteriores tienen XvMC).  Los codecs que pueden ser acelerados son MPEG-1, MPEG-2 (DVD), MPEG-4 (H.264), VC-1 (HD DVD/BlueRay) y WMV3/WMV9.

La mejora en el rendimiento de la reproducción de videos puede ser impresionante.   En pruebas de VDPAU realizadas con hardware barato (CPU: USD$20 + GPU: USD$30) se pueden apreciar mejoras del rendimiento en la decodificación de videos HD que van desde una relación 1:2 a casos extremos con una relación 1:9.

NVIDIA además ha ayudado a desarrollar los parches para que las aplicaciones de video en Linux puedan usar VDPAU, específicamente hay soporte en MythTV, FFmpeg, MPlayer, VLC y Xine a través de parches.

Intel por su parte estaba tratando de mejorar XvMC a través de una API funcionalmente equivalente a VDPAU pero llamada simplemente Video Acceleration API (VA-API), sin embargo no ha tenido un impulso tan grande como el que esta dando NVIDIA a su tecnología.  No sólo no hay mucho código disponible, sino que el único driver de Intel que soporta VA-API es para una familia de chips que fue adquirida a PowerVR, por lo tanto es diferente a todo lo existente para sus chips más conocidos.  Este hardware conocido como Poulsbo (GMA 500) se encuentra presente en dispositivos MID’s y netbooks, sus drivers tienen componentes privativos y han sido duramente criticados por su deficiente calidad.

Afortunadamente Intel ha declarado que está considerando a VDPAU para sus drivers de X.org, y si esto sucede, se espera que ATI también se una a esta iniciativa.

Links:
- NVIDIA Driver brings PureVideo features to Linux (phoronix.org)
- Intel considering VDPAU for X.org driver (phoronix.org)
- HD Video playback with a $20 CPU & $30 GPU on Linux (phoronix.org)

44 Comentarios

Linux: VDPAU y los avances en reproducción de videos

Páginas: 1 2
Ver Todos
Thumb up 0 Thumb down 0 avatar_JuanIron JuanIron dijo hace 3 años

Mish, no habia cachado que el articulo era de Franco, me acuerdo de TVnauta, pucha yo tengo ATI...

Buen articulo

Responder
Thumb up 0 Thumb down 0 avatar_Marcelo Marcelo dijo hace 3 años

si me compro un pc nuevo (cuando lo haga obvio), voy a ver quien esta mas avanzado en drivers graficos para armar el pc.
Futurologia: si siguen al mismo ritmo que lo estan haciendo ahora, creo que seria muy facil ver que la empresas como crytek desarrollen juegos para linux

Responder
Thumb up 0 Thumb down 0 avatar_Nombre (obligatorio) Nombre (obligatorio) dijo hace 3 años

Y, como nos podemos dar cuenta, el entendimiento de las dosis diarias de tecnología en español no son para el usuario normal. Menos para el usuario normal que no dispone de tanto tiempo para documentarse apropiadamente, claramente se gana por un lado y se pierde por otro.

Responder
Thumb up 0 Thumb down 0 avatar_frosstatx frosstatx dijo hace 3 años

me gustan estos temas, informacion + interes + tecnologia, esperando que le den soporte a las series 6 y 7

Responder
Thumb up 0 Thumb down 0 avatar_Luis Luis dijo hace 3 años

Buena Franco, articulos de Linux si hacen falta por aca.

Responder
Thumb up 0 Thumb down 0 avatar_Algalord Algalord dijo hace 3 años

genial :D

la verdad es que la reproducción de video en Linux es maaaaala... pa que andamos con cosas, ojala que ATI se ponga las pilas también.

Responder
Thumb up 0 Thumb down 0 avatar_Frisco Frisco dijo hace 3 años

Que grata sorpresa ver tú publicación.
Felicitaciones!!
Saludos también te manda GM.

Responder
Thumb up 0 Thumb down 0 avatar_Stein! Stein! dijo hace 3 años

@Nombre (obligatorio):
El "usuario normal" al que te refieres, simplemente nunca ha entrado a este sitio ni se interesará por hacerlo, es una cosa de nichos. Paralelamente (y a modo de ejemplo), yo cuando veo una noticia de Apple ni la leo, por lo que para mí, da lo mismo como se desarrolle el contenido, y no por eso me dejará de interesar FW.

Imagino que el hecho de que las noticias de Linux sean algo nuevo para muchos, provoca que algunos que no saben mucho del pingüino (onda que no lo usen) entren a curiosear y al no entender sientan que la noticia no tiene sentido (para los que creen que no hay necesidad de Linuxwayer)

@Franco:
Interesantísima tu intención, todo los otros sitios de noticias de Linux son solo traducciones y re-ediciones de noticias de otros blogs. Felicitaciones, gran iniciativa, se agradece.

Responder
Thumb up 0 Thumb down 0 avatar_In Nomine+Patris In Nomine+Patris dijo hace 3 años

Y para qué!, si los Linuxeros usan sólo la consola.

Responder
Thumb up 0 Thumb down 0 avatar_Andres Bravo Andres Bravo dijo hace 3 años

@Franco Catrin
(siempre refiriendome a GNU/Linux, no tienego idea de Vista y XP)
Discrepo contigo en que los drivers siempre han sido potentes. Puedes ver en la misma web de phoronix cómo van haciendo benchmarks (desde hace bastantes años) de las diferentes versiones de los drivers usando el mismo hw y cómo han aumentado el rendimiento de varios juegos y aplicaciones. Yo mismo tengo acceso a varias tarjetas de video de diferentes marcas y siempre he estado probando los drivers y habilitanto la aceleracion 3D y probando su desenpeño (no motivado tanto por curiosidad sino por la calentura de no poder jugar un juego o usar Xgl y Compiz ... ok...ok de oscioso también).
He notado mucha diferencia en la estabilidad y rendimiento por ejemplo de Compiz/Xgl/kwin y algunos juegos tato libres como propietarios. El avance se aprecia tanto al salir versiones nuevas de los drivers como de aplicaciones.
Y de nuevo discrepo un poco en el tema de cómo estan construidas las aplicaciones, en teoria el codigo debe ser independiente (ni tanto tampoco). Pero lo cierto es que en la práctica los bugs, cosas de hardware y métodos para generar efectos gráficos han terminado dejando esto casi en la teoría, es algo muy similar a lo que pasa con html/javascript y los diferentes browsers.
Esto no lo digo asi de oídas, lo compruebo frecuentemete. (en tu caso puedes comprobarlo mirando los changelogs, especialemente los de ati, o simplemente instala todas las aplicaciones 3d posibles que encuentres en tus repositorios y córrelas, verás que muchas tienen problemas que no se presentas con versiones especifica de algunos drivers y marcas). Estos problemas han ido disminuyendo pero gracias al desarrollo y avance de los drivers, las aplicaciones y los juegos.

Y respecto a la integración de los drivers con las dristribuciones, es cierto que ultimamente han salido paquetes para ubuntu/opensuse/fedora e incluso en los mismos resositorios, y estas tambien han mejorado sus herramientas de autodetección e instalacion de los respectivos drivers... pero, todabia no estan en un buen nivel y, aún incluso algunas distros tienen problemas al instalar y reconocer drivers para intel. Es cierto que a veces no hay que tocar nada y puedes correr inmediatamente una aplicacion 3D, pero no es la mayoria de los casos, a veces se deben instalar paquetes especificos. Problemas que han ocurrido tanto por despiste de los empaquetadores, por el avance de las herramientas de autodeteccion, y por la falta de una infraestructura de pruebas que es bastante dificil de conseguir.

Es dificil hacerce el panorama general de este tema de los drivers y el video en gnu/linux phoronix lo presenta muy bien en algunos de sus últimos artículos, pero gran parte del tema también está en las publicaciones anteriores.

Responder
Thumb up 0 Thumb down 0 avatar_LoL LoL dijo hace 3 años

Ojala que intel considere la iniciativa de Nvidia... la verdad es q hay bastantes cosas con el desempeño de mi tarjeta que me tienen un poco desconforme, especialmente la reproduccion de videos.

Responder
Thumb up 0 Thumb down 0 avatar_tuxcayc tuxcayc dijo hace 3 años

Que bueno verte por estos lados Franco!
No sé si estás hace mucho tiempo y me disculpo si es así ya que el autor queda muy escondido a mi parecer en el actual diseño.

Buen artículo muy explicativo, aparte de enterarme lo de nVidia ahora entiendo eso del "xv" y lo otro que aparecen en mplayer y apps así en gnulinux.

Saludos!

Responder
Thumb up 0 Thumb down 0 avatar_San_Pateste San_Pateste dijo hace 3 años

excelente e interesantisima nota..extrañaba algo asi de importante....cuando algo relacionado con las ATI en Linux?? buenas tarjeta pero ha sido un dolor de cabeza intentar isntalarla en mi SuSE 11.1...T.T

Responder
Thumb up 0 Thumb down 0 avatar_PaYaZo PaYaZo dijo hace 3 años

yeah !!!! se viene bueno también !!! :D
saludos
Linuxla.cl
Se me cuidan!!

Responder
Páginas: 1 2
Ver Todos

Deja tu Comentario

La opción de comentar está abierta a todos los usuarios, pero te pedimos por favor mantenerte dentro del tema del artículo y no publicar comentarios ofensivos o publicidad basura. Nos reservamos el derecho de eliminar cualquier comentario que no cumpla estas reglas.

Para que aparezca tu foto en vez del icono genérico en tu comentario, el email con el que comentas debe estar inscrito en Gravatar.