在主线Linux中支持无blob摄像头的开源全志V3 ISP驱动程序

原文链接:Open-source Allwinner V3 ISP driver to enable blob-free camera support in mainline Linux 由Jean-Luc Aufranc撰写。
本文共计1190字,预计阅读3分钟

Allwinner V3 是全志科技针对全高清IP camera推出的一款高性能解决方案。最近,为嵌入式系统开发免费开源软件的公司Bootlin为其主线Linux中 Allwinner V3 图像信号处理器(ISP)的驱动程序提交了第一个补丁版本,这就为使用V4L2在Linux中实现完全开源、支持无blob摄像头做好了准备。

Allwinner V3 的 SoC 中有几个用于支持相机的模块,如 MIPI CSI 2这样的相机输入接口、一个可将原始数据处理为可用图像的ISP等。不过,要做到除了需要实现传感器的代码外。还有很多其他的工作要做。

其实,Allwinner SDK 原本是附带了几个二进制 blob的,也就是闭源二进制,但 Bootlin 公司正致力于淘汰这些blob。他们首先为V4L2 框架,以及 Rockchip PX30、RK1808、RK3128 和 RK3288 等处理器中的摄像头接口驱动程序开发了Allwinner A31、V3s/V3/S3 和 A83T MIPI CSI-2支持,并在不久前实现了对 Omnivision OV8865 和 OV5648 图像传感器的支持。

全志V3 ISP Linux驱动
全志V3 ISP Linux驱动

最近,Bootlin公司的员工Paul Kocialkowski 发表了一篇博文,宣布在主线 Linux 中初步支持 Allwinner V3 “Hawkview” ISP。结合我们上文提到的内容,我们知道该公司可以为Allwinner V3的ISP实现一个完全开源的V4L2驱动程序,而且不涉及二进制blob。你们也可以查看补丁集提交线程了解更多的信息。

现在看来,可能缺少的可能就是 H.264 视频编码。因为在该公司三年前推出的开源 Allwinner VPU 驱动程序提案中,他们似乎只拿得了在 Allwinner 处理器上开发H.264 解码和 H.265 解码的资金,编码的没有拿到。

Paul 指出,目前提出的 Allwinner ISP 驱动程序仅支持带系数的debayering和 2D 噪声过滤。根据Allwinner V3 数据表,这仅代表 8M Hawkview ISP 的一个子集,该子集支持空间去噪、色度去噪、基于区域的 AE/AF/AWB 统计、黑电平校正、镜头阴影校正、色彩校正和防抖动检测统计。

尽管如此,我觉得 Allwinner V3 当前实现的功能对于 Bootlin 用例来说已经足够使用了。另外,他们还考虑添加统计支持以便实现场景特定参数而自动配置所需的3A算法(如:自动对焦、自动、曝光和自动白平衡等),对于这些的支持,最终应该都会在libcamera 开源库中展示出来。

对了,Paul 在不久前的 Embedded Linux Conference 2021 上也发表了关于“使用 Mainline Linux 对 Allwinner SoC 的高级相机支持”的演讲,因此,如果你们对详细的信息感兴趣,可以查看这个演示幻灯片。ISP 的部分是从第 35 页开始。

分享这篇文章
订阅评论
提醒
0 评论
内联反馈
查看所有评论