文章来源:在主线Linux中支持无blob摄像头的开源全志V3 ISP驱动程序
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驱动
最近,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 页开始。
更多优质文章推荐:
1.搭载了全志V3s SBC的DIY Spotify音乐盒 - CNX Software中文站
2.全志V833 AI视频开发板可运行Tina Linux或Melis RTOS - CNX Software中文站
3.TOX2,具有以太网端口、可运行Android 10的全志H313 HDMI电视棒 - CNX Software中文站
,