最近,我们已经从基于 ISI 的管道捕获转向使用 ISP。这样做的目的是用软件而不是硬件来执行除渣器。
ISI 版本的驱动程序正常工作,可以在两个独立的 4 线 mipi-csi2 接口上支持两个传感器实例。分辨率和位深度也不吓人(1920x1200、8 或 10 位)。
除了开放 vvcam 服务所需的额外 ioctl 之外,ISP 版本的驱动程序与 ISI 版本的驱动程序相同。链接 vvcam 的传感器接口驱动程序/库似乎也成功启动并运行。调整后的 xml 和 json 配置文件似乎也是正确的。
isp_media_server 适用于我们传感器的一个或两个实例,安装了所有正确的系统驱动程序和传感器驱动程序(imx8_media_dev、我们的驱动程序、vvcam_video、vvcam_dwp 和 vvcam_isp)。它没有报告任何错误,并为每个传感器正确安装了一个 /dev/videoX 实例。
使用 gstreamer 或 video_test 工具也可以在正确的模式下启动正确的传感器。然而,我们所得到的却是错误的。
随附的是输出到监测的 video_test 捕获。当通过 isp_media_server 而不是使用 ISI/设备树方法间接完成时,mipi 设置似乎不正确。它似乎缺少 SOF 标头并且捕获不对齐。
以下是我们使用的版本:
如果能找到这些设置的配置位置,那就太好了。 我的假设是设备树,但除了禁用ISI和启用ISP之外,这种情况没有改变。
非常感谢。
- 奥利弗
请向我提供测试记录,您是否尝试过其他格式?有区别吗?
抱歉,主题发布时附件未被采纳....
@joanxie,谢谢你的回复。传感器是 ar0234,其中 isp0 上的第一个传感器是单色变体,而 isp1 上的传感器是彩色(拜耳)变体。在引擎盖下驱动传感器的方式没有区别。
日志有点没用,因为没有任何故障。但无论如何,随附的是 isp_media_server 的输出结果。不知道还有哪些日志会令人感兴趣。
两个传感器(彩色或单色)之间没有真正的变化,我也没想到会有这样的变化,因为两个传感器的捕获数据和配置会相同。如果我将捕获分辨率从 10 位更改为 8 位,则会有区别。损失较少(一个图像中只有 3 个重复图像,而不是 5 个左右),但 SOF 仍有偏差,同样存在错位。见附图。
很抱歉捕获的质量很差,我实际上是在用手机拍屏幕的照片。但我认为这已经清楚地说明了问题所在。
谢谢你的提醒,我不知道 ISP 只能播放 1080p。这其实不是一个问题,因为我可以通过 ISI 运行单声道摄像机,而只需通过 ISP 运行彩色摄像机。
不过,我现在一次只运行一台相机。
我将查看 ar0144 驱动程序,看看是否有任何明显区别。您知道 ar0144 驱动程序需要哪个版本的内核/vvcam/isp 吗?
你是同时用双摄像头捕获的吗?双摄像头也有同样的问题吗?逐个测试如何?让我提醒一下,如果您需要同时使用双 ISP,只能支持到 1080p 分辨率,所以我建议您可以逐个测试,我们已经验证了 ar0144,也许您可以参考一下,检查您的设置是否正确,检查 vvcam 驱动程序是否设置正确。
https://github.com/nxp-imx-support/meta-imx8mp-isp-ar0144
您也可以参考 AN 了解如何设置单色
参考你的描述,你需要仔细检查你的摄像头驱动程序,ar0144 软件包基于 6.1.22