Tutorial: Usar DXVA en MPC-HC (decodificación AVC/H264 y VC1 por Hardware)

Desde hace unos cuantos años, cuando nos compramos una gráfica vienen dándonos por el saco hablándonos de las capacidades de reproducción de vídeos por GPU y eso. Y desde hace unos pocos menos, más o menos allá por la salida de los formatos BluRay y HD-DVD, se les llenaba la boca hablando de capacidades de apoyar la decodificación de esos nuevos formatos.

Pues bien, a mí siempre me escamó que no tenía ni pajolera idea de usar el Avivo de mis ATI (antes tenía una x1600XT, y ahora una HD3870). Hace unos días me topé con un hilo para aprovechar la GPU, y vaya, los resultados son más que notables.

Hay que tener en cuenta que de ahora en adelante, cuando me refiera a DXVA, me referiré a la decodificación por hardware de AVC/H264 y VC1 utilizando DXVA.

Antes, si bien podía reproducir vídeos 1080p con fluidez, la carga de mi CPU (Q6600) era más o menos del 50%. No podía jugar a apenas nada, y menos encodear, sin que me racanease el PC a muerte. Pero ahora, utilizando DXVA (DirectX Video Acceleration), con vídeos 1080p no me pasa ni del 10% de uso de CPU. La mejora en el rendimiento es más que notable.

¿Mi tarjeta soporta DXVA para H264 y VC1?

Se supone que las tarjetas superiores a la serie HD 2000 de ATI, y las 8000 de nVidia lo soportan. En el link de la wikipedia anterior, vemos que hay un programita hecho por un japonesito de nick Bluesky23 llamado DXVAChecker que nos dice las capacidades de nuestro hardware en lo referido a DXVA.

Capturas de lo que me sale a mí con una HD3870

dxvachecker_decoder dxvachecker_processor

Si se parece más o menos en la parte de H264, pues podréis xD

Programas a usar

Hay un montón de configuraciones diferentes para poder usarlo. Las más simples serían usar el PowerDVD, usar el KMPlayer, o la que voy a exponer aquí, utilizar los filtros internos de MPC-HomeCinema.

Lo dicho, bastará con bajarnos el MPClassic HomeCinema.

Configuración

Como una imágen vale más que mil palabras, voy a enlazaros lo que tendréis que tocar. Está todo en el menú de Opciones, que sacaremos clickeando con el botón derecho encima de la zona del vídeo.

Internal Filters

dxva_internal_filters

Aunque yo no lo tenga marcado, marcad las dos opciones rodeadas en rojo: H264/AVC (DXVA) y VC1 (DXVA).

Playback > Output (para Windows XP)

Esta zona difiere lo que hay que usar según utilicemos XP o Vista. Aquí van las opciones para Windows XP.

dxva_xp_sets

Playback > Output (para Windows Vista/Windows 7)

Cambiamos el renderer en este caso al EVR Custom.

dxva_vista_sets

Playback

En el caso de que queráis ver subtítulos flotantes y demás, al utilizar los decoders DXVA perderemos toda la configuración que hacía que los pudiésemos ver antes en cualquier cosa que tirase de DirectShow (como fue mi caso), vamos, el DirectVobSub y demás zarandajas.

Y como estoy seguro de que todos aquellos que leáis esta página veréis anime o películas, y la mayoría tendrán algún tipo de subtítulo, pues esto es algo inconcebible.

La solución es bien fácil, marcando el parámetro rodeado de rojo, Auto-load Subtitles, podremos verlos sin ningún problema.

dxva_playback

Y ya está :)

Probando si va todo como debería

No todo lo que tengamos de vídeos será compatible con la nueva configuración, pero no hay que preocuparse: aquello con lo que no podamos usar DXVA, tirará de lo que usasemos anteriormente (en mi caso, CoreAVC). Para ver si lo que estamos viendo está siendo tocado por la “magia” del DXVA, basta con fijarse en Filters…

dxva_working

Y ya está. Notaréis, probablemente, como el uso de CPU viendo vídeos de alta resolución, es bastante menor.

[Opcional] Usar Pixel Shaders para algo xD

Si vais sobradetes, pues también podéis usar los Pixel Shaders (2.0) de vuestras tarjetas a placer, con los filtros que os apetezcan.

ps2shaders1

Por ejemplo, esta es mi configuración de shaders. Además, nunca está de más cambiar el resizer para otro tipo de vídeos para utilizar Bicubic. Podéis apreciarlo en las capturas de Playback > Options que hay más arriba.

Y ya está…

Fácil, rápido, y para toda la familia. Ah, y repito, si no pilla DXVA el vídeo que uséis, tirará de la configuración por defecto anterior y tal. El que funcionen los vídeos o no está íntimamente ligado al número de refs y b-frames que uséis y la resolución. Ya sabéis, aquello de “si te pasas te lo pierdes”, pues aquí va que ni pintado xD

  • http://www.perry.es/ Mini-Link

    Cuando creí que los mkv con subs flotantes los tendría que ver petaos apareció este tutorial y me abrió las puertas al orgasmo xDD.
    Mil gracias men , cada vez te lo curras más.

  • http://www.perry.es Mini-Link

    Cuando creí que los mkv con subs flotantes los tendría que ver petaos apareció este tutorial y me abrió las puertas al orgasmo xDD.
    Mil gracias men , cada vez te lo curras más.

  • Silvermad

    Mi Radeon x1950pro sera compatible con esto?

  • Silvermad

    Mi Radeon x1950pro sera compatible con esto?

  • http://www.perry.es/ mrm

    Seguramente sí xD

  • mrm

    Seguramente sí xD

  • Silvermad

    Lo he hecho pero no se si esta bien cuando miro lo de los filtros no me sale el mpc video decoder, me sale uno que pone fddshow video decoder, hay que hacer algo mas aparte de tocar el mpc?

  • Silvermad

    Lo he hecho pero no se si esta bien cuando miro lo de los filtros no me sale el mpc video decoder, me sale uno que pone fddshow video decoder, hay que hacer algo mas aparte de tocar el mpc?

  • http://www.perry.es/ mrm

    Eso es que no te lo pilla. Prueba con otros vídeos a ver (depende de los vídeos que veas también).

  • mrm

    Eso es que no te lo pilla. Prueba con otros vídeos a ver (depende de los vídeos que veas también).

  • Silvermad

    Alomejor no lo soporta, porque me he ido a la configuracion del ffshow y en lo de h.264/avc lo he puesto en disabled para que no lo pase por ahi, y ahora cuando pongo algo al iniciar el mpc me da un error y solo sale el audio…

  • Silvermad

    Alomejor no lo soporta, porque me he ido a la configuracion del ffshow y en lo de h.264/avc lo he puesto en disabled para que no lo pase por ahi, y ahora cuando pongo algo al iniciar el mpc me da un error y solo sale el audio…

  • http://www.perry.es/ mrm

    No tienes que tocar nada de ningún otro lado. Deja el ffdshow como estaba.

    La cosa es, si se puede utilizar con todo eso que he puesto, el MPC lo utiliza. Si no, utiliza tu config vieja (que sería la del ffdshow que tenías).

  • mrm

    No tienes que tocar nada de ningún otro lado. Deja el ffdshow como estaba.

    La cosa es, si se puede utilizar con todo eso que he puesto, el MPC lo utiliza. Si no, utiliza tu config vieja (que sería la del ffdshow que tenías).

  • Haradod

    Jurr!, que bueno :) . Yo que andaba con el CoreAVC y aun así consumía el 99,9% de cpu xDD. (aunque al menos conseguí que me funcionara suave, que si no hubiera sido una decepción con la cámara nueva que compré xD.) Pero es que esto es la caña oye!

    Por cierto!, ¿hay alguna solución no solo para reproducir si no también para editar con DXVA?. Me refiero en sony vegas/premiere etc… Me vendría de lujo mil, que mi procesador sufre el pobre!

  • Haradod

    Jurr!, que bueno :) . Yo que andaba con el CoreAVC y aun así consumía el 99,9% de cpu xDD. (aunque al menos conseguí que me funcionara suave, que si no hubiera sido una decepción con la cámara nueva que compré xD.) Pero es que esto es la caña oye!

    Por cierto!, ¿hay alguna solución no solo para reproducir si no también para editar con DXVA?. Me refiero en sony vegas/premiere etc… Me vendría de lujo mil, que mi procesador sufre el pobre!

  • http://www.perry.es/ mrm

    Creo que la suite CS4 de Adobe tira también de gráfica, según me dijo uno del fansub, así que igual te va mejor xD

  • mrm

    Creo que la suite CS4 de Adobe tira también de gráfica, según me dijo uno del fansub, así que igual te va mejor xD

  • http://situsaleatorius.blogspot.com/ eljon

    Mi consumo de CPU se redujo aproximadamente de 40% a un 4%, uso una de las baratas xfx 8500gt, impresionante cambio. Lo unico malo es que a pesar que le di “Auto load subtitles” estos no aparecen Y_Y.

  • http://situsaleatorius.blogspot.com/ eljon

    Mi consumo de CPU se redujo aproximadamente de 40% a un 4%, uso una de las baratas xfx 8500gt, impresionante cambio. Lo unico malo es que a pesar que le di “Auto load subtitles” estos no aparecen Y_Y.

  • josep2408

    naaais :3

  • josep2408

    naaais :3

  • Atomsk

    Llevo un rato probandolo pero haga lo que haga me sigue usando el coreAVC (hasta se lo he quitado de “externar filters”, y sigue usandolo el muy jodío xD)

  • Atomsk

    Llevo un rato probandolo pero haga lo que haga me sigue usando el coreAVC (hasta se lo he quitado de “externar filters”, y sigue usandolo el muy jodío xD)

  • http://cda-ie.es/ Cubano

    Muchas gracias por el tuto. Como dices, en algunos va y en otros no, pero en los que va menudo cambio. Con una 8600 y bajo la beta de 7 va bien. En los próximos días probaré en Vista y XP.

  • http://cda-ie.es Cubano

    Muchas gracias por el tuto. Como dices, en algunos va y en otros no, pero en los que va menudo cambio. Con una 8600 y bajo la beta de 7 va bien. En los próximos días probaré en Vista y XP.

  • Khârn

    ¿Y la opción de usar CUDA con el CoreAVC 1.9? Es también aceleración por hardware (sólo nVidia), y me reduce el CPU viendo 1080p de 20% a 5%. DXVA no he conseguido que me vaya con mi 8600GS, pero tampoco es que vaya necesitado de CPU xD

  • Khârn

    ¿Y la opción de usar CUDA con el CoreAVC 1.9? Es también aceleración por hardware (sólo nVidia), y me reduce el CPU viendo 1080p de 20% a 5%. DXVA no he conseguido que me vaya con mi 8600GS, pero tampoco es que vaya necesitado de CPU xD

  • http://www.perry.es/ mrm

    Tengo ATI así que el CUDA como que me da un poco igual xDDDDD

    Vamos, DXVA se supone que va en las dos, por eso la comento >_<

  • mrm

    Tengo ATI así que el CUDA como que me da un poco igual xDDDDD

    Vamos, DXVA se supone que va en las dos, por eso la comento >_<

  • Atomsk

    Estuve mirando y parece que mi problema es de compatibilidad con algunos chipsets de tarjetas graficas 8800gts

    Vaya putada tener una tarjeta grafica asi y no poder explotarla en todo lo posible xD

  • Atomsk

    Estuve mirando y parece que mi problema es de compatibilidad con algunos chipsets de tarjetas graficas 8800gts

    Vaya putada tener una tarjeta grafica asi y no poder explotarla en todo lo posible xD

  • http://www.perry.es/ mrm

    Igual te sirve el nuevo Windows 7, que tira de DXVA con su nuevo sistema al estilo VFW (que se llama de otra manera que no recuerdo) él solito.

  • mrm

    Igual te sirve el nuevo Windows 7, que tira de DXVA con su nuevo sistema al estilo VFW (que se llama de otra manera que no recuerdo) él solito.

  • shinji

    MIL GRACIAS!!!! tenia un problema con los subtitulos y ya puedo ver evangelion 1.11 a 1080 subtitulada!!!! MIL GRACIAS!!!!!!!!!!! y QUE PASES BUEN VERANO!!!!!

  • shinji

    MIL GRACIAS!!!! tenia un problema con los subtitulos y ya puedo ver evangelion 1.11 a 1080 subtitulada!!!! MIL GRACIAS!!!!!!!!!!! y QUE PASES BUEN VERANO!!!!!

  • CRISTIAN

    muy groso lo tuyo yo pense que todas las boludeces que tenia adentro el media venian por defecto agradecido al 100×100 rosario argentina

  • CRISTIAN

    muy groso lo tuyo yo pense que todas las boludeces que tenia adentro el media venian por defecto agradecido al 100×100 rosario argentina

  • Lelouch

    Vaya, esta información realmente es muy interesante y nunca pensé en poder probarla con un video que no sea 1080p xD. Me funcionó con uno de “Denpa Teki na Kanojo”; uso de CPU menos del 5%. Gracias, sin embargo me surgió un inconveniente con la peli “Kara no Kyoukai” hecha por uds. y el problema es que no puedo verla. ¿Requiere del Haali Spliter? Una vez más gracias por el tutorial.
    Hail Lelouch.

  • Lelouch

    Vaya, esta información realmente es muy interesante y nunca pensé en poder probarla con un video que no sea 1080p xD. Me funcionó con uno de “Denpa Teki na Kanojo”; uso de CPU menos del 5%. Gracias, sin embargo me surgió un inconveniente con la peli “Kara no Kyoukai” hecha por uds. y el problema es que no puedo verla. ¿Requiere del Haali Spliter? Una vez más gracias por el tutorial.
    Hail Lelouch.

  • Lelouch

    Problema solucionado, sí requería del Haali.
    Hail Lelouch.

  • Lelouch

    Problema solucionado, sí requería del Haali.
    Hail Lelouch.

  • Pingback: Quemando cromo » Reproducir vídeo en Windows 7

  • K1

    ¡Nas! Tengo problemas con esto y no sé si me puedas ayudar. El DXVA va excelente, sin embargo tengo problemas con los xvid que me dan unos saltos horribles y los fps lo capta mal tomándole un rato retornar a lo normal (29,9… fps). Tengo una 9600gt con un moni de 23″, con conexión digital aunque no sé si esto influye en algo.
    Gracias

  • Jsuarezq

    Porsiacaso alguien sabe como hacerlo con el KMPlayer

  • anto

    Hola! He seguido todos los pasos y se ha activado el DVXA sin problemas pero al reproducir una película en HD va bastante peor que tirando solo de CPU, muchísimos saltos.
    Mi tarjeta gráfica es una ATI RADEO HD 6450 1GB.
    No lo entiendo, de todos modos enhorabuena por el tutorial.