Lanzamiento del codificador SVT-AV1 2.0 y del decodificador dav1d 1.4 para el formato de video AV1

Se ha publicado la versión 2.0 de la biblioteca SVT-AV1 (Tecnología de Video Escalable AV1) con implementaciones del codificador y decodificador del formato de codificación de video AV1, para cuya aceleración se utilizan los recursos de paralelización hardware presentes en las modernas CPU de Intel. El proyecto fue creado por Intel en asociación con Netflix con el objetivo de alcanzar un nivel de rendimiento adecuado para la recodificación de video en tiempo real y su uso en servicios de video bajo demanda (VOD). Actualmente, el desarrollo se lleva a cabo bajo la égida de la alianza Open Media (AOMedia), que supervisa la evolución del formato de codificación de video AV1. Anteriormente, el proyecto se desarrolló dentro del marco de OpenVisualCloud, que también desarrolló los codificadores SVT-HEVC y SVT-VP9. El código se distribuye bajo la licencia BSD.

SVT-AV1 puede ser compilado para sistemas basados en cualquier arquitectura que tenga un compilador compatible con el estándar C99, pero el mejor rendimiento se logra en sistemas x86_64, donde se aplican optimizaciones de ensamblador basadas en instrucciones SIMD (es preferible que la CPU soporte AVX2, pero como mínimo se puede utilizar SS2). El consumo de memoria depende del número de núcleos de procesador utilizados durante la codificación, ajustables mediante la opción '—lp'. Debido a la complejidad de los algoritmos aplicados en AV1, codificar en este formato requiere significativamente más recursos que otros formatos, lo que impide el uso del codificador AV1 estándar para la recodificación en tiempo real. Por ejemplo, el codificador estándar del proyecto AV1 requiere 5721, 5869 y 658 veces más cálculos en comparación con los codificadores x264 (perfil 'main'), x264 (perfil 'high') y libvpx-vp9.

Entre los cambios en la nueva versión de SVT-AV1:

  • Se ha realizado un cambio a una nueva numeración de versiones, según la cual el primer dígito de la versión cambiará con cada cambio en la API/ABI.
  • Se han realizado cambios en la API relacionados con el paso a la indicación de finalización de flujo (EOS - End Of Stream) en el último fotograma en lugar de utilizar un fotograma en blanco, lo que ha permitido eliminar la demora en la espera de un fotograma adicional. El cambio en la API ya está reflejado en la base de código de FFmpeg.
  • Se eliminó el modo de tasa de bits variable de tres pasos (3-pass VBR), que ahora es reemplazado por un mecanismo de VBR multipaso. El modo VBR multipaso se ha reducido a dos pasadas para garantizar la integración con FFmpeg.
  • Se han añadido optimizaciones al codificador, resultando en un aumento de la eficiencia de compresión de los presets M9-M13 de un 1-4%, y una disminución del consumo de memoria en el preset M5 del 20-35% en modo LP 8 y del 1-5% en otros modos. El consumo de memoria en los demás presets se redujo en un 1-5%.
  • Se realizó una optimización de los compromisos calidad/velocidad para los presets que establecen un alto nivel de calidad. La operación del preset MR, que proporciona calidad de referencia, se aceleró en un 100%.
  • Se añadieron optimizaciones específicas para la arquitectura ARM en funciones escritas únicamente en C.

Además, se destaca el lanzamiento del proyecto dav1d 1.4.1, en el que las comunidades VideoLAN y FFmpeg desarrollan una biblioteca con la implementación de un decodificador de formato de video AV1 alternativo y libre. La biblioteca dav1d admite todas las capacidades de AV1, incluyendo tipos avanzados de subsampling y todos los parámetros de control de profundidad de color especificados (8, 10 y 12 bits). Una característica clave de dav1d es su enfoque en alcanzar el máximo rendimiento de decodificación y garantizar un funcionamiento de calidad en modo multihilo. El código del proyecto está escrito en C (C99) con inserciones de ensamblador (NASM/GAS) y se distribuye bajo la licencia BSD. Se ha implementado soporte para las arquitecturas x86, x86_64, ARMv7 y ARMv8, y sistemas operativos FreeBSD, Linux, Windows, macOS, Android y iOS.

La versión dav1d 1.4 es notable por el soporte de nuevas arquitecturas Loongarch y RISC-V, así como por la implementación de optimizaciones adicionales basadas en instrucciones AVX-512, aceleración del funcionamiento de filtros 6tap en sistemas ARM, mejora de la eficiencia del trabajo multihilo y reducción del tamaño de los datos binarios en sistemas ARM64, ARM32 y RISC-V. Se ha solucionado la vulnerabilidad CVE-2024-1580, que provocaba escritura en áreas fuera de los límites del búfer debido a un desbordamiento entero al procesar cuadros de tamaño muy grande.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster