Hace algunos días las comunidades VideoLAN y Ffmpeg dieron a conocer el lanzamiento de la nueva versión de la biblioteca dav1d 0.6.0. Esta es una implementación de un decodificador gratuito alternativo del formato de codificación de video AV1.
La biblioteca dav1d admite todas las características de AV1, incluidos los tipos avanzados de disminución de resolución y todos los parámetros de control de profundidad de color declarados en la especificación (8, 10 y 12 bits). La biblioteca se probó en una gran colección de archivos en formato AV1.
Sobre el decodificador dav1d
El codec de video AV1 fue desarrollado por Open Media Alliance.(AOMedia), en el que están representadas compañías como Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN y Realtek
AV1 se posiciona como un formato de codificación de video de acceso libre que no requiere el pago de tarifas, lo que es notablemente superior a H.264 y VP9 en términos de compresión.
El decodificador de referencia para AV1 es excelente, pero es una base de código de investigación, por lo que tiene mucho que mejorar. Es por ello que las comunidades VideoLAN, VLC y FFmpeg comenzaron a trabajar en un nuevo decodificador, patrocinado por la Alliance of Open Media, para crear el decodificador optimizado de referencia para AV1.
Una característica clave de dav1d es su enfoque en lograr el rendimiento de decodificación más alto posible y garantizar un funcionamiento multiproceso de alta calidad.
El trabajo de la biblioteca se probó en una gran colección de archivos en formato AV1. La característica clave de dav1d es su enfoque en lograr el mayor rendimiento posible de decodificación y asegurar un trabajo de alta calidad en un modo de multiproceso.
El objetivo de este nuevo decodificador es:
- Ser pequeño
- ser lo más rápido posible
- Brindar soporte Multiplataforma
- Correctamente enhebrado,
- Libre y (en realidad) de código abierto.
El código del proyecto de dav1d está escrito en el lenguaje de programacion C (C99) y ademas cuenta con insertos de ensamblador (NASM/GAS) y se distribuye bajo la licencia BSD. El decodificador cuenta con soporte implementado para las arquitecturas x86, x86_64, ARMv7 y ARMv8 y los sistemas operativos Linux, Windows, macOS, Android e iOS.
Principales novedades de dav1d 0.6.0
Esta nueva versión del decodificador dav1d 0.6.0 llega a solucionar algunos errores que estaban presentes en la versión anterior, además de que los desarrolladores han implementado optimizaciones específicas de arquitectura ARM64 que cubren muchas operaciones cuando se trabaja con profundidades de color de 10 y 12 bits.
También se destacan los trabajos que se realizaron para agregar optimizaciones basadas en instrucciones SSSE3 para reducción de ruido digital, así como también optimizaciones basadas en instrucciones AVX2 para la operación msac_adapt16.
Otras optimizaciones implementadas en esta nueva edición, son las mejoras de operaciones de restauración de loop, cdef y msac para ARM64 y también optimizaciones AVX2 mejoradas para cdef_filter.
Por otro lado se menciona en el anuncio que los desarrolladores trabajaron en añadir optimizaciones basadas en instrucciones AVX-512 para las operaciones prep_bilin, prep_8tap, cdef_filter y mc_avg / w_avg / mask.
Por la parte de las correcciones se menciona que se corrigieron las discrepancias raras en el comportamiento con el decodificador de referencia AV1 y que se implementó una mejora en las operaciones itxfm y cdef_filter en C.
Finalmente si quieres conocer más al respecto sobre esta nueva versión y también sobre el proyecto de este decodificador, puedes consultar los detalles en el siguiente enlace.
¿Como instalar el decodificador dav1d en Ubuntu y derivados?
Para quienes estén interesados en poder instalar este decodificador en sus sistemas, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
De manera general para la mayoría de las distribuciones de Linux, los chicos del proyecto VideoLan, ofrecen el paquete del decodificador por medio de un paquete Snap.
Por lo que para instarlo por este medio, solo requiere que su distribución cuente con el soporte para este tipo de paquetes.
En una terminal solo tienen que ejecutar el siguiente comando:
sudo snap install dav1d --edge