Lanzamiento de rav1e 0.5, codificador AV1

Se ha producido el lanzamiento de rav1e 0.5.0, un codificador para el formato de codificación de vídeo AV1. El producto es desarrollado por las comunidades Mozilla y Xiph y se diferencia de la implementación de referencia libaom, escrita en C/C++, por el aumento de la velocidad de codificación y una mayor atención a la seguridad (la eficiencia de la compresión aún está por detrás). El producto está escrito en el lenguaje de programación Rust con optimizaciones de ensamblaje (72.2% - ensamblador, 27.5% - Rust), el código se distribuye bajo licencia BSD. Se preparan compilaciones listas para Windows y macOS (las compilaciones para Linux se omiten temporalmente debido a problemas con el sistema de integración continua).

rav1e admite todas las funciones principales de AV1, incluida la compatibilidad con intra e inter-frames, superbloques de 64x64, submuestreo de croma 4:2:0, 4:2:2 y 4:4:4, 8, 10 y 12. Codificación de profundidad de color de bits, optimización de distorsión RDO (optimización de distorsión de velocidad), varios modos para predecir cambios entre cuadros y detectar transformaciones, control de velocidad de bits y detección de truncamiento de escenas.

El formato AV1 está notablemente por delante de H.264 y VP9 en términos de capacidades de compresión, pero debido a la complejidad de los algoritmos que los implementan, requiere mucho más tiempo para la codificación (en velocidad de codificación, libaom está cientos de veces por detrás de libvpx- vp9, y miles de veces detrás de x264). El codificador rav1e ofrece 11 niveles de rendimiento, el más alto de los cuales ofrece velocidades de codificación casi en tiempo real. El codificador está disponible como utilidad de línea de comandos y como biblioteca.

La nueva versión contiene los siguientes cambios:

  • Aceleración significativa del códec;
    Lanzamiento de rav1e 0.5, codificador AV1
  • Se corrigió un error que causaba que el codificador fallara en ciertos tamaños de video;
  • Uso de instrucciones AVX2 para acelerar significativamente la estimación de Wiener a 13 bits por canal (hasta 16 veces). De igual forma, se agregó el uso de instrucciones SIMD, lo que permitió acelerar los cálculos hasta 7 veces en similares condiciones;
  • Muchas correcciones menores y optimizaciones para plataformas x86, arm32 y arm64.

Fuente: opennet.ru

Añadir un comentario