Daniel Almeida, care se ocupă cu dezvoltarea codec-urilor video la Collabora, a prezentat pentru discuție dezvoltatorilor nucleului Linux o nouă implementare a unui strat pentru utilizarea decodoarelor video hardware în format VP9 în subsistemul V4L2, aplicat pentru organizarea accesului la dispozitive de captură video, precum webcam-uri și tunere TV. Codul stratului a fost complet rescris în limbajul Rust și este orientat către lucrul cu driverele rkvdec și hantro, care oferă acces la resursele hardware pentru accelerarea decodării video disponibile în cipurile Rockchip și Hantro.
Codul cu implementarea suportului VP9 pentru v4l2 ocupă aproximativ 2000 de linii. Ca motiv pentru crearea unei implementări alternative în limbajul Rust se menționează dorința de a obține un nivel suplimentar de siguranță prin utilizarea resurselor oferite de limbajul Rust pentru lucrul sigur cu memoria în codul care conține implementarea unor algoritmi destul de complexi și este utilizat pentru procesarea datelor provenind din spațiul utilizatorului prin intermediul interfeței V4L2. Deși implementarea în Rust are în prezent statutul de prototip experimental supus discuției, în testele efectuate cu pachetul Fluster, care evaluează conformitatea decodoarelor cu specificațiile de referință, versiunile în C și Rust au prezentat rezultate identice.
Sursa: opennet.ro
