Daniel Almeida, qui travaille sur le développement de codecs vidéo chez Collabora, a présenté aux développeurs du noyau Linux une nouvelle implémentation d'une couche pour l'utilisation des décodeurs vidéo matériels au format VP9 dans le sous-systÚme V4L2, utilisé pour organiser l'accÚs aux dispositifs de capture vidéo tels que les webcams et les tuners TV. Le code de la couche a été complÚtement réécrit en Rust et est conçu pour fonctionner avec les drivers rkvdec et hantro, fournissant un accÚs aux ressources matérielles d'accélération de décodeurs vidéo disponibles dans les puces Rockchip et Hantro.
Le code implĂ©mentant le support de VP9 pour v4l2 comprend environ 2000 lignes. Comme raison de la crĂ©ation d'une implĂ©mentation alternative en Rust, on cite le dĂ©sir d'obtenir un niveau de protection supplĂ©mentaire grĂące Ă l'utilisation des outils offerts par Rust pour un travail mĂ©moire sĂ»r dans un code qui contient la mise en Ćuvre d'algorithmes suffisamment complexes et est utilisĂ© pour traiter les donnĂ©es provenant de l'espace utilisateur via l'interface V4L2. Bien que l'implĂ©mentation en Rust soit actuellement un prototype expĂ©rimental soumis Ă discussion, les tests effectuĂ©s avec le paquet Fluster, qui Ă©value la conformitĂ© des dĂ©codeurs aux spĂ©cifications de rĂ©fĂ©rence, ont montrĂ© des rĂ©sultats identiques pour les versions en C et en Rust.
Source : opennet.ru
