Daniel Almeida, der arbejder med videokodeker hos Collabora, har præsenteret en ny implementering af en lag for brug af hardwarevideodekodere i VP9-formatet i V4L2-subsystemet, der anvendes til at organisere adgang til video-optagelsesudstyr, såsom webcams og TV-tunere. Koden til laget er fuldstændigt gen skrevet i Rust og er designet til at arbejde med driverne rkvdec og hantro, der giver adgang til hardware til acceleration af videodekodning tilgængelig i Rockchip- og Hantro-chips.
Koden til implementeringen af VP9-support for v4l2 fylder cirka 2000 linjer. Som grund til at skabe en alternativ implementering i Rust nævnes ønsket om at opnå et ekstra beskyttelsesniveau ved at anvende Rusts midler til sikker hukommelsesbrug i kode, der indeholder implementeringen af ret komplekse algoritmer og anvendes til behandling af data, der modtages fra brugerrummet via V4L2-grænsefladen. Selvom implementeringen i Rust stadig har status som et eksperimentelt prototype til diskussion, viste testning med Fluster-pakken, der vurderer overensstemmelse af dekodere med reference-specifikationer, identiske resultater for versionerne i C og Rust.
Kilde: opennet.ru
