Daniel Almeida, který se zabývá vývojem video kodeků ve společnosti Collabora, představila pro diskuzi vývojářům jádro Linuxu novou implementaci vrstvy pro využití hardwarových video dekodérů formátu VP9 v subsystému V4L2, který se používá pro přístup k zařízením pro videozáznam, jako jsou webkamery a TV tunery. Kód vrstvy byl kompletně přepsán v jazyce Rust a je zaměřen na práci s ovladači rkvdec a hantro, které poskytují přístup k hardwarovým prostředkům pro zrychlení dekódování videa dostupným v čipech Rockchip a Hantro.
Kód s implementací podpory VP9 pro v4l2 zabírá přibližně 2000 řádků. Jako důvod pro vznik alternativní implementace v jazyce Rust se uvádí touha dosáhnout dodatečné úrovně ochrany díky využití prostředků, které jazyk Rust poskytuje pro bezpečné manipulace s pamětí v kódu, který obsahuje implementaci dostatečně složitých algoritmů a používá se pro zpracování dat doručovaných z uživatelského prostoru prostřednictvím rozhraní V4L2. I když implementace v Rustu má prozatím status vývoje experimentálního prototypu, při testování paketem Fluster, který hodnotí shodu dekodérů s referenčními specifikacemi, pro verze v C a Rust ukázaly identické výsledky.
Zdroj: opennet.ru
