Daniel Almeida, che si occupa dello sviluppo dei codec video presso Collabora, ha presentato per la discussione degli sviluppatori del kernel Linux una nuova implementazione di un layer per utilizzare i decoder hardware video nel formato VP9 nel sottosistema V4L2, utilizzato per l'accesso a dispositivi di acquisizione video come webcam e TV tuner. Il codice del layer è stato completamente riscritto in Rust ed è progettato per lavorare con i driver rkvdec e hantro, che forniscono accesso alle risorse hardware per l’accelerazione della decodifica video disponibili nei chip Rockchip e Hantro.
Il codice per l'implementazione del supporto VP9 per v4l2 si compone di circa 2000 righe. Una delle ragioni per cui è stata creata un'alternativa in Rust è il desiderio di ottenere un ulteriore livello di protezione attraverso l'uso delle funzionalità di sicurezza della memoria fornite da Rust, in un codice che contiene algoritmi complessi e viene utilizzato per gestire i dati provenienti dallo spazio utente tramite l'interfaccia V4L2. Anche se l'implementazione in Rust ha attualmente lo status di prototipo sperimentale in discussione, durante i test condotti con il pacchetto Fluster, che valuta la conformità dei decodificatori alle specifiche di riferimento, le versioni in C e Rust hanno mostrato risultati identici.
Fonte: opennet.ru
