Der Unterstützungscode für den VP9-Codec in V4L2 für Hantro- und Rockchip-Chips wurde in Rust neu geschrieben

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

60GB SSD 8Gb DDR4