Archivo

Archivo para la categoría ‘General’

weightp y como mejorar los fade

Viernes, 13 de noviembre de 2009 affar 2 comentarios

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)

Leer más…

Categories: General, configuraciones Tags:

B-Pyramid con compatibilidad BluRay – r1296

Martes, 20 de octubre de 2009 affar Sin comentarios

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

  • –b-pyramid none: Desactivado.
  • –b-pyramid normal: El b-pyramid de siempre, el cual no es totalmente compatible con la estructura bluray, pero si el que mejor trabaja a la hora de mejorar la compresibilidad. Se ha mejorado los problemas con DPB de la versión anterior (DPB = ref * resolución. El tamaño de buffer especifico en  ciertos aparatos físicos hacen que sea necesario vigilar este valor)
  • –b-pyramid strict: b-pyramid adaptado a las especificaciones de Bluray. Únicamente indicado para vídeos en los que se quiera compatibilidad con las especificaciones de Bluray.

PRUEBA

  • x264-x264.nl –pass 1 –bitrate 3700 “J:\Source\video.yuv” –bframes 6 –no-mbtree –stats stats.tmp –b-pyramid XXX –psnr –ssim -o pyramid-off.mkv 1920×1080
  • x264-x264.nl –pass 2 –bitrate 3700 “J:\Source\video.yuv” –bframes 6 –no-mbtree –stats stats.tmp –b-pyramid XXX –psnr –ssim -o pyramid-off.mkv 1920×1080

Las XXX se cambian por none, normal y strict. Los resultados de PSNR y SSIM son:

PSNR

  • none = PSNR Mean Y:42.689 U:46.283 V:48.544 Avg:43.478 Global:40.545
  • normal = PSNR Mean Y:42.859 U:46.422 V:48.651 Avg:43.642 Global:40.625
  • strict = PSNR Mean Y:42.842 U:46.419 V:48.652 Avg:43.627 Global:40.611

SSIM

sin nada = 0.9713907
normal =   0.9713798
extremo =  0.9712889
  • none = 0.9711436
  • normal = 0.9715685
  • strict = 0.9714916
Se puede apreciar una ligera perdida de calidad de strict respeto al normal. Strict solo es aconsejable para crear versiones comaptibles con Blu-Ray. Para cualquier compresión normal, dejar la opción por defecto: normal.
Categories: General Tags:

Linux vs Windows con x264 64bits

Domingo, 20 de septiembre de 2009 affar 2 comentarios

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

  • CPU: 2.33 QUAD 8200 sin OC
  • RAM: 6GB DDR – 1066
  • T.Gráfica: ATI HD2600 XT
  • Monitor: ASUS / 1920 x 1080 de resolución
  • Disco Duro: 500Gb seagate para Windows 7 y 250Gb para Ubuntu, ambos con SATA.
  • Source de Vídeo: Utilización de los primeros 10.001 frames de Elephants Dreams de la RAW PNG a 1920×1080. Utilizado avs2yuv para convertir los frames en PNG a formato YUV para ser interpretado directamente por el encoder x264 sin la necesidad de un interprete adicional.

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 yasm

cd
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:

  • Compilado con GCC 4.2.4: gcc 4.3.4 20090220 Komisar make fprofiled
  • Compilado con ICC (Intel C++ Compiler (icc) v11.1.038)

PREPARACIÓN DE EQUIPO

En WINDOWS 7 y en UBUNTU 9.04 esta todo lo no indispensable desactivado:

  • Antivirus
  • Cualquier tipo de mensajería
  • Navegadores
  • Salvapantallas

Y en ambos casos se han realizado las pruebas después de un reinicio, para evitar cualquier problema con programas mal cerrados.

Leer más…

Categories: General Tags:

ARx264 0.55

Viernes, 4 de septiembre de 2009 affar Sin comentarios

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.

  • Añadido tiempo de cada compresión de manera individual.
  • Añadido –no-psy para desactivar la opción PSY-RD.
  • Añadido AQ-Mode 3 en modo experimental.
  • Añadido Subme 10
  • Añadido MB Tree
  • Añadida la opción RC-lookhead.
  • Mientras comprime, si se cancela, aparece un cuadro de verificación.
  • Ahora mientras se comprime si se cierra, pregunta para verificar la salida.
  • Añadida una opción mas a partitions.
  • Añadido el icono del 66% para el Systray. Faltaba en la versión 0.54.
  • Añadida la opción de Primera pasada Rápida.
  • Incorporado los profiles nuevos de las versiones posteriores de x264 +1176.
  • Actualizada la configuración para la nueva configuración de x264 +1176

Para descargar, en Divxhouse

Categories: General Tags:

Velocidades en Presets x264 r1240

Viernes, 4 de septiembre de 2009 affar Sin comentarios

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%

fps-presets

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

Categories: General Tags:

AQ-Mode 3

Lunes, 31 de agosto de 2009 affar Sin comentarios

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

aq-mode3-grafica 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.

Leer más…

Categories: General Tags:

Utilizando x264 – 64bits

Domingo, 30 de agosto de 2009 affar Sin comentarios

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”

Categories: General, configuraciones Tags:

Pequeño test de los distintos Presets

Sábado, 22 de agosto de 2009 affar Sin comentarios

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]

SSIM-Presets-[22-08-2009]

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.

  • Encoder: x264 32bits – r1222
  • Datos del vídeo: 8min de RAW a 1920 x 1080 de Elephants Dreams.

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.

Categories: General Tags:

Distintos niveles de SubMe en x264

Martes, 18 de agosto de 2009 affar Sin comentarios

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.

Leer más…

Categories: General, configuraciones Tags: ,

x264 MBtree vs no-mbtree

Viernes, 14 de agosto de 2009 affar Sin comentarios

En versiones posteriores a la r1197, se ha añadido un nuevo método para el control de la curva de bitrate. En diversas pruebas la mejora es muy buena, siendo mejor, cuanto menor sea el bitrate aplicado. Una muestra es este gráfico realizado sobre un bluray a 1080p > 720p y con la opción -preset slower

Las gráficas utilizadas son SSIM y PSNR. Segun ciertos experimentos, la medida SSIM es mucho mas precisa que la PSNR. De todas formas aquí estan las dos:

Se puede observar en ambas gráficas, que la opción MB-Tree ofrece mejores resultados, aun sin poder utilizar bpyramid, ya que el nuevo método aun siendo experimental, es totalmente funcional.

Categories: General Tags: