Codecs, Decoders y Encoders
Nueva página en x264.info donde hay una selección de lo mejor para visualizar y comprimir x264.
Tambien se ha hecho una selección para los SO que no son Windows.
Nueva página en x264.info donde hay una selección de lo mejor para visualizar y comprimir x264.
Tambien se ha hecho una selección para los SO que no son Windows.
Recientemente se ha estrenado weightp dentro del encoder x264. Entre las mejoras, se destaca en los fade o variaciones de luminosidad. El problema llega ahora a la hora de reproducirlos sin problemas y se ha detectado que algunos decoders no lo reproducen correctamente.

Una de las nuevas características de x264-r1327 es la posibilidad de activar weightp en la codificación. Esta opción proporciona mejoras a la hora de distribuir bitrate mientras se codifica, en este caso en los P-Frames.
Las mejoras aparecen cuando existen transiciones FADE IN-OUT. Con esta opción, la calidad durante las transiciones es mayor, ya que se premia mas a la distribución de bitrate de frames adyacentes. Y esta es una de las razones por las que en los FADE es mayor esta mejora.
Para verificar esta opción he realizado una pequeña prueba con un script preparado para provocar transiciones (FADE OUT-IN).
SCRIPT AVISYNTH
LoadPlugin(“F:\Programas\ARx264 0.56\filter\DGAVCDecode.dll”)
AVCSource(“F:\Transformers 2007 \Transformers.dga”, deblock=false)a=trim(4400,5100).FadeIn(120).Fadeout(120)
b=trim(5101,5600).FadeIn(120).Fadeout(120)
c=trim(5601,6000).FadeIn(120).Fadeout(120)
d=trim(6001,7000).FadeIn(120).Fadeout(120)
e=trim(7001,7500).FadeIn(120).Fadeout(120)a+b+c+d+e
crop(0,144,0,-144)
Desde hace tiempo, los usuarios de x264 han hecho peticiones para que el encoder tenga opciones para ofrecer mayor compatibilidad con BluRay. Esto es debido a las especificaciones estrictas que contiene, y algunas opciones buenas de x264 quedan fuera de este rango.
Lo último parcheado ha sido con B-Pyramid, ofreciendo la posibilidad de utilizar esta gran opción con compatibilidad Bluray. Sin duda alguna un trabajo excelente por parte de los desarroladores. Veamos que datos obtenemos a la hora de codificar con él:
B-PYRAMID – r1296
PRUEBA
Las XXX se cambian por none, normal y strict. Los resultados de PSNR y SSIM son:
PSNR
SSIM
Esta es una mini-prueba de fuerza bruta sobre el uso de CPU a la hora de comprimir vídeo.
ORDENADOR UTILIZADO EN AMBOS CASOS
LINUX – Ubuntu 9.04 64bits (Instalado)
En Linux no existe la facilidad para encontrar el x264 compilado, así que se ha obtenido compilando con GCC 4.4.0 mediante los siguientes pasos:
sudo apt-get update
sudo apt-get install build-essential subversion git-core checkinstall yasmcd
git clone git://git.videolan.org/x264.git
cd x264
./configure
make
sudo checkinstall –fstrans=no –install=yes –pkgname=x264 –pkgversion “1:0.svn`date +%Y%m%d`-0.0ubuntu1″ –default
WINDOWS 7 -RTM – 64Bits
En windows he decidido probar dos versiones:
PREPARACIÓN DE EQUIPO
En WINDOWS 7 y en UBUNTU 9.04 esta todo lo no indispensable desactivado:
Y en ambos casos se han realizado las pruebas después de un reinicio, para evitar cualquier problema con programas mal cerrados.

Bastantes novedades en esta versión, ya que me ha llevado un poco acabarla. Todo es debido al problema de los Presets, que son bastante liosos de implementar. Yo lo he hecho de manera sencilla, aunque aplicaré en la siguiente versión algunas mejoras en este aspecto.
Lo mas interesante es la opción de conocer el tiempo de la compresión de manera individual. Una buena opción, junto a PSNR y SSIM, para realizar comparaciones entre distintas configuraciones.
Para descargar, en Divxhouse
Una entrada de hace pocos días hacía hincapié en la calidad ofrecida por los distintos Presets introducidos en x264. Ahora se os presenta la gráfica con el porcentaje de velocidad con respecto al Preset Medium.
- ULTRAFAST 306%
- VERYFAST 214%
- FASTER 151%
- FAST 120%
- MEDIUM 100%
- SLOW 57%
- SLOWER 38%
- VERYSLOW 28%
En los Presets se ha pospuesto Placebo debido a problemas con x264 y 32bits.
ENTRADA DE CALIDAD DE PRESETS
http://www.x264.info/2009-08/pequeno-test-de-los-distintos-presets
AQ-MODE sirve para redistribuir el bitrate a lo largo de los macrobloques, mejorando la calidad de estos. Esto ocurre en escenas muy uniformes: cielos, suelos, oscuridad, claridad, etc.
Dentro de las novedades del x264-experimental, contamos con una muy interesante: AQ-Mode 3. Este nuevo modo mejora sensiblemente los macrobloques en los Fade Out-In (transiciones de escena), reduciendo los macrobloques en estos frames.
NECESARIO
Una versión de x264 con el parche de aq-mode 3 aplicado:
En la línea de comandos añadir –aq-mode 3
EJEMPLO
“x264.exe” –pass 1 –bitrate 800 –preset medium –aq-mode 3 –psnr –ssim –stats “stats.tmp” “aqmode-3.avs” -o NUL
RESULTADOS
Se han marcado los frames donde empiezan y acaban los FADE. Se puede apreciar como la curva de SSIM en AQ-MODE 3 es mucho mas alta, mejorando la calidad visual de una manera evidente. Esto se ve en las imágenes siguientes.
Una de las grandes ventajas de utilizar un SO de 64 bits es su capacidad de utilizar una mayor cantidad de memoria RAM, tanto a nivel general (4GB) como a nivel individual (2GB). Otra es la optimización de programas en 64bits, mejorando ligeramente al equivalente de 32bits.
Por desgracia, no existe ninguna versión de avisynth estable a 64bits, con lo cual tenemos que utilizar programas externos para utilizar el x264. En este caso utilizamos el avs2yuv, el cual convierte el script de avisynth (AVS) a una RAW de vídeo. Este archivo puede ser leído sin problemas por x264-64Bits.
Pero una de las grandes ventajas del x264 es la posibilidad de enlazar programas (pipe), evitando de este modo un paso intermedio. Con esto podremos utilizar el avs2yuv junto con las últimas versiones de x264.
NECESARIO
Es importante conocer la resolución del vídeo de salida y el FPS del mismo. Estos dos valores son importantes para añadir a la línea de comandos.
EJEMPLO: Comprimiendo (1 y 2 pasadas)
“avs2yuv.exe” “video.avs” -raw – | “x264-64.exe” – 1920×1080
–fps 24 –pass 1 –bitrate 4500 –preset medium –stats “stats.tmp” -o NUL“avs2yuv.exe” “video.avs” -raw – | “x264-64.exe” – 1920×1080
–fps 24 –pass 2 –bitrate 4500 –preset medium –stats “stats.tmp” “” –output “video-arx264.mkv”
Sin duda alguna los Presets han servido para reducir las complejas líneas de código a la hora de comprimir por este método. Esto ha supuesto una ayuda para los usuarios noveles y que no utilizan ningún programa visual (GUI) para el x264 (ARx264 o MeGui).
Los Presets no sobreescriben las opciones siguientes a él, de tal forma que si añadimos:
–Preset Ultrafast –bframes 8
Ultrafast aplica 0 bframes, pero al añadir bframes 8, se aplicará esta opción.
![PSNR-Presets-[22-08-2009] PSNR-Presets-[22-08-2009]](http://www.x264.info/datos/2009/08/PSNR-Presets-22-08-20091.png)
![SSIM-Presets-[22-08-2009] SSIM-Presets-[22-08-2009]](http://www.x264.info/datos/2009/08/SSIM-Presets-22-08-20091.png)
TEST
El test que se ha aplicado no es totalmente objetivo, ya que se ha utilizado únicamente 8min de vídeo tipo Animación. De todas formas, esto sirve para ver las diferencias entre los tipos de Preset de una manera totalmente visual.
RESULTADOS
Se puede apreciar que los Presets Ultrafast, Veryfast y Faster, se alejan del resto de grupos, ofreciendo una calidad inferior al resto, pero con una muy buena velocidad final.
Medium, el cual es la opción por defecto, permite aunar en una opción tanto buena velocidad como buena calidad, quedando Slower, Veryslow y Placebo como opciones no recomendables.