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.

[参考译文] SK-AM62A-LP:tiovxisp 无法输出 GRAY8数据

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1410150/sk-am62a-lp-tiovxisp-getting-failed-to-output-gray8-data

器件型号:SK-AM62A-LP

工具与软件:

团队成员、您好!

我们将以下 gstreamer 流水线用于 GRAY8数据。 摄像头传感器提供了单色数据,我们正尝试使用 Bayer 格式传输 ISP ,但 ISP 无法输出 GRAY8数据。

tiovxisp 中的以下 gray8输出管道失败:

gst-launch-1.0 -v v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import! video/x-bayer、width=1920、height=1200、帧速率=60/1、format=rggb! tiovxisp sink_0::device=/dev/v4l-rpi-subdev0 sensor-name="sensor_Sony_IMX219_RPI" dcc-isp-file=/opt/imaging/ar0235/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/ar0235/dcc_2a.bin format-msb=9! video/x-raw、格式=GRAY8、wid
th = 1920、高度= 1200! 链接

tiovxisp 中 NV12输出的工作流水线:

gst-launch-1.0 -v v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import! video/x-bayer、width=1920、height=1200、帧速率=60/1、format=rggb! tiovxisp sink_0::device=/dev/v4l-rpi-subdev0 sensor-name="sensor_Sony_IMX219_RPI" dcc-isp-file=/opt/imaging/ar0235/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/ar0235/dcc_2a.bin format-msb=9! video/x-raw、format=NV12、wid
th = 1920、高度= 1200! 链接

错误日志:


root@am62axx-evm:/usr/sbin
root@am62axx-evm:/usr/sbin gst-launch-1.0 -v v4l2src device=/dev/video-rpi-cam0 io-mode=dmabuf-import! video/x-bayer、width=1920、height=1200、帧速率=60/1、format=rggb! tiovxisp sink_0::device=/dev/v4l-rpi-subdev0 sensor-name="sensor_Sony_IMX219_RPI" dcc-isp-file=/opt/imaging/ar0235/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/ar0235/dcc_2a.bin format-msb=9! video/x-raw、格式=GRAY8、wid
th = 1920、高度= 1200! 链接
应用程序:初始化...!!!
内存:初始化...!!!
MEM:已初始化的 DMA 堆(FD=6)!!!
内存:初始化...完成!!!
IPC:初始化...!!!
IPC:初始化...完成!!!
remote_servic: init…!!
Remote_servic:初始化...完成!!!
8935.369247 s:GTC 频率= 200 MHz
应用程序:初始化...完成!!!
8935.369359 s:vx_zone_init:Enabled
8935.369374 s:vx_zone_error:Enabled
8935.369389 s:vx_zone_warning:Enabled
8935.370185 s:vx_zone_init:[tivxInitLocal:130]初始化已完成!!
8935.370316 s:vx_zone_init:[tivxHostInitLocal:101]主机初始化已完成!!!
正在将管道设置为暂停...
管道处于活动状态、不需要 PREROLL ...
管道是 PREROLLED ...
正在将管道设置为播放...
新时钟:GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src:cap = video/x-bayer、width=(int) 1920、height=(int) 1200、frameerate=(fractional) 60/1、format=(string) rggb、 interlace-mode=(string)progressive, colorimetry=(string)sRGB
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src:cps = video/x-bayer、width=(int) 1920、height=(int) 1200、framerate=(fractional) 60/1、format=(string) rggb、 interlace-mode=(string)progressive, colorimetry=(string)sRGB
/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0.GstTIOVXIspPad:sink_0:caps = VIDEO/x-Bayer、width=(int) 1920、height=(int) 1200、framerate=(fractional) 60/1、format=(string) rggb、 interlace-mode=(string)progressive, colorimetry=(string)sRGB
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink:caps = video/x-Bayer、width=(int) 1920、height=(int) 1200、frameate=(fractional) 60/1、format=(string) rggb、 interlace-mode=(string)progressive, colorimetry=(string)sRGB
/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0.GstTIOVXMisoPad:src:cap = video/x-raw、format=(string) GRAY8、width=(int) 1920、height=(int) 1200
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src:caps = video/x-raw、format=(string) GRAY8、width=(int) 1920、height=(int) 1200
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:caps = video/x-raw、format=(string) GRAY8、width=(int) 1920、height=(int) 1200
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink:caps = video/x-raw、format=(string) GRAY8、width=(int) 1920、height=(int) 1200
8935.749007 s:vx_zone_error:[ownReleaseReferenceInt:601]无效引用
错误:来自元素/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0:无法初始化 TIOVX 模块
其他调试信息:
../git/gst-libs/gst/tiovx/gsttiovxmiso.c (1508):gst_tiovx_miso_negotied_src_cap ():/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0
执行在0:00:00.370444909之后结束
正在将管道设置为空...
正在释放管道...
8936.051869 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1 (内部计数0)处找到类型为00000816的引用0xff9ee95350、并释放它
8936.051920 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=user_data_object_108)作为垃圾收集的一部分
8936.052065 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1 (内部计数0)处找到类型为00000816的引用0xff9ee95570、将其释放
8936.052092 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=USER_DATA_object_109)作为垃圾收集的一部分
8936.052176 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0时找到类型为00000813的引用0xff9ef352f8、并将其释放
8936.052202 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=object_array_111)作为垃圾收集的一部分
8936.052249 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1 (内部计数0)处发现类型为00000816的引用0xff9ee959b0、并将其释放
8936.052272 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=user_data_object_112)作为垃圾收集的一部分
8936.052307 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0下找到类型为00000813的引用0xff9ef35498、并将其释放
8936.052330 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=object_array_113)作为垃圾收集的一部分
8936.052364 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0下找到类型为00000817的引用0xff9eea3700、将其释放
8936.052386 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=raw_image_114)作为垃圾收集的一部分
8936.052420 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0下找到类型为00000813的引用0xff9ef35638、并将其释放
8936.052443 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=object_array_115)作为垃圾收集的一部分
8936.052478 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1 (内部计数0)处发现类型为00000816的引用0xff9ee95bd0、并将其释放
8936.052500 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=USER_DATA_object_116)作为垃圾收集的一部分
8936.052534 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0时发现类型为00000813的引用0xff9ef357d8、并将其释放
8936.052556 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=object_array_117)作为垃圾收集的一部分
8936.052590 s:vx_zone_warning:[vxReleaseContext:1144]在外部计数1、内部计数0处找到类型为0000080f 的引用0xff9eec7708、释放它
8936.052613 s:vx_zone_warning:[vxReleaseContext:1146]现在发布参考(name=image_118)作为垃圾收集的一部分
8936.052768 s:vx_zone_init:[tivxHostDeInitLocal:115]主机的取消初始化已完成!!
8936.057370 s:vx_zone_init:[tivxDeInitLocal:193]取消初始化已完成!!!
应用程序:Deinit ...!!!
Remote_service:Deinit ...!!!
Remote_servic: Deinit...完成了!!!
IPC:Deinit ...!!!
IPC: DeInit ...完成!!
内存:Deinit ...!!!
DDR_SHARED_MEM:分配:来自18823304字节的20个分配
DDR_SHARED_MEM:free's:20 free's of 18823304 bytes.
DDR_SHARED_MEM:open's:0个分配字节
MEM: Deinit ...完成!!
应用程序: Deinit ...完成!!
root@am62axx-evm:/usr/sbin
root@am62axx-evm:/usr/sbin
root@am62axx-evm:/usr/sbin




为什么 ISP 无法输出 GRAY8?  


谢谢!
Jaimin

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

    您好 Jaimin!

    GRAY8输出格式专供 ISP 进行 IR 处理。 请参考 https://github.com/TexasInstruments/edgeai-gst-plugins/blob/main/ext/tiovx/gsttiovxisp.c#L1157.I相信这就是您使用 GRAY8的管道失败的原因。

    此致、

    建中

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

    感谢建中更新。  

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

    尊敬的建中:

    ISP 接受输入视频格式为 Bayer。 因此、我们将通过 RGGB 格式在 ISP 中传递单色数据。 但是,我们无法从 ISP 获得 GRAY8数据。 是否有办法从 ISP 获取 GRAY8数据?

    如果 GRAY8数据无法从 ISP 获得,那么我们可以通过任何方式实现以下目标吗?

    此处接收到的 NV12 (YUV)数据包含所有三个分量(Y、U 和 V)中的图像信息。 但是黑白图像应该只有 Y 数据。 ISP 仅提供 Y 数据且 U/V 标记为0的原因是否存在?

    谢谢!

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

    除了以上注释外、我们还尝试从 ISP 转储 ISP 处理的 NV12映像、我们观察到 YUV 的 U 和 V 分量在所有字节中都包含0x80。 如果我们将 NV12转换为 GRAY8格式,这些 U 和 V 组件是否需要重新创建图像?

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

    尊敬的 Jaimin:

    让我来调查我们是否以及如何能够获得用于单色输入的 GRAY8输出。 如果几天内没有听到我的声音、请向我发出一声提示。

    谢谢!

    建中

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

    尊敬的建中:

    您是否有机会查看从 ISP 获取 GRAY8输出的方式?  此外、我在下面的链接中看到 的信息表明我们可以从 tiovxisp 插件获取 GRAY8和 GRAY16两个数据。

    https://github.com/TexasInstruments/edgeai-gst-plugins/wiki/tiovxisp

    但不确定为什么我们无法获得 GRAY8和 GRAY16格式的图像数据。 请告知我们。

    谢谢  

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

    尊敬的 Jamin:

    我们没有 API 只在没有 U&V 的情况下输出 Y 数据 您可以尝试使用 GST 插件"videoconverter"将 NV12转换为 GRAY8。

    此外、我在下面的链接中发现的 信息表明我们可以从 tiovxisp 插件获得 GRAY8和 GRAY16这两个数据。

    这用于 RGB-DSP IR 数据处理。

    此致、

    建中

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

    尊敬的建中:

    除了以上注释、我们试图从 ISP 转储经 ISP 处理的 NV12映像、我们观察到 YUV 的 U 和 V 组件在所有字节中都包含0x80。 如果我们将 NV12转换为 GRAY8格式、是否需要这些 U 和 V 组件来重新创建图像?

    当我们将单色输入传递给 ISP 时、U 和 V 分量中的所有数据字节都包含0x80值。 这是图像数据吗? 或者它是虚的、我们可以忽略 它们?

    这是针对 RGB-RGB IR 数据处理的。

    这是否意味着我们不能从 ISP 获取 GRAY8/GRAY16数据,同时提供单色的输入格式?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我们向 ISP 传递单色输入时、U 和 V 组件中的所有数据字节均包含0x80值。 这是图像数据吗? 或者它是虚的,我们可以忽略 它们?[/报价]

    您将 ISP 配置为处理黑白数据?  

    这是否意味着我们不能在提供单色输入格式的同时从 ISP 获取 GRAY8/GRAY16数据?[/QUOT]

    是的、GRAY8输出仅适用于 RGB-GRAY8 IR 输入。

    此致、

    建中

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

    您好 Jaimin!

    当我们向 ISP 传递单色输入时、U 和 V 组件中的所有数据字节均包含0x80值。 这是图像数据吗? 或者它是虚的,我们可以忽略 它们?[/报价]

    U 和 V 分量为0x80表示这是单色数据。 要确认、您可以捕获原始输入图像和 YUV 输出图像。 它们应该非常接近。

    要为单声道铬输入获取 GRAY8输出、SoC 可以使用、但软件尚未就绪。 我们需要更新 Gstreamer 插件 gsttiovxisp 和下划线 TIOVX。 我们目前还没有这方面的计划。 在您的应用中、我希望您只能从 YUV 输出缓冲器读取 Y 数据。

    此致、

    建中