Представен е напълно отворен стек за MIPI камери

Hans de Goede, разработчик на Fedora Linux, работещ в Red Hat, представи отворен стек за камери MIPI (Mobile Industry Processor Interface) на конференцията FOSDEM 2024. Подготвеният отворен стек все още не е приет в ядрото на Linux и проекта libcamera, но е маркиран като достигнал състояние, подходящо за тестване от широк кръг ентусиасти. Работата на стека е тествана с MIPI камери, базирани на сензори ov2740, ov01a1s и hi556, използвани в лаптопи като Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 и HP Spectre x360 13.5 2023.

Интерфейсът MIPI се използва в много нови модели лаптопи вместо използваното преди това поточно предаване на видео през USB шината от устройства, които поддържат стандарта UVC (USB Video Class). MIPI осигурява достъп до сензора на камерата с помощта на CSI приемник (Camera Serial Interface) и процесор за изображения, интегриран в CPU (ISP, Image Signal Processor), който осигурява формиране на изображение въз основа на необработени данни, идващи от сензора. Intel предоставя набор от собствени драйвери за работа с MIPI камери в Linux чрез IPU6 (Imaging Processing Unit) в процесорите Intel Tiger Lake, Alder Lake, Raptor Lake и Meteor Lake.

Основната трудност при разработването на отворени драйвери за MIPI камери се дължи на факта, че хардуерният интерфейс на ISP процесора и внедрените в него алгоритми за обработка на изображения обикновено не се разкриват от производителите на CPU и са търговска тайна. За да решат този проблем, Linaro и Red Hat разработиха софтуерна реализация на процесора за изображения - SoftISP, която ви позволява да работите с MIPI камери, без да използвате патентовани компоненти (SoftISP може да се използва като заместител на IPU6 ISP).

Имплементацията на SoftISP е представена за включване в проекта libcamera, който предлага софтуерен стек за работа с видеокамери, камери и ТВ тунери в Linux, Android и ChromeOS. В допълнение към SoftISP, стекът за работа с MIPI камери включва драйвер за сензори ov2740, работещи на ниво ядро ​​и код за поддръжка на CSI приемника в ядрото на Linux, което е част от IPU6 на процесорите на Intel.

Ядрото на Linux и пакетите libcamera, включително промените в проекта, са налични в хранилището на COPR за инсталиране на Fedora Linux 39. Медийният сървър Pipewire може да се използва за заснемане на видео от MIPI камери. Поддръжката за работа с камери чрез Pipewire вече е приета в библиотеката libwebrtc. Във Firefox възможността за работа с камери чрез Pipewire е доведена до състояние, подходящо за използване с WebRTC, като се започне от версия 122. По подразбиране работата с камери чрез Pipewire във Firefox е деактивирана и изисква „media.webrtc.camera. allow-” параметърът да бъде активиран в about:config pipewire."

Източник: opennet.ru

Добавяне на нов коментар