工具/软件:
我们正在 Linux SDK 版本6上使用 isl7998x 驱动程序。
默认情况下、此驱动程序有一个字段排序:
V4L2_FIELD_SEQ_BT
此 TI CSI Shim 驱动程序(和 Cadence CSI 驱动程序)不支持现场订购。
我注意到、此芯片及其 CSI 模块(适用于旧内核版本)的 NXP 驱动程序需要在 CSI 驱动程序支持字段中添加补丁来支持该芯片。
生成的图像是否可能来自不支持现场排序的 CSI 驱动程序?


This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
我们正在 Linux SDK 版本6上使用 isl7998x 驱动程序。
默认情况下、此驱动程序有一个字段排序:
尊敬的 Evan:
除了闪烁和绿色帧之外、图像看起来是否正确?
此外、您是否有以下问题的答案:
[报价 userid="574088" url="~/support/processors-group/processors/f/processors-forum/1521697/am67-root-cause-video-distortion-on-isl7998x-going-through-ticsi2rx/5850469 #5850469"]图像似乎已变形。 是这样吗?
[/报价]此致、
Jared
您好 Jared、
图像没有变形,我用我的手机从一个奇怪的角度拍摄的照片。
我认为设置标志实际上没有任何变化。
这里有两个稳定的屏幕抓图。 我发现设置"v stable"位可以防止我看到的绿色失真。 (它位于 isl7998x 芯片内)
"4 VSTABLE R/W
0 =忽略解码器的‘VSTABLE"标志、始终进行正常的输出传输。
1 =使用解码器中的"VSTABLE"标志执行正常的输出传输或停止
输出传输。
使用 cdns_csi2rx.30121000.csi-bridge 字段时: 无
使用 cdns_csi2rx.30121000.csi-bridge 字段时: SEQ-bt
另外,我发现在解码器中设置"Config input""Progressive "位,并打开一个测试模式,视频源工作和稳定,绘制整个测试图像。
但是! 如果我尝试在此模式下使用相机、它不会绘制/更新图像的最后一半。 (似乎 isl7998x 无法将 NTSC 顶部/底部编码信号转换为逐行)
您好 Jared、
尽管向流水线添加了分隔符、但它仍然是隔行扫描的。
即使我们可以使用"分隔符"、我们仍然 希望 CSI 驱动程序支持基于 DMA 的分隔符、以减少 CPU 负载。 (Gstreamer 的"分隔符"增加了~65%的 CPU 使用率、我们希望所有4个流同时使用)
您认为去隔行应在哪里完成?
我们可以修改驱动程序、或者向设备树中添加可以进行转换的其他项目?
我发现这例如: https://www.kernel.org/doc/html/v5.8/admin-guide/media/imx.html
我讨论了一个 VDIC 块执行该操作。 但这似乎仅适用于 IMX。
也许我们使用
mem2mem 设置 DMA、那么硬件加速似乎是这样、但可能需要 v4l2环回吗? 也许这也是不正确的。
我们可以关闭此票证、因为它是根本原因、我将打开另一个票证。
要关闭 gstreamer 的"分隔符"为何不起作用的循环、它似乎不支持 SEQ_BT 或 SEQ_TB。
ti_csi2rx_start_dma 可能是我的最佳选择。
如果您添加了 multiview-mode=从上到下 到 gstreamer 流水线、 它会将图像组合成240高度图像、颜色失真...