Advanced
Esta parte es la mas difícil... Aquí se decide como se va hacer el análisis de la película y como se va codificar. El propósito del tutorial no es de dar una receta universal, no hay. Solo va dar pistas de trabajo y la correspondencia entre los reglajes de esa parte y los "settings" del X264.
Este codec se puede usar en linea de comanda siendo escrita de esa manera "
x264.exe --me hex --ref 8 --treillis 2 ...." donde --me, --ref, --treillis corresponden a los "settings" y hex, 8, 2 a las valores afectadas a cada uno. Todos los "settings" tienen una valor asignada por defecto, si no se precise otra cosa, esa valor por defecto sera utilizada para la codificación.
En el cuadro de abajo, se ven los "settings" con valores diferentes a las valores por defecto. Una vez realizado sus arreglos, se puede, en este mismo cuadro, adjuntar "settings" propios que no son configurables con la interfaz de
HandBrake.
Los que ya han ripeado con el x264, habrán posiblemente utilizado algunos "presets". Un "preset" es una función que compila varios "settings" del codec.
La version windows de
HandBrake no tiene en memoria estos "
preset" presentes en las versiones Linux y Mac.
Aqui estan los principales
preset:
slow:
me umh, subme 8, ref 5, b-adapt 2, direct auto, rc-lookahead 50
slower:
me umh, subme 9, ref 8, b-adapt 2, direct auto, partitions all, trellis 2, rc-lookahead 60
veryslow:
me umh, subme 10, merange 24, ref 16, b-adapt 2, direct auto, partitions all, trellis 2, bframes 16, rc-lookahead 60
De la misma manera, el codec X264 contiene algunos reglajes específicos a ciertos tipos de ripeo, llamados "
tune".
Aqui los principales
tune:
film:
Optimize for film content: deblock -1:-1, psy-rd 1:0.15
animation:
Optimize for animated content: ref (double default reference count if greater than 1), deblock 1:1, psy-rd 0.4:0, aq-strength 0.6, bframes (add 2 bframes to the default)
grain:
Optimize for grainy content: deblock -2:-2, psy-rd 1:0.25, no-dct-decimate, ipratio 1.1, pbratio 1.1, aq-strength 0.5, deadzone-intra 6, deadzone-inter 6, qcomp 0.8
Aventajes: es una buena manera de empezar a ripear, permite obtener algo correcto sin conocimientos de todos los "settings". Pero, toda la potencia del X264 se expresa cuando se afina esos reglajes.
Los tipos de imagenes utilizadas en un ripeo:
-las
imágenes I, que no necesitan otra imagen para ser descodificadas y que se usan como imágenes de referencia
-las
imágenes P, que son imágenes calculadas con la ayuda de imágenes precedentes (generalmente una I) y que pueden ser utilizadas como referencia para otra P
-las
imágenes B, que son “bidireccionales” es decir que son calculadas con la ayuda de imágenes anteriores y posteriores temporalmente. Son mas fáciles de codificar que las imágenes P y ahorran el peso final del archivo.
A continuación los diferentes reglajes
HandBrake y entre paréntesis la correspondencia con las indicaciones de
MediaInfo. Se puede utilizar para reproducir en su ripeo los arreglos de un ripeo x264 de buena calidad ya hecho.
Encoding:
Los "settings" de esa parte influyen sobre el peso y la velocidad de la codificación, implican acciones irreversibles en referencia a la fuente, es decir destructivas de calidad.
Reference frame: corresponde a "ref=", este valor especifica cuantas imágenes pueden ser utilizadas como referencia. Mas tenemos, mejor es
pero las normas para bluray por ejemplo, limitan este valor a 4 por el 1080p (es difícil tener en el buffer mas de 4 imágenes de este tamaño sin saturar la memoria). Entonces
se aconseja de 4 a 6, los valores superiores dando poco beneficio visual para un tiempo muy alargado de codificación. (
ref=4a6)
Maximum B-frames: corresponde a "bframe=", cuantas imágenes B pueden "reemplazar" imágenes P.
Se aconseja 16, pero, es dependiente de "
Adaptive B-frames" es decir:
16 con Adaptive B-frames "
fast" (
bframe=16 b_adapt=1)
valores
entre 2 y 5 con Adaptive B-frames "
Optimal" (
bframe=de 2a5 b_adapt=2)
CABAC Entropy Coding: el corazon del X264, algoritmo muy potente,
activado. (
cabac=1)
8X8 Transform: permite transformaciones en bloques 8x8 pixeles en las imagenes I,
activado. (
8x8dct=1)
Pyramidal B-frames: permite el uso de imágenes B como referencia aunque sean de menor calidad que las I y las P. None no permite este uso, Strict limita a una, normal permite valores superiores. Para bluray se recomienda
Strict o None, Normal facilita la compresión.
weighted P-frames: permite predicción ponderada de las imágenes P y mejora la compresión,
smart aunque alarga la codificación. (
weightp=2)
Psychovisual
Esos parámetros intentan trabajar de manera subjetiva es decir mas cerca de la percepción del ojo que de puros cálculos matemáticos.
No-DCT-Decimate: Se debería dejar desactivado en la mayoría de los casos. No se nota diferencias visual en general. modifica las particiones utilizadas en las imágenes P. Pero se recomienda activarlo cuando se usa "treillis" y también cuando se busca guardar el "grano" de una vieja película, así que
activado. (
no-dct-decimate=1)
Adaptative Quantization Strength: Normalmente dejar a 1, pero bajar el valor sirve para animación o conservar el "grano" de una película. Subirlo no parece buena idea... (
aq-strength=X)
Psychovisual Rate Distortion y
Psychovisual Treillis: parece que permite preservar pequeños detalles que no son ruido o grano... Ayudarse de los presets "film" y "grain" para darse una idea... (
psy-rd=X:Y)
Deblocking: Normalmente no se tendría que utilizar con un bitrate suficiente, pero sirve justamente a "compensar" un bajo bitrate. Mejora los detalles pero trae artefactos... Aunque se puede regular de -6 hasta +6, se recomienda de no pasarse de esas limites -3/+3. Ayudarse de los presets "film" y "grain" para darse una idea... (
deblock=+/-X,+/-Y)
Analysis:
Adaptive B-Frames: aquí se controla como se decide entre imágenes P y B. Ver el reglaje "Maximum B-Frames" mas arriba. (
b-adapt=0/1/2)
Adaptive Direct Mode: Modo de predicción, recomendado spacial o mejor
automatic que ahorra un poco de tiempo de codificacion sin perdida notable de calidad. (
direct=auto)
Motion Estimation Method: modo de compensación de movimiento, recomendado
Uneven Multi-Hexagon, en caso de BD se puede intentar el Exhaustive aunque la diferencia sea minima en calidad y grande en tiempo de codificacion. (
me=umh)
Subpixel ME & Mode Decision: Complejidad del modo de compensación. De 7 a 10, aunque alarga el tiempo de codificación parece importante elegir un valor alto para beneficiar de toda la potencia del codec. Ver los preset para darse una idea. (
subme=7a10)
Motion estimation Range: Por alta valor "subme" permite aumentar a mas de 16 la zona analizada para la compensación de movimiento. Para las fuentes HD preferir
24 o mas. Alarga mucho el tiempo de ripeo. Ver los preset para darse una idea. (
merange=16 o superior)
Partition type: X264 "corta" las imagenes en bloques de 16X16 pixeles, pero permite recortar en bloques mas pequeños por cada tipo de imagen I,P y B para afinar la codificación. Por defecto están activadas las particiones P8x8,B8x8,I8x8,I4x4. Se recomienda "
most" que corresponde a por defecto. "all" adjunta P4x4 pero da poco beneficio visual por mucho mas tiempo de codificacion. (
ausente o partition=all)
Treillis: Es un algoritmo que mejora la compresión y la calidad, eligiendo entre los coeficientes los mas bajos cuales privilegiar, basándose en la distorsión la mas pequeña. puede ser desactivado "off", operando solo al final "Encode only" (bloques 16x16) o trabajando en todo el proceso de analisis "Always" (bloques 8x8 y 4x4). Para aumentar la calidad se aconseja "Always". Influye bastante en el tiempo de codificacion. (
treillis=2)
Cuadro inferior: cada vez que se cambia el valor por defecto de un "setting", se nota en este cuadro. Permite verificar sus arreglos y sobre todo, guardando la misma sintaxis, se puede adjuntar aquí los settings deseados que no aparecen en la interfaz gráfica de
HandBrake. Por ejemplo, por una película en blanco y negro se puede adjuntar en este cuadro el mando "chroma_me=0" que desactiva el análisis cromático para disminuir el tiempo de codificación (no quita el color, por eso ver los filtros).