Publication de l'encodeur SVT-AV1 2.0 et du décodeur dav1d 1.4 pour le format vidéo AV1

La version 2.0 de la bibliothÚque SVT-AV1 (Scalable Video Technology AV1) a été publiée, avec des implémentations de l'encodeur et du décodeur du format vidéo AV1, accélérées par les outils de parallélisation des calculs présents dans les CPU Intel modernes. Le projet a été créé par Intel en partenariat avec Netflix afin d'atteindre un niveau de performance adéquat pour le transcodage vidéo en temps réel et son utilisation dans les services de vidéo à la demande (VOD). Actuellement, le développement est mené sous l'égide de l'alliance Open Media (AOMedia), qui supervise l'évolution du format de compression vidéo AV1. Auparavant, le projet était développé dans le cadre d'OpenVisualCloud, qui développe également les encodeurs SVT-HEVC et SVT-VP9. Le code est distribué sous licence BSD.

SVT-AV1 peut ĂȘtre compilĂ© pour des systĂšmes basĂ©s sur n'importe quelle architecture disposant d'un compilateur prenant en charge la norme C99, mais les meilleures performances sont atteintes sur les systĂšmes x86_64 grĂące aux optimisations en assembleur basĂ©es sur les instructions SIMD (la prise en charge AVX2 dans le CPU est souhaitable, mais SS2 suffit comme minimum). La consommation de mĂ©moire dĂ©pend du nombre de cƓurs de processeur utilisĂ©s lors de l'encodage, rĂ©gis par l'option « —lp ». En raison de la complexitĂ© accrue des algorithmes utilisĂ©s dans AV1, l'encodage de ce format nĂ©cessite beaucoup plus de ressources que pour d'autres formats, ce qui empĂȘche l'utilisation de l'encodeur AV1 standard pour le transcodage en temps rĂ©el. Par exemple, l'encodeur standard du projet AV1 nĂ©cessite de 5721 Ă  6589 fois plus de calculs par rapport aux encodeurs x264 (profil « main »), x264 (profil « high ») et libvpx-vp9.

Parmi les changements dans la nouvelle version de SVT-AV1 :

  • Un passage Ă  une nouvelle numĂ©rotation des versions a Ă©tĂ© effectuĂ©, selon laquelle le premier chiffre de la version changera Ă  chaque modification de l'API/ABI.
  • Des modifications ont Ă©tĂ© apportĂ©es Ă  l'API, liĂ©es Ă  la transition vers l'indication de la fin du flux (EOS — End Of Stream) dans la derniĂšre image, au lieu d'utiliser une image vide, ce qui a permis d'Ă©liminer le dĂ©lai d'attente pour une image superflue. La modification de l'API est dĂ©jĂ  reflĂ©tĂ©e dans la base de code de FFmpeg.
  • Le mode Ă  trois passes de dĂ©bit binaire variable (3-pass VBR) a Ă©tĂ© supprimĂ©, Ă©tant remplacĂ© par le mĂ©canisme du VBR multi-pass. Le mode multi-pass du VBR a Ă©tĂ© rĂ©duit Ă  deux passes pour garantir l'intĂ©gration avec FFmpeg.
  • Des optimisations ont Ă©tĂ© ajoutĂ©es au codificateur, augmentant ainsi l'efficacitĂ© de compression des prĂ©rĂ©glages M9-M13 de 1 Ă  4 %, tandis que la consommation de mĂ©moire en prĂ©rĂ©glage M5 a Ă©tĂ© rĂ©duite de 20 Ă  35 % en mode LP 8 et de 1 Ă  5 % dans d'autres modes. La consommation de mĂ©moire dans les autres prĂ©rĂ©glages a diminuĂ© de 1 Ă  5 %.
  • Une optimisation des compromis qualitĂ©/vitesse a Ă©tĂ© rĂ©alisĂ©e pour les prĂ©rĂ©glages visant un niveau de qualitĂ© Ă©levĂ©. La fonctionnalitĂ© du prĂ©rĂ©glage MR, offrant une qualitĂ© de rĂ©fĂ©rence, a Ă©tĂ© accĂ©lĂ©rĂ©e de 100 %.
  • Des optimisations spĂ©cifiques Ă  l'architecture ARM ont Ă©tĂ© ajoutĂ©es aux fonctions Ă©crites uniquement en langage C.

De plus, on peut noter la sortie du projet dav1d 1.4.1, dans le cadre duquel les communautés VideoLAN et FFmpeg développent une bibliothÚque implémentant un décodeur alternatif et libre pour le format de codage vidéo AV1. La bibliothÚque dav1d prend en charge toutes les fonctionnalités d'AV1, y compris les types de sous-échantillonnage avancés et tous les paramÚtres de contrÎle de profondeur de couleur spécifiés (8, 10 et 12 bits). Une caractéristique clé de dav1d est son objectif de parvenir à la meilleure performance de décodage possible et d'assurer un fonctionnement de qualité en mode multithread. Le code du projet est écrit en langage C (C99) avec des insertions en assembleur (NASM/GAS) et est distribué sous licence BSD. Le support pour les architectures x86, x86_64, ARMv7 et ARMv8, ainsi que pour les systÚmes d'exploitation FreeBSD, Linux, Windows, macOS, Android et iOS, a été implémenté.

La version dav1d 1.4 est notable pour le support de nouvelles architectures Loongarch et RISC-V, ainsi que pour l'utilisation d'optimisations supplémentaires basées sur les instructions AVX-512, l'accélération des filtres 6tap sur les systÚmes ARM, l'amélioration de l'efficacité du travail multithread et la réduction de la taille des données binaires sur les systÚmes ARM64, ARM32 et RISC-V. La vulnérabilité CVE-2024-1580, qui entraßnait un écriture hors limites du tampon en raison d'un débordement d'entier lors du traitement de trÚs grandes images, a été corrigée.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster