S-a introdus stiva complet deschisă pentru camerele MIPI

Hans de Goede, un dezvoltator Fedora Linux care lucrează la Red Hat, a prezentat o stivă deschisă pentru camerele MIPI (Mobile Industry Processor Interface) la conferința FOSDEM 2024. Stiva deschisă pregătită nu a fost încă acceptată în nucleul Linux și în proiectul libcamera, dar este marcată ca a ajuns într-o stare potrivită pentru testare de către o gamă largă de entuziaști. Funcționarea stivei a fost testată cu camere MIPI bazate pe senzori ov2740, ov01a1s și hi556 utilizați în laptopuri precum Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 și HP Spectre x360 13.5 2023.

Interfața MIPI este utilizată în multe modele noi de laptopuri în locul streamingului video utilizat anterior prin magistrala USB de la dispozitive care acceptă standardul UVC (USB Video Class). MIPI oferă acces la senzorul camerei folosind un receptor CSI (Camera Serial Interface) și un procesor de imagine integrat în CPU (ISP, Image Signal Processor), care asigură formarea imaginii pe baza datelor brute provenite de la senzor. Intel oferă un set de drivere proprietare pentru lucrul cu camerele MIPI în Linux prin intermediul IPU6 (Unitate de procesare a imaginilor) în procesoarele Intel Tiger Lake, Alder Lake, Raptor Lake și Meteor Lake.

Principala dificultate în dezvoltarea driverelor deschise pentru camerele MIPI se datorează faptului că interfața hardware a procesorului ISP și algoritmii de procesare a imaginilor implementați în acesta nu sunt de obicei dezvăluiți de producătorii CPU și sunt un secret comercial. Pentru a rezolva această problemă, Linaro și Red Hat au dezvoltat o implementare software a procesorului de imagine - SoftISP, care vă permite să lucrați cu camere MIPI fără a utiliza componente proprietare (SoftISP poate fi folosit ca înlocuitor pentru IPU6 ISP).

Implementarea SoftISP a fost trimisă pentru includere în proiectul libcamera, care oferă o stivă de software pentru lucrul cu camere video, camere și tuner TV în Linux, Android și ChromeOS. Pe lângă SoftISP, stiva pentru lucrul cu camerele MIPI include un driver pentru senzorii ov2740 care rulează la nivel de kernel și cod pentru suportul receptorului CSI în kernel-ul Linux, care face parte din IPU6 al procesoarelor Intel.

Nucleul Linux și pachetele libcamera, inclusiv modificările proiectului, sunt disponibile în depozitul COPR pentru instalare pe Fedora Linux 39. Serverul media Pipewire poate fi folosit pentru a captura video de la camerele MIPI. Suportul pentru lucrul cu camere prin Pipewire a fost deja adoptat în biblioteca libwebrtc. În Firefox, capacitatea de a lucra cu camere prin Pipewire a fost adusă la o stare adecvată pentru utilizare cu WebRTC, începând cu versiunea 122. În mod implicit, lucrul cu camerele prin Pipewire în Firefox este dezactivat și necesită „media.webrtc.camera. parametrul allow-” să fie activat în about:config pipewire.”

Sursa: opennet.ru

Adauga un comentariu