Lançada pilha totalmente aberta para câmeras MIPI

Hans de Goede, desenvolvedor Fedora Linux que trabalha na Red Hat, apresentou uma pilha aberta para câmeras MIPI (Mobile Industry Processor Interface) na conferência FOSDEM 2024. A pilha aberta preparada ainda não foi aceita no kernel Linux e no projeto libcamera, mas está marcada como tendo atingido um estado adequado para teste por uma ampla gama de entusiastas. A operação da pilha foi testada com câmeras MIPI baseadas em sensores ov2740, ov01a1s e hi556 usados ​​em laptops como Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 e HP Spectre x360 13.5 2023.

A interface MIPI é usada em muitos novos modelos de laptop, em vez do streaming de vídeo usado anteriormente pelo barramento USB de dispositivos que suportam o padrão UVC (USB Video Class). O MIPI fornece acesso ao sensor da câmera por meio de um receptor CSI (Camera Serial Interface) e um processador de imagem integrado à CPU (ISP, Image Signal Processor), que fornece a formação de imagens com base nos dados brutos provenientes do sensor. A Intel fornece um conjunto de drivers proprietários para trabalhar com câmeras MIPI no Linux via IPU6 (Imaging Processing Unit) nos processadores Intel Tiger Lake, Alder Lake, Raptor Lake e Meteor Lake.

A principal dificuldade no desenvolvimento de drivers abertos para câmeras MIPI se deve ao fato de que a interface de hardware do processador ISP e os algoritmos de processamento de imagem nele implementados geralmente não são divulgados pelos fabricantes de CPU e são um segredo comercial. Para resolver este problema, Linaro e Red Hat desenvolveram uma implementação de software do processador de imagem - SoftISP, que permite trabalhar com câmeras MIPI sem usar componentes proprietários (SoftISP pode ser usado como substituto do IPU6 ISP).

A implementação do SoftISP foi submetida para inclusão no projeto libcamera, que oferece uma pilha de software para trabalhar com câmeras de vídeo, câmeras e sintonizadores de TV em Linux, Android e ChromeOS. Além do SoftISP, a pilha para trabalhar com câmeras MIPI inclui um driver para sensores ov2740 rodando no nível do kernel e código para suportar o receptor CSI no kernel Linux, que faz parte do IPU6 dos processadores Intel.

O kernel Linux e os pacotes libcamera, incluindo as alterações do projeto, estão disponíveis no repositório COPR para instalação no Fedora Linux 39. O servidor de mídia Pipewire pode ser usado para capturar vídeo de câmeras MIPI. O suporte para trabalhar com câmeras via Pipewire já foi adotado na biblioteca libwebrtc. No Firefox, a capacidade de trabalhar com câmeras via Pipewire foi levada a um estado adequado para uso com WebRTC, a partir da versão 122. Por padrão, trabalhar com câmeras via Pipewire no Firefox está desabilitado e requer o arquivo “media.webrtc.camera. permitir-” parâmetro a ser ativado em about:config pipewire."

Fonte: opennet.ru

Adicionar um comentário