Daniel Almeida, die zich bezighoudt met de ontwikkeling van video-codecs bij Collabora, heeft voor ontwikkeling door Linux-kernontwikkelaars een nieuwe implementatie van een laag gepresenteerd voor het gebruik van hardwarevideo-decoders in het VP9-formaat binnen de V4L2-subsysteem, dat wordt gebruikt voor de toegang tot videoinvoerapparaten zoals webcam en tv-tuners. De laagcode is volledig herschreven in de programmeertaal Rust en is gericht op samenwerking met de rkvdec- en hantro-drivers, die toegang bieden tot de hardwarematige middelen voor video-decodering, beschikbaar in Rockchip- en Hantro-chips.
De code met de implementatie van VP9-ondersteuning voor v4l2 beslaat ongeveer 2000 regels. De reden voor het creƫren van een alternatieve implementatie in de programmeertaal Rust is het verlangen naar een extra beveiligingsniveau door gebruik te maken van de geheugenbeveiligingsmechanismen die door Rust worden aangeboden in code die behoorlijk complexe algoritmen implementeert en wordt gebruikt voor het verwerken van gegevens die uit de gebruikersruimte komen via de V4L2-interface. Hoewel de implementatie in Rust momenteel de status heeft van een experimentele prototype die ter discussie is gesteld, lieten tests met het Fluster-pakket, dat de overeenstemming van decoders met de referentiespecificaties beoordeelt, identieke resultaten zien voor de versies in C en Rust.
Bron: opennet.ru
