• 1
  • 2
  • 3
  • 4
  • 5
  • 21
Avatar de Usuario
Por Tocinillo
Administrador
Autor del hilo
#25706
La calidad si importa: haciendo de Kodi el paladín de la imagen perfecta

Imagen


Muchas veces me he encontrado con la frase de pues en KODI se ve peor que en X (sustituyan X por reproductor de gama alta como un Dune, Oppo o similares) a lo que habitualmente contesto: Eso es que lo tienes mal configurado. Vamos a diferenciar tres apartados distintos, pero que sin tenerlos bien configurados hará que la imagen no sea la mejor posible; con ellos bien configurados tendremos la mejor imagen que existe (con permiso de la inyección de nuevos filtros en la versión DSPlayer, pero ahí ya entramos en la alteración de la imagen), sea cual sea el competidor de miles de euros con el que lo comparemos.

1) Rango de grises (RGB), ¿0-255 o 16-235?


Pese a que ya en la Superguía hablamos de ello, lo cierto es que esa información es ERRÓNEA. Tras algunos meses de leer y estudiar en AVSF y como funcionan internamente las GPUs, shaders y APIs gráficos puedo deciros que por fin se como funciona todo y como debemos configurarlo.

En principio, el rango de grises adecuado para televisiones es el 16-235 y para monitores el 0-255. Todo film (sea DVD, Blu-Ray, etc.) viene grabado SIEMPRE en el rango 16-235. Este rango establece que el negro más negro posible es el 16 y el blanco puro el 235 (y cuando sale una escena completamente negra, como el caso del inicio de Alien, se ve negrísimo) pero evidentemente cuando el director quiere que veamos algo en la sombra esa escena concreta no se nos verá en el 16, si no alomejor en el 23 para así poder ver lo que hay en la negrura.

Luego aparecieron las consolas con conectividad HDMI y los HTPCs, que trabajan en otro rango distinto: 0-255. Esto establece que el blanco máximo es 255 y el negro máximo 0 (se les llama "superwhite" y "superblack") PERO en realidad el negro 0 de este modo es EXACTAMENTE igual que el 16 dedicado a películas, el mismo, no hay NINGUNA diferencia, está comprobado. Con ello deberíamos deducir que mejor ponerlo todo en 16-235 y a correr, ¿no? Pues no señores y ahí está la primera trampa.

Lo primero que debemos entender es que, INDEPENDIENTEMENTE de lo que seleccionemos en el panel de control (YCbCr 4:4:4, YCbCr 4:4:2, RGB Limitado o RGB Completo), la gráfica a nivel de hardware funciona en RGB Completo y SOLAMENTE en RGB completo. Ergo si le indicamos que, por ejemplo, nos funcione en YCbCr 4:4:4, realmente lo que hará la gráfica será una conversión tal que:

RGB Full (0-255) --> YCbCr 4:4:4


Ya hemos hecho una conversión (a nivel de software) que no nos ha servido para nada, ya que si la GPU trabaja en RGB Full da lo mismo que luego lo convierta...mejor que no convierta nada y nos ahorramos una conversión.

Vale, teniendo claro esto, ya sabemos que tenemos que descartar los rangos YCbCr 4:4:4 y YCbCr 4:4:2. Nos queda la disyuntiva entre RGB limitado y completo (o 0-255 vs 16-235). La lógica nos indicaría que la segunda es la idónea, pero no y ahí está la siguiente trampa. ¿Y por qué? Pues porque no solamente la gráfica trabaja nativamente en 0-255, si no que además la API (DirectX en Windows y OpenGL en Linux) trabajan en...0-255, sí.

Así que SUPONIENDO que en nuestra TV no podemos cambiar el rango de HDMI (en muchas ya sí se puede), el circuito que haría el HTPC seleccionando como rango de trabajo el 16-235 sería el siguiente:

16-235 (rango usado por los discos DVD y BD y todo el contenido multimedia) --> 0-255 (rango que usa nativamente la GPU a nivel de hardware) --> 16-235 (nivel de rango que le hemos indicado en el panel de drivers) --> 0-255 (rango que usa la API) --> 16-235 (rango que usa la TV).


En total hemos realizado 4 conversiones, de las cuales dos de ellas son a nivel de hardware (la primera y la última, sin pérdida alguna de información) y dos a nivel de software (las demás, que provocan MUCHOS problemas: artefactos, banding, etc.). Sí, las conversiones a nivel de software dan problemas especialmente de banding...y lo he comprado en mi equipo y la diferencia es BRUTAL, parece una TV china, de verdad.

Imagen


Ese es el problema que aparece, muy molesto..se puede solucionar y se DEBE solucionar seleccionando el rango completo y usando una opción de Kodi. En este caso el circuito funcionaría mucho más eficiente, pues SUPONIENDO que en nuestra TV no podemos cambiar el rango de HDMI (en muchas ya sí se puede), el circuito que haría el HTPC seleccionando como rango de trabajo el 0-255 sería el siguiente:

16-235 (rango usado por los discos DVD y BD y todo el contenido multimedia) --> 0-255 (rango que usa nativamente la GPU a nivel de hardware) --> 16-235 (opción marcada en Kodi, ya se manda así a la TV).   La opción la tenéis en Sistema (se llama Usar rango de color limitado 16-235).


La opción de Kodi, como os digo, está aquí:

Imagen

Diferente, ¿eh? Solo dos conversiones y a nivel de hardware, con lo que no perdemos nada y no tendremos absolutamente ningún problema con banding ni similares. Tras un tiempo leyendo, podéis comprobarlo vosotros mismos en los foros de AVSF y Kodi.tv, veréis como es la opción más recomendada por todos porque es la que de verdad deberíamos tener puesta.

En resumidas cuentas tenemos que:

- Poner la GPU a 0-255.
- Poner Kodi a 16-235.
- Poner la TV a 16-235. (Ojo en Samsung, que el rango "Bajo" corresponde a 16-235 y el "Normal" a 0-255).

Sea como fuere, en Windows es muy fácil poner el rango completo en los drivers. Para Linux es más complicado, más adelante tenéis las instrucciones de como hacerlo para Intel.

Perfecto, ya lo tenemos todo...o casi. Ahora tenemos que tener en cuenta que el desentrelazador por GPU (en Linux los modos MADI y MCDI) no se ven afectados por la opción de 16-235 de Kodi, luego al ver la TV tendríamos "Black crushes", es decir, negros aplastados:

Imagen


En este caso la solución es fácil, seleccionar como desentrelazador "Yadif", que es lo mismo que los anteriores pero por CPU, con lo que ya hemos arreglado el primer problema. Yadif en español se llama "Desentrelazar" y lo tenemos disponible en las opciones de vídeo (mientras vemos un vídeo o canal de TV entrelazado), en "Método de desentrelazado"; al menos en Linux. En Windows tendréis que hacer pruebas.

El segundo problema es que si, nuevamente estamos en Linux, el render VAAPI se pasa también por el forro la opción de 16-235 de Kodi, así que tenemos que desactivar la opción de "Preferir render VAAPI" en las opciones de Vídeo. En Windows creo que no existe. Con esto desactivado solo haremos subir un 2-3% el uso de nuestra CPU, nada dramático y ya sí que, por fin, tenemos todo bien...¿todo?

Pues no, ya que este último circuito de rangos solo lo podemos hacer con Kodi, ya que esa última opción de "Usar 16-235" solo está en Kodi; para todo lo demás tendremos que usar el maldito rango del 16-235 o si no lo veremos todo muy muy negro. Es por eso que en Windows podemos seleccionar dos rangos: uno que afecta a juegos y escritorio (debe estar en 16-235) y otro que afecta a Vídeos (debe estar en 0-255). Todo esto suponiendo que no podáis cambiar el rango de vuestra TV, ya que si podéis hacerlo nada más sencillo que poner el de la TV en 0-255 y los dos del equipo en 0-255 y listo.

En Linux tendremos que usar Openbox para lanzar Kodi y lanzar los programas con scripts que nos cambien el rango a 16-235 cuando estamos fuera de Kodi.

Perfecto, por fin tenemos el dichoso rango bien puesto tanto en Windows como en Linux, vayamos a comprobarlo. Lo más fácil es decargarse los patrones AVS HD 709: http://www.forodvd.com/descargas/basic-settings.rar

Los descomprimimos y los abrimos uno a uno con Kodi (apagad las luces y acercaos a la TV). Empezamos por el llamado Black Clipping:

Imagen


Para conseguir el negro más oscuro sin perder información tenemos que ajustarlo donde veamos la barra 17 parpader mínimamente, casi de modo imperceptible. Si no vemos parpadear ninguna barra es que no hemos configurado el rango como he indicado en esta guía.

Perfecto pasemos al siguiente, el llamado APL Clipping

Imagen


Aquí simplemente deberíamos ver la barra 19-20 y superiores parpadear sí o sí.

Para finalizar abrimos el tercero (y último, los otros dos no los utilizaremos), el llamado White Clipping:

Imagen

Si tenéis un plasma y todo configurado como aquí he dicho, veréis parpadear todas las barras. Si tenéis un LCD/LED bajad el contraste un poco, al menos hasta que veas, como mínimo, las barras 230-234 parpadeando. Ya os digo que en un plasma, por el limitador de energía (APL) muy probablemente las veremos todas o casi todas parpadear, tengamos como tengamos el contraste.

RESUMIENDO E INDPENDIENTEMENTE DE CÓMO SE HAGA EN EL S.O:

LA MEJOR OPCIÓN DE TODAS:

TV: 16-235
Driver: 0-255
Opción de Kodi: MARCADA


LA SEGUNDA MEJOR OPCIÓN:

TV: 0-255
Driver: 0-255
Opción de Kodi: SIN MARCAR


LA PEOR OPCIÓN POSIBLE:

TV: 16-235
Driver: 16-235
Opción de Kodi: SIN MARCAR


Ya está, no hay más.

Por fin tenemos el rango correctamente configurado para todo el material y además lo hemos comprobado, pasamos a otra cosa muy importante: el escalador.

2) Usando los escaladores de alta calidad


Este apartado será infinitamente más corto que el anterior. Bien, sea cual sea nuestro S.O (No, Android no está incluido...otra limitación más) lo primero que haremos será habilitar todos los escaladores de alta calidad (HQ) creando el archivo advancedsettings.xml en C:UsersTUUSARIOAppDataRoamingKodiuserdata y que contenga estos tags. Para Linux:

<advancedsettings>
<video>
<enablehighqualityhwscalers>true</enablehighqualityhwscalers>
</video>
</advancedsettings>


Para Windows:

<video>
<dxvaallowhqscaling>true</dxvaallowhqscaling>
</video>


Listo, reinicamos Kodi y nos vamos a Sistema --> Vídeo --> Aceleración y ponemos la opción de Activar escalado HQ (Alta Calidad) para sobre-escalados en el 0%, con ello conseguimos que Kodi (bueno, nuestra GPU) escale TODOS los vídeos, incluyendo los 1080...y sí, se nota, le da más definición a la imagen según el escalador usado.

Abrimos un archivo 1080, nos vamos al menú de imagen y pondremos el escalador que más nos guste Y nuestra GPU pueda, ya que si ponéis un escalador muy potente (como Lanczos3 o Spiline36, los normales, no los optimizados) y además la GPU tiene que desentrelazar con un desentrelazador de calidad (Yadif -CPU- o MCDI/MADI/DXVA Best/DXVA Bob) se puede atragantar. En cuanto a calidad:

En función de las unidades (vía shaders) que use el escalador, más nítido será (que NO mejor, ahora lo explico):

0 - Ninguno - En Kodi "Vecino más cercano"-
1 - Bilinear
2 - Bicubic
2 - Spline36 Optimized
3 - Lanczos 3 Optimized
3 - Blackman (NO seleccionable en Kodi)
3 - Spline36
3-   Lanczos 3
4 - Spline64 (NO seleccionable en Kodi)
4 - Gauss (NO seleccionable en Kodi)

Como decía, no siempre más es mejor. Lanczos es un pelín más nítido que Spiline...pero introduce mucho ringing en la imagen. Spline36 ofrece la máxima nitidez posible SIN introducir ningún artefacto o problema, como si hace Lanczos como el ringing:

Imagen


Imagen


Coincido con la mayoría de expertos en que el mejor escalador posible es Spiline, al menos de los que nos deja elegir Kodi.

Imagen
Imagen
Imagen
Imagen


3) Conociendo los desentrelazadores avanzados


Otro apartado indispensable, especialmente para los que vemos mucho contenido entrelazado (TV, Satélite, etc.). Un buen desentrelazador debe ser soportado por la GPU (tiene que ser mínimamente potente) y debe aparecernos en las estadísticas 50 fps, NO 25, ya que el contenido viaja "entrelazado en dos frames" por lo que las emisiones emiten realmente a 50. Un desentrelazador bueno siempre nos devolverá los 50 fps estables como una roca.

Nada más sencillo que poner un canal o vídeo entrelazado (mejor a 1080, para ver si puede y además ver si puede escalar y desentrelazar con buenas opciones a la vez), vamos a las opciones de vídeo. Ponemos que el desentrelazado esté en "Auto" y como opción elegiremos una de las siguientes. Los mejores son, en Linux:

1) MCDI (por GPU) y YADIF (por CPU).
2) MADI
3) VAAPI-BOB
4) Bob
5) Otros -software-


En Windows:

1) DXVA Best (GPU) y YADIF (CPU).
2) DXVA Bob
3) Full Temporal/Spatial
4) Half Temporal/Spatial
5) Bob
6) Otros -software-


Cuestión de jugar para encontrar el mejor.

Vamos que la mejor combinación posible para Windows es usar DXVA Best como desentrelazador y Lanczos3/Spiline36 como escalador. y en Linux lo mejor es usar MCDI como desentrelazador y Lanczos3/Spiline36 como escalador.

Imagen
Imagen
Última edición por Tocinillo el 08 Mar 2015, 21:00, editado 18 veces en total.
tatoon le gusta esto

Avatar de Usuario
Por SUPERSTRAT08
Maestro
#25709
Tela marinera... Muchas gracias por toda la información, nos meteremos a trastear para mejorar la experiencia. Grande tío!!!
Última edición por SUPERSTRAT08 el 08 Mar 2015, 21:30, editado 1 vez en total.

Avatar de Usuario
Por Ambit
Experto
#25710
Menuda explicación , muchas gracias Aunk después de leer solo me enterado de algo....


Enviado desde mi iPhone con Tapatalk
Última edición por Ambit el 08 Mar 2015, 21:30, editado 1 vez en total.

Avatar de Usuario
Por Yorick
Moderador
#25712
Gracias por el aporte tocinillo. Mañana me lo leo con mas calma.
Última edición por Yorick el 08 Mar 2015, 21:35, editado 1 vez en total.

Avatar de Usuario
Por broklyn
Donante
#25722
A mi para que me salgan estas opciones:

0 - Ninguno - En Kodi "Vecino más cercano"-
1 - Bilinear
2 - Bicubic
2 - Spline36 Optimized
3 - Lanczos 3 Optimized
3 - Blackman (NO seleccionable en Kodi)
3 - Spline36
3-   Lanczos 3
4 - Spline64 (NO seleccionable en Kodi)
4 - Gauss (NO seleccionable en Kodi)

Tengo que desactivar. Permitir aceleracion de hardware (DXVA2)
Si la tengo activada no salen esas opciones, solo sale DXVA, pero si la desactivo ya salen las opciones mencionadas arriba, pero pierdo la opcion de desentrelazado DXVA Best.

Podrias aclarar esto?? Saludos y gracias muy bien explicado y como siempre muy currado.

PD: supongo que con una 780gtx seleccionare 3 - Spline36
Última edición por broklyn el 09 Mar 2015, 01:49, editado 1 vez en total.

Avatar de Usuario
Por Cinesoy
Colaborador
#25741
Imagen
Última edición por Cinesoy el 09 Mar 2015, 10:28, editado 17 veces en total.

Por segoldenxD
Miembro
#25757
Gracias por la info y el tuto :)
¿ Y esto se puede hacer con la versión de Kodi normal?
me refiero a que no es para lo del dsplayer únicamente.
Un saludo

Avatar de Usuario
Por Cinesoy
Colaborador
#25758
Si, con la normal, es la caña.

Por fitamix
Novato
#25760
Uy la leche.

Para hacer las modificaciones en windows no me ha quedado claro si hay que hacerlo desde dentro de kodi o con algo de la configuración de windows en sí...

Por jdeacon
Experto
#25762
Yo antes de meterme en berenjenales con el terminal de Linux he probado si la tele podía cambiar el valor del hdmi, y al menos en la Sony que tengo he podido cambiar el rango dinámico de la entrada hdmi a completo en lugar de auto que es como estaba, lo que noto ahora es la imagen menos oscura, pero por ejemplo en las franjas de una peli en 2:35 esas franjas no llegan a tener el color negro que tenía antes, ahora tienen un tono grisáceo que no me gusta. 



Enviado desde mi iPhone utilizando Tapatalk

Avatar de Usuario
Por Tocinillo
Administrador
Autor del hilo
#25765
Tienes que poner los drivers en 0-255, en Linux por defecto viene en 16-235, por eso lo ves grisáceo.

Si todo lo tienes en 0-255 lo veras todo igual que antes y sin banding ni nada parecido.

Un saludo!

Avatar de Usuario
Por broklyn
Donante
#25766
Podriais poner un par de capturas de como tiene que quedar en aceleracion y en ajustes de la peli donde seleccionas spline36. Gracias

Avatar de Usuario
Por SUPERSTRAT08
Maestro
#25772
Cinesoy escribió:Imagen
Jajajjaaaaa, que grande!!!
Última edición por SUPERSTRAT08 el 09 Mar 2015, 15:11, editado 17 veces en total.

Avatar de Usuario
Por Tocinillo
Administrador
Autor del hilo
#25775
Yo uso Linux por lo que no te valdría. En Windows se me olvidó comentaros que tenéis que hacer un par de cosas. Tenéis que ir a Vídeo --> Aceleración y desmarcar el DXVA2 dejando lo demás igual:

Imagen

Luego en la reproducción ya lo ponéis como en la guía: desentrelazador en Desentrelazar   -que es Yadif-, escalador en Spline36 y el desentrelazar en Auto, y listo, comprobad que os salga los 50 fps al reproducir contenido entrelazado.

Probad así y con el DXVA Best y DXVA, que también son muy muy buenos.
Última edición por Tocinillo el 09 Mar 2015, 15:25, editado 17 veces en total.

Avatar de Usuario
Por broklyn
Donante
#25778
El problema es q si se desactiva la opcion DXVA2, ya no sale la opcion de desentrelazado DXVA best. Por cierto q son o cuales son los videos entrelazados?? Porque las pelis van a 24fps y esos videos a 50fps no??
Última edición por broklyn el 09 Mar 2015, 15:58, editado 1 vez en total.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 21
Temas similares
Temas Estadísticas Último mensaje
Problemas de imagen haciendo streaming
por albertron  - 24 Feb 2018, 22:00 En Android
0 Respuestas
467 Vistas
por albertron
24 Feb 2018, 22:00
Haciendo la Galleta / Discart de Insidious La Última Llave
por speedmoska  - 02 May 2018, 15:23 En Manuales/Tutoriales diseño
0 Respuestas
341 Vistas
por speedmoska
02 May 2018, 15:23
Cambiar imagen arranque kodi
por BlackDraGoN  - 08 Abr 2018, 09:40 En Skins
0 Respuestas
873 Vistas
por BlackDraGoN
08 Abr 2018, 09:40
Calidad de video demasiado mala
por Filete  - 22 Jul 2018, 22:36 En Xiaomi Mi Box (todas las versiones)
21 Respuestas
2015 Vistas
por -ice-
01 Ago 2018, 21:35
Biblioteca de películas. Películas repetidas en distinta calidad
por angardi  - 31 Oct 2018, 23:28 En Kodi
3 Respuestas
512 Vistas
por angardi
01 Nov 2018, 12:40