Daniel Almeida, ki se ukvarja z razvojem videokodekov v podjetju Collabora, je za razpravo med razvijalci jedra Linux predstavil novo implementacijo vmesnika za uporabo strojnih dekodirnih enot videoposnetkov v formatu VP9 v podsystemu V4L2, ki se uporablja za dostop do naprav za zajem videa, kot so spletne kamere in TV-tunerji. Koda vmesnika je bila popolnoma prenovljena v jeziku Rust in je usmerjena na delo z gonilniki rkvdec in hantro, ki omogočajo dostop do strojne opreme za pospešitev dekodiranja videa, prisotne v čipih Rockchip in Hantro.
Koda z implementacijo podpore za VP9 za v4l2 obsega približno 2000 vrstic. Kot razlog za ustvarjanje alternativne implementacije v jeziku Rust se omenjajo želje po dodatnem nivoju varnosti s pomočjo mehanizmov jezika Rust za varno obvladovanje pomnilnika v kodi, ki vsebuje implementacijo dovolj zapletenih algoritmov in se uporablja za obdelavo podatkov, ki jih prejme iz uporabniškega prostora prek vmesnika V4L2. Čeprav ima implementacija v Rustu trenutno status eksperimentalnega prototipa v razpravi, so pri testiranju paketa Fluster, ki ocenjuje skladnost dekodirnikov z referenčnimi specifikacijami, različici v jeziku C in Rust pokazali identične rezultate.
Izvor: opennet.ru
