Даниел Алмейда (Daniel Almeida), който се занимава с разработката на видеокодеци в компанията Collabora, представи за обсъждане от разработчиците на ядрото на Linux нова реализация на прослойка за използване на хардуерни декодери на видео формат VP9 в подсистемата V4L2, прилагана за организиране на достъпа до устройства за видеозапис, като уебкамера и TV тунери. Кодът на прослойката е напълно пренаписан на езика Rust и е ориентиран към работа с драйвери rkvdec и hantro, предоставящи достъп до хардуерни средства за ускорение на декодирането на видео, налични в чипове Rockchip и Hantro.
Кодът с реализация на поддръжка на VP9 за v4l2 заема около 2000 реда. Като причина за създаването на алтернативна реализация на езика Rust се споменава желанието да се постигне допълнителен ниво на защита чрез прилагането на предоставените от Rust средства за безопасна работа с паметта в кода, който съдържа реализация на достатъчно сложни алгоритми и се прилага за обработка на данни, идващи от пространството на потребителя през интерфейса V4L2. Въпреки че реализацията на Rust все още има статус на предложен за обсъждане експериментален прототип, при тестването с пакета Fluster, оценяващ съответствието на декодерите с еталонните спецификации, версиите на C и Rust показаха идентични резултати.
Източник: opennet.ru
