Kod wsparcia kodeka VP9 w V4L2 dla chipów Hantro i Rockchip został przepisany w języku Rust

Daniel Almeida, zajmujący się rozwojem kodeków wideo w firmie Collabora, zaprezentował nową implementację warstwy do użycia sprzętowych dekoderów wideo VP9 w subsystemie V4L2, stosowanym do umożliwienia dostępu urządzeniom do przechwytywania wideo, takim jak kamery internetowe i tunery telewizyjne. Kod warstwy został całkowicie przepisany w języku Rust i jest ukierunkowany na współpracę z driverami rkvdec i hantro, które zapewniają dostęp do sprzętowych zasobów przyspieszających dekodowanie wideo dostępnych w chipach Rockchip i Hantro.

Kod z implementacją wsparcia VP9 dla v4l2 zajmuje około 2000 linii. Powód stworzenia alternatywnej implementacji w języku Rust to chęć uzyskania dodatkowego poziomu ochrony dzięki wykorzystaniu udostępnionych przez Rust narzędzi do bezpiecznej pracy z pamięcią w kodzie, który zawiera implementację stosunkowo złożonych algorytmów i jest używany do przetwarzania danych napływających z przestrzeni użytkownika przez interfejs V4L2. Mimo że implementacja w Rust na razie ma status projektowanej prototypu i jest przedmiotem dyskusji, testując pakietem Fluster, oceniającym zgodność dekoderów z referencyjnymi specyfikacjami, wersje w C i Rust wykazały identyczne wyniki.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster