Daniel Almeida, der sich mit der Entwicklung von Video-Codecs bei Collabora beschĂ€ftigt, hat den Entwicklern des Linux-Kernels eine neue Implementierung einer Schicht zur Nutzung von Hardware-Videodecodern im VP9-Format in der V4L2-Subsystem vorgestellt, die fĂŒr den Zugriff auf VideogerĂ€te wie Webcams und TV-Tuner verwendet wird. Der Code der Schicht wurde vollstĂ€ndig in der Programmiersprache Rust neu geschrieben und ist auf die Arbeit mit den Treibern rkvdec und hantro ausgerichtet, die Zugriff auf die Hardware-Beschleunigung von Video-Decodierungen in Rockchip- und Hantro-Chips bietet.
Der Code zur UnterstĂŒtzung von VP9 fĂŒr v4l2 umfasst etwa 2000 Zeilen. Als Grund fĂŒr die Erstellung einer alternativen Implementierung in Rust wird der Wunsch genannt, ein zusĂ€tzliches Schutzniveau durch die Nutzung der von Rust bereitgestellten Mittel fĂŒr sicheres Arbeiten mit Speicher in Code zu erreichen, der ausreichend komplexe Algorithmen enthĂ€lt und zur Verarbeitung von Daten verwendet wird, die ĂŒber das V4L2-Interface aus dem User-Space eingehen. Obwohl die Implementierung in Rust derzeit als experimenteller Prototyp in Diskussion ist, zeigten Tests mit dem Fluster-Paket, das die Ăbereinstimmung der Decoder mit den Referenzspezifikationen bewertet, dass die Versionen in C und Rust identische Ergebnisse lieferten.
Quelle: opennet.ru
