L'AV1, un codec moderne et open source, est de plus en plus employé par les services de streaming, notamment parce qu'il permet une compression très efficace. Mais ce codec a le défaut d'être assez lourd à décoder, ce qui a poussé Apple à ne proposer sa prise en charge que sur les appareils équipés d'une puce capable de le décoder matériellement, c'est-à-dire une puce A17 (dans les iPhone) ou M3 (dans les Mac). A contrario, Google propose un décodage logiciel et vient d'annoncer le passage sur le décodeur libdav1d, porté par l'association VideoLAN (à l'origine de VLC). Le changement devrait s'effectuer en mars 2024, avec une mise à jour poussée par Google.
Jusqu'à maintenant, Google employait son propre décodeur, le libgav1. Mais le passage sur libdav1d — notoirement bien plus performant — va permettre à de nombreux appareils d'entrée de gamme de lire des vidéos en AV1 de façon fluide sans vider la batterie. Le choix de Google est probablement lié à un point précis : si l'AV1 est employé pour encoder des vidéos en très haute définition (comme les vidéos en 8K sur YouTube), il est aussi souvent choisi pour les vidéos en basse définition.
C'est un cas de figure parfois oublié dans les pays occidentaux car les connexions fixes illimitées sont la norme et les offres mobiles proposent des limites assez hautes, mais dans de nombreux pays en voie de développement, le smartphone est le seul moyen d'accéder à Internet, avec des offres parfois limitées sur la quantité de données accessibles. L'AV1 permet une compression très efficace pour de la vidéo en définition standard, ce qui réduit la bande passante nécessaire sur le réseau.
Le décodeur de VLC, très optimisé avec de nombreuses sections écrites en assembleur, a l'avantage de permettre le décodage de vidéos en AV1 sur du matériel peu puissant. L'exemple d'Android Authority est édifiant : sur un Pixel 3 XL (un smartphone daté équipé d'un Snapdragon 845), il permet une lecture fluide en 1080p ou en 4K, alors que le décodeur de Google peine à s'approcher des 10 images/s.
Apple utilise libdav1d… pour les images fixes
Il faut noter que si Apple impose un appareil avec un décodeur matériel pour lire les vidéos en AV1, le décodeur libdav1d est tout de même présent dans les systèmes d'exploitation. Mais il n'est pas employé pour la vidéo, mais uniquement pour les images fixes en AVIF. Et ce choix reste un peu obscur : avec le libdav1d, n'importe quel Mac un peu moderne pourrait facilement décoder de l'AV1 4K sans charger exagérément le processeur, même si la solution est moins efficace sur le plan de la consommation qu'un décodage purement matériel.
Apple n'intègre pas de décodeur logiciel pour l'AV1 et c'est toujours un problème