Introduciuse a pila totalmente aberta para cámaras MIPI

Hans de Goede, un desenvolvedor de Fedora Linux que traballa en Red Hat, presentou unha pila aberta para cámaras MIPI (Interface de procesador da industria móbil) na conferencia FOSDEM 2024. A pila aberta preparada aínda non foi aceptada no núcleo de Linux e no proxecto libcamera, pero está marcada como acadando un estado axeitado para ser probado por unha ampla gama de entusiastas. O funcionamento da pila probouse con cámaras MIPI baseadas en sensores ov2740, ov01a1s e hi556 utilizados en portátiles como Lenovo ThinkPad X1 ioga gen 8, Dell Latitude 9420 e HP Spectre x360 13.5 2023.

A interface MIPI utilízase en moitos novos modelos de portátiles en lugar da transmisión de vídeo anteriormente usada a través do bus USB desde dispositivos que admiten o estándar UVC (USB Video Class). MIPI proporciona acceso ao sensor da cámara mediante un receptor CSI (Camera Serial Interface) e un procesador de imaxe integrado na CPU (ISP, Image Signal Processor), que proporciona a formación de imaxes en función dos datos brutos procedentes do sensor. Intel ofrece un conxunto de controladores propietarios para traballar con cámaras MIPI en Linux mediante IPU6 (Unidade de procesamento de imaxes) nos procesadores Intel Tiger Lake, Alder Lake, Raptor Lake e Meteor Lake.

A principal dificultade para desenvolver controladores abertos para cámaras MIPI débese ao feito de que a interface de hardware do procesador ISP e os algoritmos de procesamento de imaxes implementados nel normalmente non son revelados polos fabricantes de CPU e son un segredo comercial. Para solucionar este problema, Linaro e Red Hat desenvolveron unha implementación de software do procesador de imaxes - SoftISP, que permite traballar con cámaras MIPI sen utilizar compoñentes propietarios (SoftISP pódese usar como substituto do ISP IPU6).

A implementación de SoftISP presentouse para a súa inclusión no proxecto libcamera, que ofrece unha pila de software para traballar con cámaras de vídeo, cámaras e sintonizadores de TV en Linux, Android e ChromeOS. Ademais de SoftISP, a pila para traballar con cámaras MIPI inclúe un controlador para sensores ov2740 que se executan a nivel de núcleo e código para admitir o receptor CSI no núcleo Linux, que forma parte da IPU6 dos procesadores Intel.

O kernel de Linux e os paquetes libcamera, incluídos os cambios do proxecto, están dispoñibles no repositorio COPR para a súa instalación en Fedora Linux 39. O servidor multimedia Pipewire pódese usar para capturar vídeo das cámaras MIPI. O soporte para traballar con cámaras a través de Pipewire xa se adoptou na biblioteca libwebrtc. En Firefox, a capacidade de traballar con cámaras a través de Pipewire pasou a un estado axeitado para o seu uso con WebRTC, a partir da versión 122. Por defecto, traballar con cámaras a través de Pipewire en Firefox está desactivado e require o "media.webrtc.camera. permita-" que se active o parámetro en about:config pipewire."

Fonte: opennet.ru

Engadir un comentario