Прадстаўлены цалкам адкрыты стэк для камер з інтэрфейсам MIPI

Ганс Дэ Гоеде (Hans de Goede), распрацоўнік Fedora Linux, які працуе ў кампаніі Red Hat, прадставіў на канферэнцыі FOSDEM 2024 адчынены стэк для камер, якія падключаюцца пры дапамозе інтэрфейсу MIPI (Mobile Industry Processor Interface). Падрыхтаваны адкрыты стэк пакуль не прыняты ў склад ядра Linux і праекты libcamera, але адзначаны як які дасягнуў стану, прыдатнага для тэставання шырокім кругам энтузіястаў. Праца стэка праверана з MIPI-камерамі на базе сэнсараў ov2740, ov01a1s і hi556, задзейнічаных у такіх наўтбуках, як Lenovo ThinkPad X1 yoga gen 8, Dell Latitude 9420 і HP Spectre x360 13.5/2023 XNUMX.

Інтэрфейс MIPI ужываецца ў шматлікіх новых мадэлях наўтбукаў замест раней выкарыстоўванай струменевай перадачы відэа па шыне USB ад прылад, якія падтрымліваюць стандарт UVC (USB Video Class). MIPI падае доступ да сэнсара камеры, выкарыстаючы CSI-рэсівер (Camera Serial Interface) і інтэграваны ў CPU працэсар апрацоўкі малюнкаў (ISP, Image Signal Processor), які забяспечвае фармаванні малюнка на аснове волкіх (raw) дадзеных, якія паступаюць ад сэнсара. Кампанія 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, які прапануе праграмны стэк для працы з відэакамерамі, фотакамерамі і TV-цюнарамі ў Linux, Android і ChromeOS. Акрамя SoftISP стэк для працы з MIPI-камерамі ўключае які працуе на ўзроўні ядра драйвер для сэнсараў ov2740 і код для падтрымкі ў ядры Linux CSI-рэсівера, які з'яўляецца часткай IPU6 працэсараў Intel.

Пакеты з ядром Linux і libcamera, улучальныя падрыхтаваныя праектам змены, даступныя ў рэпазітары COPR для ўсталёўкі ў Fedora Linux 39. Для захопу відэа з MIPI-камер можа выкарыстоўвацца мультымедыйны сервер Pipewire. Падтрымка працы з камерамі праз Pipewire ужо прынята ў бібліятэку libwebrtc. У Firefox магчымасць працы з камерамі праз Pipewire прыведзена да стану, прыдатнага для выкарыстання з WebRTC, пачынальна з выпуску 122. Па змаўчанні праца з камерамі праз Pipewire у Firefox адключаная і патрабуе актывацыі ў about:config параметра «media.webrtc.camera.allow- pipewire».

Крыніца: opennet.ru

Дадаць каментар