Bootlin представил первый набор исправлений для драйвера процессора сигналов изображения (ISP) Allwinner V3 в mainline Linux, который должен открыть путь для поддержки камеры с полностью открытым исходным кодом и без BLOB в Linux с использованием V4L2.
В процессоре есть несколько блоков для поддержки камеры, включая интерфейс ввода камеры, такой как MIPI CSI 2, и ISP для обработки необработанных данных в пригодное для использования изображение. Добавьте к этому необходимость реализовать код для датчиков, и потребуется довольно много работы, чтобы все это заработало.
Allwinner SDK поставляется с несколькими двоичными объектами, также известными как двоичные файлы с закрытым исходным кодом, но Bootlin работает над их устареванием, сначала работая над Allwinner A31, V3s/V3/S3 и поддержкой A83T MIPI CSI-2 для драйвера интерфейса камеры в фреймворке V4L2 (и процессоры Rockchip PX30, RK1808, RK3128 и RK3288), а также, ранее в этом году, реализована поддержка датчиков изображения Omnivision OV8865 и OV5648.
Пол Коциалковски опубликовал сообщение в блоге, в котором объявляется исходная поддержка ISP Allwinner V3 «Hawkview» в mainline Linux, и, в сочетании с ранее упомянутыми работами, компания смогла реализовать соответствующий драйвер V4L2 для процессора обработки изображений Allwinner V3. Это полностью открытый исходный код, без использования двоичных объектов. Вы можете проверить пакет обновлений для получения дополнительной информации. Чего может не хватать, так это кодирования видео H.264. Поскольку, более трех лет назад была представлена инициатива по созданию драйвера Allwinner VPU с открытым исходным кодом, компания получила финансирование только на разработку декодирования H.264 и H.265 на процессорах Allwinner.
Пол отмечает, что предлагаемый в настоящее время драйвер Allwinner ISP поддерживает только дебайеринг с коэффициентами и двухмерную фильтрацию шума, которые представляют собой лишь подмножество 8M Hawkview ISP, который, согласно таблице данных Allwinner V3, поддерживает пространственное устранение шума, уменьшение шума цветности, зональное снижение шума на основе статистики AE/AF/AWB, коррекции уровня черного, коррекции затемнения линз, коррекции цвета и статистики обнаружения мерцания.
Тем не менее, реализованных в настоящее время функций было достаточно для варианта использования Bootlin, и они рассматривают возможность добавления поддержки статистики для реализации алгоритмов 3A (автофокус, автоэкспозиция и автоматический баланс белого), необходимых для автоматической настройки параметров сцены. В конечном итоге их поддержка может быть реализована в библиотеке с открытым исходным кодом libcamera.
Ранее на этой неделе, Пол также выступал с докладом о «Расширенной поддержке камеры на процессоре Allwinner с Mainline Linux» на конференции Embedded Linux 2021, так что вы можете проверить слайды презентации, если вас интересуют подробности. Часть, относящаяся к ISP, начинается на странице 35.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.