La información más actualizada sobre el tema está en el hilo del foro. La wiki no la actualizo tan frecuentemente, aunque lo intento... La aceleración con los HD-DVD y los Blu-Ray pasa sencillamente por tener instalado el PowerDVD Ultra y activada la aceleración gráfica, o al menos así debería de ser para la mayoría, y donde se están encontrando más problemas es en la aceleración de los MKV, de ahí que este hilo se centre en ellos.
La idea es mantener el primer mensaje con toda la información actualiza y que en el hilo se aporten cosas nuevas de las pruebas y las experiencias de la gente del foro, mas que nada por que el hilo de tarjetas gráficas aceleradoras está siendo demasiado largo y la información se encuentra demasiado dispersa.
Introducción
Desde hace algunos años, las tarjetas de vídeo implementan en su GPU (Unidad de Proceso Gráfico) la lógica necesaria para realizar ciertos procesos relacionados con la manipulación o decodificación de vídeo de manera que libera a la CPU de estas tareas. Al principio se trató de acelerar el MPEG2 y últimamente, los esfuerzos van dirigidos también al H.264 AVC y al VC-1, los dos codecs por excelencia de la Alta Definición.
Las tarjetas más conocidas para ello son la serie HD 2x00 y 3x000 de ATI y la 8x00 de Nvidia, pueden ver mas detalles sobre ellas en la
wiki.
Para conseguir esta aceleración, es necesario tener instalado algún códec que esté preparado para ello. El más conocido, es el de Cyberlink en la versión del PowerDVD Ultra con el añadido para alta definición, aunque también el Nero en sus últimas versiones la soporta, aunque no estoy seguro si solo en las ATI o también en las Nvidia. Recientemente ha salido una versión del MPC - Homecinema que trae codecs incluidos para H264 y VC-1 con soporte DXVA para las tarjetas ATI HD. Por ahora, según comentan en la web, no tiene soporte DXVA para las Nvidia.
Configuración
Partimos de que están montados los últimos drivers con soporte de aceleración para las tarjetas correspondientes (en la
wiki hay información de como montar los últimos Catalyst de ATI en algunas AGP que no son reconocidas) así como el Haali. También, es necesario realizar unos
cambios en el registry para optimizar el funcionamiento de estas tarjetas, posteriormente a montar los drivers. Yo no pude usar la aceleración para las pelis a 1080 hasta que no pasé la última versión de esta utilidad, mientras que si me funcionaba mientras usara resoluciones de 1440x900 o inferiores.
Pondré primero la configuración más sencilla usando el
MPC - Home Cinema y después usando el códec del PowerDVD en XP, que es la configuración que tengo. Se agradecerá la información para el Vista.
En ambas opciones, como usamos el MPC, en la sección de
Internal Filters, desactivamos la de MKV para que se encargue de manejar los Matroska el
Haali splitter que deberemos de tener instalado, ya que por las pruebas que he realizado, el splitter de matroska interno del MPC da errores en algunas películas (Brazil) que impiden que se active la aceleración.
Media Player Classic - Home Cinema con codecs propios Aprovechando que a principios de Marzo ha salido una nueva versión de esta 'ramificación' del MPC, que incluye codecs para H264 y VC-1 con soporte de aceleración por hardware, pongo aquí su configuración, ya que es la más sencilla. Este programa, al igual que la versión oficial, no lleva instalación, basta con descomprimir el ejecutable en cualquier sitio y arrancarlo. Una vez dentro, con el botón derecho encima de la pantalla, nos vamos a
Options, Playback, Output, y elegimos uno de los modos de render que soportan DXVA, que son Overlay Mixer, VMR7, VMR9 o VMR9 renderless, en XP y el EVR en el Vista. En caso de que necesitemos subtítulos, es importante que no habilitemos filtros internos, sino solamente el soporte interno que trae el propio MPC-HC, pero en este caso, tendremos que usar de render el VMR9 renderless para los usuarios de XP y el EVR Custom para los de Vista.
Comentar también que una de las mejoras que tiene esta versión del MPC es el soporte de un modo especial para evitar el Tearing que se selecciona en esta pantalla y que es el modo
Direct3D, aunque tiene el inconveniente de que no permite ningún menú overlay ni caja de diálogo, pero hay que decir en su favor que funciona muy bien.
Después de esto, nos vamos a la sección de
Internal Filters y nos aseguramos de que estén marcados tanto el H264/AVC como el VC-1. Si ya hemos usado este programa y le hemos configurado filtros externos como el CoreAVC o el de Cyberlink, bastará con desmarcarlos en la sección de
External filters para que use los internos. En realidad, este programa, al estilo del VLC, se basta para decodificar con sus filtros internos casi todo lo que le echemos, por lo que suele ser innecesario montar ningún filtro/codec adicional para ver las películas más habituales.
MPC + Codec Cyberlink (PowerDVD) Una vez están instalados ambos programas, entramos en las opciones del MPC, sección de
External filters y darle a
Add filter y seleccionar el Cyberlink H.264/AVC Decoder (PDVD7.x) y ponerlo como 'prefer' por si tenemos algún otro codec por ahí que podría interferirnos, aunque no debiéramos... En caso de tener instalado también el CoreAVC, podemos ponerlo en block, mientras vayamos a usar el codec de cyberlink, e ir alternando esta situación (bloquear uno y preferir el otro ) dependiendo de si el contenido que vayamos a reproducir puede ser acelerado o no.
Si queremos tener la opción de usar
subtítulos, deberemos prescindir de filtros externos (como el vobsub) puesto que estos hacen que se desactive la aceleración, y usar los internos del MPC que funcionan perfectamente, y para ello, deberemos de tener en la sección
Output elegida la opción VMR9, aunque he comprobado que la aceleración funciona tanto con WMR9 como con la System Default. Si hacemos modificaciones en esta opción, es aconsejable cerrar y volver a abrir el MPC. Yo suelo dejarlo en 'Auto'.
Una vez realizadas estas configuraciones, abriremos un mkv que contenga vídeo en formato h.264 y una vez cargado, pausaremos la reproducción, ya que todavía nos falta configurar un pequeño detalle. Con el botón derecho, nos vamos a la opción de
filters, elegimos el de Cyberlink y nos aseguramos de que en la sección Miscellaneus está marcada la opción
Use DXVA. Por las pruebas que he realizado, es indiferente si elegimos el Video mode en cualquiera de las 3 opciones.
En películas que no cumplen con los parámetros necesarios para ser aceleradas, el resultado es que cuando se usa el codec de cyberlink, se obtiene una pantalla en negro, tanto en películas en 720p como en 1080p, y en otros casos, con las 720p, sigue apareciendo el fallo de los 20 fps (consistente en que baja el número de fps, en ocasiones muy por debajo de los 20).
Según sugerencia de bayukabar que lo encontró en los foros de AVSForum, para aquellos que tengan AMD y que siguiendo estas instrucciones no les funcione la aceleración, pueden probar a [i]buscar el archivo 264dsse.dll (está en .../powerdvd/filtros de video) y lo renombraremos a 264dsse.dll.old. Después buscamos el archivo 264dsse2.dll y lo renombramos a 264dsse.dll[/i].
Estás pruebas han sido realizadas con la versión 8.3 de los Catalyst modificada para que admita mi Club3d ATI HD 2400 Pro en AGP, el MPC versión 6.4.9.1.
Parámetros de codificación necesarios para que un rip en x.264 sea compatible con DXVA
Parece ser que el problema del porque no funcionan la mayoría de los rips con la aceleración de hardware, es debido a que los drivers y codecs que se encargan de esto están pensados y diseñados solamente para contemplar el estándar de codificación de los H.264 que viene en los HD-DVD y Blu-Ray.
Esto implica que el nivel del perfil usado para la codificación o IDC debe ser el 4.1 y también debe contemplar las limitaciones en algunos parámetros que este perfil implica. Digamos que lo de los perfiles se usa para definir unos ciertos parámetros que se han de usar al codificar una película. Por defecto, el x264, el principal codec usado para generar los rips que solemos ver por estos lares, define un nivel de 5.1 para ese IDC, y éste es el primer escollo. El codec de cyberlink desde que ve esta cabecera en el fichero a reproducir, empieza actuar de manera extraña, lo mas normal, es que en caso de que se llegue a ver, los cuadors por segundo caigan de su velocidad normal a una mucho mas lenta (en la mucho casos causa el bug de los 20 fps, en otros, como Brazil la caida es casi a 0 fps).
Se ha comprobado que muchas de las películas que hay por la red en 720p se les puede modificar el campo de cabecera para intentar engañar el codec y así lograr que sean compatibles DXVA. Para esto existen fundamentalmente dos métodos, el primero es usar una utilidad creada por
DJBlue de Avsforums denominada
IDC Changer que te permite de una manera casi instantánea, modificar el IDC de un fichero mkv. El segundo método es usar el h264info para realizar la misma operación, pero esto implica tener que extraer el vídeo a un fichero h.264 convertirlo con este programa, que te generará otro fichero convertido, y luego volver a mezclar ese vídeo con los audios y subtítulos que tuvieras. Como se puede ver, este método es mucho mas complicado y lleva mucho mas tiempo. Tengo pendiente de realizar pruebas para ver si los ficheros que no funcionan pasándoles el IDC Changer si funcionarían con el método del h264info.
Esto es así porque están dentro de los límites que marca el perfil 4.1 aunque el x264 los haya marcado con el perfil 5.1
Si queremos entrar mas en detalle, hay una tabla que el compañero
Tamago puso en el hilo "Gráficas con Aceleración por Hardware" que paso a reproducir y que está cogido de un
hilo de avsforums donde está la información más actualizada sobre el tema.
En la tabla se mencionan los parámetros que parecen estar influyendo directamente en la compatibilidad con la DXVA dependiendo del tamaño del vídeo. Digamos que expone cual es el máximo de estos parámetros para un tamaño de imagen dado. Si el fichero que tenemos sobrepasa estos parámetros, entonces lo mas seguro es que de problemas al intentar habilitar la DXVA o sencillamente no se reproduzca.
Hay dos tablas, una para versiones superiores a la 721 y otra para inferiores, ya que a partir de la 721 se han empezado a aplicar parches para facilitar el que se codifique pensando en que después los rips sean compatibles con la DXVA.
 |
 | Resolution: Max DPB Size (x264 revision 721+ encoder settings) L4.1 1920x1088: 4 (--ref 4 --bframes 3) 1920x864: 5 (--ref 5 --bframes 3) 1920x720: 6 (--ref 6 --bframes 3) L4.1 1280x720: 9 (--ref 9 --bframes 3) 1280x648: 10 (--ref 10 --bframes 3) 1280x588: 11 (--ref 11 --bframes 3) 1280x540: 12 (--ref 12 --bframes 3) 1280x498: 13 (--ref 13 --bframes 3) 1280x462: 14 (--ref 14 --bframes 3) 1280x432: 15 (--ref 15 --bframes 3) 1280x405: 16 (--ref 16 --bframes 3) L3.1 720x(any): 8 (--ref 8 --bframes 3) 720x576: 11 (--ref 11 --bframes 3) 720x480: 13 (--ref 13 --bframes 3) Resolution: Max DPB Size (x264 revision < 721 encoder settings) L4.1 1920x1088: 4 (--ref 3 --bframes 3 --no-b-pyramid) 1920x864: 5 (--ref 4 --bframes 3 --no-b-pyramid) 1920x720: 6 (--ref 5 --bframes 3 --no-b-pyramid) L4.1 1280x720: 9 (--ref 8 --bframes 3 --no-b-pyramid) 1280x648: 10 (--ref 9 --bframes 3 --no-b-pyramid) 1280x588: 11 (--ref 10 --bframes 3 --no-b-pyramid) 1280x540: 12 (--ref 11 --bframes 3 --no-b-pyramid) 1280x498: 13 (--ref 12 --bframes 3 --no-b-pyramid) 1280x462: 14 (--ref 13 --bframes 3 --no-b-pyramid) 1280x432: 15 (--ref 14 --bframes 3 --no-b-pyramid) 1280x405: 16 (--ref 15 --bframes 3 --no-b-pyramid) L3.1 720x(any): 8 (--ref 10 --bframes 3 --no-b-pyramid) 720x576: 11 (--ref 10 --bframes 3 --no-b-pyramid) 720x480: 13 (--ref 12 --bframes 3 --no-b-pyramid) |
Esto está en constante actualización, ya que se están realizando pruebas y cambios para confirmar que esto se cumple con todas las películas.
Resumo a continuación las razones por las que una película determinada pueden no funcionar con aceleración de hardware:
Los fallos de los mkv son por 5 razones:
1. Demasiados frames de referencia (según la tabla de arriba)
2. Resoluciones que no son múltiplos de 16 (vertical normalmente)
3. Problemas con el muxer usado. Algunas películas, basta con volver a muxearlas con la última versión del mkvmerge para que funcionen
4. Mal definido en la cabecera el Aspect Ratio (solo se permite 1:1, 4:3, 5:4 y 16:9)
5. Perfil de compresión mal definido (5.1 fallará la mayoría de las veces por lo que es preferible usar el 4.1)
Y también hay 5 soluciones para que los ficheros funcionen:
1. Cambiando en la cabecera la información de los frames de referencia con el H264Info, aunque la mayor parte de las veces causa corrupción del vídeo, así que mejor lo dejamos
2. Cambiar la resolución a un múltiplo de con el h264info, algunas veces causa una línea de color o gris debajo de la imagen pero funcionan perfectamente
3. Volver a remuxear los ficheros con la última versión del mkvmerge
4. Cambiar el Aspect Ratio (SAR) con el h264info
5. Cambiar el perfil (IDC) con le h264Info o con el IDCChanger
Si queremos saber si las películas que tenemos cumplen con estos parámetros, podemos usar el
Avinaptic, o el
mediainfo, que en su última versión nos da también los parámetros usados para la codificación, el IDC o Profile y el número de frames de referencia así como la versión de x264 usada y un poquito mas de información detallada.
De todas maneras, recomiendo que prueben, y no se den por vencidos solo por ver que los parámetros no cumplen con lo aquí expuesto, ya que esto todavía esta en pruebas, y por ejemplo, la película que he usado principalmente para mis pruebas, "Brazil", está realizada con una versión < 721 y tiene activado el b-pyramid pero aún así, parece verse estupendamente (aún no la he visto entera, solo la he ojeado para las pruebas). Con Avalon, otra de las que ha funcionado con el IDC Changer, pasa igual, también tiene activado el b-pyramid pero parece verse bien y se activa la aceleración.
Es importante destacar que cuando se trata de clips que han sido 'remuxeados' dentro de un matroska, pero que no se ha modificado el vídeo y que cumplen con el estándar HD-DVD o Blu-Ray (4.1) aunque tengan un bitrate bastante superior, la aceleración funciona perfectamente. Un ejemplo son los trailers que recientemente puso Taxidermista de
'Iron Man' y
'I am Legend'.
De hecho, estos dos trailers son los elementos de prueba perfectos para confirmar que la aceleración de hardware está funcionando y que no tenemos problema de drivers o de codecs. Si estos funcionan, las películas ripeadas que puedan ser aceleradas, deberían de funcionar.
Se agradece cualquier comentario, sugerencia y experiencia para ir engrosando este ladrillo de mensaje.
Saludos...
Héctor D.
Hilo de referencia en el foro.
Comentarios recientes
hace 1 día 4 horas
hace 1 día 10 horas
hace 1 día 13 horas
hace 1 día 18 horas
hace 3 días 10 horas
hace 3 semanas 14 horas
hace 3 semanas 3 días
hace 3 semanas 4 días
hace 4 semanas 9 horas
hace 4 semanas 12 horas