Distintos niveles de SubMe en x264
SubME
Es el encargado de controlar la precisión en la estimación de movimiento. Cuanto mayor sea este valor, mejores serán los resultados y peor será la velocidad de codificación. No es recomendable el utilizar valores por debajo de 6, ya que se pierde optimización en calidad y también se pierden algunas opciones (psy-rdo, trellis a 2, etc).
Diferencias entre niveles 6,7,8,9 y 10.
- SubME 6: Rate Distortion en I-Frames y P-Frames.
- SubME 7: Rate Distortion en todos los frames.
- SubME 8: Rate Distortion mejorado en I-Frames y P-Frames.
- SubME 9: Rate Distortion mejorado en todos los frames.
- SubME 10: Qpel en Rate Distortion.
Pruebas de los distintos niveles
En la prueba realizada se ha hecho uso de la RAW a 1920 x 1080 de Elephants Dreams, utilizando los 5000 primeros frames. El original esta en PNG, así que se ha hecho uso de avisynth como interprete para la codificación:
ImageSource(“D:\source\ED-1080-png\%05d.png”, start=000001, end=005001, fps=24, pixel_type=”rgb32″)
converttoyv12()
Resultados de las pruebas
Se han utilizado varios bitrates para las pruebas: 4500, 6000, 7500 y 9000. Y todos mezclados con los distintos niveles de SubME: 6,7,8,9 y 10.
Como en la anterior entrada de x264.info, he utilizado tanto PSNR como SSIM para las pruebas de calidad.


Conclusiones
Se puede observar como los niveles 7,8,9 y 10 están muy parejos, habiendo poca diferencia entre los mismos. El nivel 6 queda ligeramente descolgado del grupo.
Las diferencias en velocidad son mínimas en los niveles bajos (6-7), comparada con la calidad de 10.
La recomendación es utilizar como mínimo un nivel 7, el cual es ahora mismo el que esta por defecto. Y muy recomendable utilizar SubME 10 con trellis a 2 y aq-mode 2.