Troisième version de dav1d, un décodeur AV1 des projets VideoLAN et FFmpeg

Communautés VideoLAN et FFmpeg ont publié troisième version (0.3) de la bibliothèque dav1d avec l'implémentation d'un décodeur alternatif de format d'encodage vidéo gratuit AV1. Le code du projet est écrit en langage C (C99) avec des inserts assembleur (NASM/GAS) et distribué par sous licence BSD. La prise en charge des architectures x86, x86_64, ARMv7 et ARMv8 ainsi que des systèmes d'exploitation Linux, Windows, macOS, Android et iOS est implémentée.

La bibliothèque dav1d prend en charge toutes les fonctionnalités AV1, y compris les vues avancées sous-échantillonnage et tous les paramètres de contrôle de profondeur de couleur indiqués dans la spécification (8, 10 et 12 bits). La bibliothèque a été testée sur une large collection de fichiers au format AV1. La principale caractéristique de dav1d est de se concentrer sur l'obtention des performances de décodage les plus élevées possibles et de garantir un travail de haute qualité en mode multithread.

La nouvelle version ajoute des optimisations supplémentaires pour accélérer le décodage vidéo à l'aide des instructions SSSE3, SSE4.1 et AVX2. La vitesse de décodage sur les processeurs avec SSSE3 a augmenté de 24 % et sur les systèmes avec AVX2 de 4 %. Ajout du code assembleur pour l'accélération à l'aide des instructions SSE4.1, dont l'utilisation a augmenté les performances de 26 % par rapport à la version non optimisée (par rapport aux optimisations basées sur les instructions SSSE3, le gain est de 1.5 %).

Troisième version de dav1d, un décodeur AV1 des projets VideoLAN et FFmpeg

Les performances du décodeur sur les appareils mobiles dotés de processeurs basés sur l'architecture ARM64 ont également été augmentées. En implémentant des opérations utilisant les instructions NEON, les performances ont augmenté d'environ 12 % par rapport à la version précédente.

Troisième version de dav1d, un décodeur AV1 des projets VideoLAN et FFmpeg

Par rapport au décodeur de référence aomdec (libaom), l'avantage de dav1d se fait le plus sentir lorsque l'on travaille en mode multithread (dans certains tests, dav1d est 2 à 4 fois plus rapide). En mode monothread, les performances diffèrent de 10 à 20 %.

Troisième version de dav1d, un décodeur AV1 des projets VideoLAN et FFmpeg

Troisième version de dav1d, un décodeur AV1 des projets VideoLAN et FFmpeg

L'utilisation de dav1d dans d'autres projets a connu du succès. La valeur par défaut est dav1d maintenant applique dans Chromium/Chrome 74 et Firefox 67 (auparavant, dav1d était est inclus pour Windows, mais maintenant activé pour Linux et macOS). Utilisation continue de dav1d dans FFmpeg et VLC, transition prévue vers le transcodeur dav1d Frein à main.

Rappelons que le codec vidéo AV1 développé par alliance Médias ouverts (AOMedia), qui regroupe des sociétés telles que Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN et Realtek. AV1 se positionne comme un format d'encodage vidéo libre de droits, accessible au public, nettement en avance sur H.264 et VP9 en termes de niveaux de compression. Sur toute la gamme de résolutions testées, AV1 offre en moyenne le même niveau de qualité tout en réduisant les débits binaires de 13 % par rapport au VP9 et de 17 % inférieurs à HEVC. À des débits binaires élevés, le gain augmente jusqu'à 22-27 % pour VP9 et jusqu'à 30-43 % pour HEVC. Dans les tests Facebook, AV1 a surpassé le profil principal H.264 (x264) de 50.3 % en termes de niveau de compression, le profil haut H.264 de 46.2 % et VP9 (libvpx-vp9) de 34.0 %.

Source: opennet.ru

Ajouter un commentaire