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.

[参考译文] AM62A7:关于 VPAC's 无法正确解析凸轮原始图像

Guru**** 2378650 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1499324/am62a7-about-the-vpac-s-inability-to-correctly-parse-cam-raw-images

器件型号:AM62A7

工具/软件:

尊敬的 TI 专家:

最近、当我将 imx623插入 am62a 时、我注意到始终显示一个乱码图像。

要确定错误图像的生成位置、 我以三种不同的方式保存了由 cam 捕获的原始图像。

第一种方法是使用 v4l2驱动程序调试工具 yavta、它可以顺利保存映像。  第二种保存原始映像的方法是使用 GST 流水线、该流水线也能顺利保存映像。  GST 流水线如下:

gst-launch-1.0 \
v4l2src device=/dev/video3 io-mode=5 num-buffers=10 ! \
video/x-bayer, width=1920, height=1536, format=rggb12, framerate=45/1 ! \
queue leaky=2 ! \
tiovxmemalloc ! \
filesink location=/home/root/ISP/45fps.raw

第三种使用 DCC 调优工具保存原始映射的方法是出现撕裂问题。

所以基本上可以得出结论:凸轮驱动器没有问题。 我现在怀疑 vpac 中存在问题、但我不知道如何进行故障排除或解决;我希望我可以在此处从 TI 专家那里获得建议~

 附加了通过三种方式采集的图像的详细信息。  此外、我运行的 GST 流水线如下:

GST_DEBUG=tiovxisp:5 \
gst-launch-1.0 \
v4l2src device=/dev/video3 io-mode=5 ! \
video/x-bayer, width=1920, height=1536, format=bggr12, framerate=45/1 ! \
queue leaky=2 ! \
tiovxisp sensor-name=SENSOR_SONY_IMX623 \
dcc-isp-file=/opt/imaging/imx623/wdr/dcc_viss.bin \
sink_0::dcc_2a_file=/opt/imaging/imx623/wdr/dcc_2a.bin sink_0::device=/dev/v4l-subdev2 format-msb=11 \
sink_0::pool-size=2 src::pool-size=2 ! \
queue leaky=2 ! \
video/x-raw, format=NV12, width=1920, height=1536,framerate=45/1 ! queue leaky=2 ! \
kmssink driver-name=tidss

此致、

e2e.ti.com/.../test_5F00_raw.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我使用 PSDK 版本9.2、imx623配置为1920*1536,45fps。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    我想您之前成功使用了此捕获功能。
    这是9.2的新问题还是仅在9.2上使用 imx623的新问题?

    Unknown 说:
    所以基本上、它可以得出 cam 驱动程序是好的。 我现在怀疑 vpac 中存在问题、但我不知道如何进行故障排除或解决;我希望我可以在此处获得 TI 专家的建议~

    您在屏幕上看到 VPAC 输出有什么问题吗?

    图像捕获无法通过 VPAC、因此我预计不会出现任何问题  
    它应该只是通过网络将采集的原始图像发送到 PC。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设您以前能够成功地使用此捕获功能。
    这是9.2的新问题还是9.2的 imx623的新问题?

    之前、已成功访问30fps 和1936x1552的传感器设置。 最近、我们访问了45fps 和1920 x 1536的传感器设置。

    [引述 userid="35541" url="~/support/processors-group/processors/f/processors-forum/1499324/am62a7-about-the-vpac-s-inability-to-correctly-parse-cam-raw-images/5762710 #5762710"]

    您在屏幕上看到 VPAC 输出有什么问题吗?

    [/报价]

    是、VPAC 输出图像与错误的输入原始图像相同。

    你有任何建议,如何解决这个问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    是、VPAC 输出图像与错误的输入原始图像相同。

    我不确定我是否正确理解您的问题。

    使用调优工具捕捉 YUV 时、您是否意味着 YUV 也是错误的?

    最近、我们访问了45fps 和1920 x 1536的传感器设置。

    或者、即使不使用调优工具、视频流式传输在45fps 时也会出现错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Gang、

    如问题说明中所述,只有由 yvata 或 GST 文件 ink 保存的原始图像 (请参考  问题说明中的第一个 GST 管道)。 都正常。 这些原始图像来自 V4L2出队缓冲区。

    然后、通过 kmssink 将视频流推送到屏幕显示屏后(请参阅问题说明中的第二个 GST 流水线。)、显示的图像将会出现撕裂问题。 当我们找到发生图像撕裂的位置时、我们使用调优工具来保存原始图像和 YUV 图像。 保存的结果和显示的结果相同、两者都显示撕裂现象。  

    或者、即使不使用调优工具、视频流式传输在45fps 时也是错误的。

    是的、视频流在45fps 时出错。 因此、调优工具保存的 YUV 图像也是错误的。

    你有任何建议,如何解决这个问题?

    BR。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    我查看了您提供的捕获图像、但发现 GST 文件接收器保存的图像是空白图像。 您能否仔细检查 GST 文件接收器是否能为您提供正确的捕获结果?

    另外,我注意到你的 GST 管道与 kmssink 有 bggr12而不是 rggb12。 这应该不会导致图像撕裂问题、但您为什么使用不同的格式?

    最后、您能否共享"media-ctl -p"输出?

    谢谢你。

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    感谢您的澄清!

    当我们找到发生图像撕裂的位置时、我们使用调优工具保存原始图像和 YUV 图像。 保存的结果和显示的结果相同、两者都显示撕裂现象。  [/报价]

    我之前没有看到类似的问题。
    这似乎表明 VISS 的输入缓冲器已经错误。

    [引述 userid="561731" url="~/support/processors-group/processors/f/processors-forum/1499324/am62a7-about-the-vpac-s-inability-to-correctly-parse-cam-raw-images/5767142 #5767142"]

    你有任何建议,如何解决这个问题?

    [/报价]

    我不熟悉 gstreamer、无法提供任何建议。
    3MP (45fps)仅为135MP/s、应适用于采集和 VISS。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    由 GST 文件链接保存的原始映像包含10个 RAW,您需要正确解释它才能看到它。 例如、使用7yuv 播放器。

    我尝试了各种图案、但这并不影响图像撕裂的最终结果。

    这是"media-ctl -p"的日志

     media-ctl -p
    Media controller API version 6.1.80
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.1.80
    
    Device topology
    - entity 1: 30102000.ticsi2rx (7 pads, 7 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SBGGR12_1X12/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SBGGR12_1X12/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: Source
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: Source
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: Source
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
            pad5: Source
                    -> "30102000.ticsi2rx context 4":0 [ENABLED,IMMUTABLE]
            pad6: Source
                    -> "30102000.ticsi2rx context 5":0 [ENABLED,IMMUTABLE]
    
    - entity 9: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: Sink
                    [stream:0 fmt:SBGGR12_1X12/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    <- "imx623 2-001a":0 [ENABLED,IMMUTABLE]
            pad1: Source
                    [stream:0 fmt:SBGGR12_1X12/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: Source
            pad3: Source
            pad4: Source
    
    - entity 15: imx623 2-001a (1 pad, 1 link, 0 route)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: Source
                    [stream:0 fmt:SBGGR12_1X12/1920x1536 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 21: 30102000.ticsi2rx context 0 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: Sink
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 27: 30102000.ticsi2rx context 1 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video4
            pad0: Sink
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 33: 30102000.ticsi2rx context 2 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video5
            pad0: Sink
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 39: 30102000.ticsi2rx context 3 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video6
            pad0: Sink
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    - entity 45: 30102000.ticsi2rx context 4 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video7
            pad0: Sink
                    <- "30102000.ticsi2rx":5 [ENABLED,IMMUTABLE]
    
    - entity 51: 30102000.ticsi2rx context 5 (1 pad, 1 link, 0 route)
                 type Node subtype V4L flags 0
                 device node name /dev/video8
            pad0: Sink
                    <- "30102000.ticsi2rx":6 [ENABLED,IMMUTABLE]

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    您可以在没有 DMABuf 导入的情况下尝试吗

    gst_debug=tiovxisp:5 \
    gst-launch-1.0 \
    v4l2src device=/dev/video3! \
    视频/x-Bayer、宽度=1920、高度=1536、格式=bggr12、帧速率=45/1! \
    队列泄漏=2! \
    tiovxisp sensor-name=SENSOR_SONY_IMX623 \
    dcc-isp-file=/opt/imaging/imx623/wdr/dcc_viss.bin \
    SINK_0::dcc_2a_file=/opt/imaging/imx623/wdr/dcc_2a.bin SINK_0::器件=/dev/v4l-subdev2 format-MSB=11 \
    sink_0::pool-size=2 src ::pool-size=2! \
    队列泄漏=2! \
    video/x-raw、格式=NV12、宽度=1920、高度=1536、帧速率=45/1! 队列泄漏=2! \
    kmssink driver-name=tidss

    这将有助于解决导致问题的 root 用户问题

    此致
    Rahul T r

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    我使用您提供的 GST 流水线进行了测试、除了帧速率降低之外、图像撕裂问题仍然存在。

    附件是我使用 yavta 和 DCC 调优工具保存的图像。

    此致、

    e2e.ti.com/.../7268.image.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    有什么建议吗?

    BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    此问题是否仅发生在显示器上?
    您是否尝试过使用 ISP 管道的文件链接

    gst_debug=tiovxisp:5 \
    gst-launch-1.0 \
    v4l2src device=/dev/video3 io-mode=5 num-buffers=5! \
    视频/x-Bayer、宽度=1920、高度=1536、格式=bggr12、帧速率=45/1! \
    队列泄漏=2! \
    tiovxisp sensor-name=SENSOR_SONY_IMX623 \
    dcc-isp-file=/opt/imaging/imx623/wdr/dcc_viss.bin \
    SINK_0::dcc_2a_file=/opt/imaging/imx623/wdr/dcc_2a.bin SINK_0::器件=/dev/v4l-subdev2 format-MSB=11 \
    sink_0::pool-size=2 src ::pool-size=2! \
    队列泄漏=2! \
    video/x-raw、格式=NV12、宽度=1920、高度=1536、帧速率=45/1! 队列泄漏=2! \
    multifilesink location=dump.nv12

    如果这样做有效、则显示端存在一些问题(可能需要使用 tiovxmultiscaler 将图像缩放到1920x1080)

    此致
    Rahul T r

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Rahul Ravikumar、这与显示屏无关。 DCC 调优工具捕获的原始图像已经存在问题。

    Ding、

    这个问题很奇怪。 使用文件链接的 gstreamer 捕获的原始图像和 DCC 调优工具捕获的原始图像应来自同一图像缓冲区。 这不是 CSI Rx 驱动器输出和 VPAC 输入之间的数据操作。 这只是从 v4l2src 传递到 tiovxisp 的缓冲区指针。  

    这也是令人费解的是,有没有问题与30fps 但有问题与45fps。 您尝试了60fps 吗?

    谢谢、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    目前、我们尚未尝试过;将来我们将尝试60fps 设置。

    BR、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ding:

    传感器配置是否从30fps 更改为45fps?

    谢谢、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    虽然帧速率从30fps 更改为45fps、但分辨率也从1936x1552更改为1920x1536。

    此致、