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/DRA72XEVM:在某些 VIP 端口上显示"dmabuftest NV12 CAN't "

Guru**** 2979390 points

Other Parts Discussed in Thread: DRA725

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/659199/linux-dra72xevm-dmabuftest-nv12-can-t-show-on-some-vip-port

器件型号:DRA72XEVM
主题中讨论的其他器件:DRA725

工具/软件:Linux

您好:

BSP:GLSDK 7 03 00 03

J6Eco Dra725板、并连接了4个摄像头。

     我按如下方式测试 dmabuftest:

dmesg | grep vip

[0.558462] VIP 48970000.VIP:正在加载固件 vpdma-1b8.bin
[0.575063] VIP 48970000.VIP:已加载 VPDMA 固件
[0.575147] vip1-s0:使用 subdev ov1063x 11-0030进行捕获
[0.575683] vip1-s0:VIP Device 注册为/dev/video1
[0.575746] vip1-s1:使用 subdev ov1063x 13-0030进行捕获
[0.576023] vip1-s1:注册为/dev/video2的 VIP 器件
[0.576081] vip1-s0:使用 subdev ov1063x 12-0030进行捕获
[0.576356] vip1-s0:注册为/dev/video3的 VIP 设备
[0.576414] vip1-s1:使用 subdev ov1063x 14-0030进行捕获
[0.576680] vip1-s1:VIP 器件注册为/dev/video4

dmabuftest -s 4:1920x1080 -d /dev/video1 -c 1280x720@NV12            //ok
dmabuftest -s 4:1920x1080 -d /dev/video2 -c 1280x720@NV12             //ok
dmabuftest -s 4:1920x1080 -d /dev/video3 -c 1280x720@NV12             //无法显示任何内容,屏幕为黑色。
dmabuftest -s 4:1920x1080 -d /dev/video3 -c 1280x720@YUYV             //ok
dmabuftest -s 4:1920x1080 -d /dev/video4 -c 1280x720@NV12             //无法显示任何内容, 屏幕为黑色。
dmabuftest -s 4:1920x1080 -d /dev/video4 -c 1280x720@YUYV             //ok

不是错误?

谢谢。

Kevin

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

    当测试失败时、您是否在内核日志中看到任何错误?
    (您可以尝试使用以下命令启用更多日志: processors.wiki.ti.com/.../Linux_Core_VIP_User's_Guide

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!
    我们尝试通过此命令启用更多日志、并测试/dev/video3、但未成功、如下所示:

    root@dra7xx-EVM:~# echo 3 >/sys/class/video4linux/video3/debug
    root@dra7xx-EVM:~# echo 3 >/sys/module/videobuf2_core/parameters/debug
    root@dra7xx-EVM:~# echo 3 >/sys/module/ti_vip/parameters/debug
    root@dra7xx-EVM:~# dmabuftest -s 4:1280x720 -d /dev/video3 -c 1280x720@NV12
    正在打开显示屏...
    使用1个连接器、640x480显示屏、多平面:1.
    正在打开 V4L2..
    导出的缓冲区 FD = 17

    导出的缓冲区 FD = 18

    导出的缓冲区 FD = 19

    导出的缓冲区 FD = 20

    导出的缓冲区 FD = 21

    导出的缓冲区 FD = 22

    ^C
    root@dra7xx-EVM:~# dmesg


    (笑声)
    [38.311473] vip1-s0:vIP_open
    [38.311490] vip1-s0:subdev 默认 MBUS_fmt 2008不匹配。
    [38.311544] ov1063x 12-0030:r3003 = 20、r3004 = 3
    [38.311553] ov1063x 12-0030:宽度 x 高度= 500 x 320
    [38.311561] ov1063x 12-0030:HTS x VTS = 6F6 x 380
    [38.311570] vip1-s0:vip_init_port:g_mbs_fmt subdev MBUS_code:2006 fourcc:NV24大小:1280x800
    [38.311580] vip1-s0:Calc_format_size:FourCC:NV24 size:1280x800 BPL:1280 img_size:2048000
    [38.311589] vip1-s0:init_stream fourcc:NV24 size:1280x800 BPL:1280 img_size:2048000
    [38.311596] vip1-s0:init_stream vpdma 数据类型:0x00
    [38.311604] vip1-s0:创建了流实例 d0b58800
    [38.311610]视频3:打开(0)
    [38.311634] vip1-s0:g_fmt fourcc:NV24代码:2006大小:1280x800 BPL:1280 img_size:2048000
    [38.311641] vip1-s0:g_fmt vpdma 数据类型:0x00
    [38.311648] video3:VIDIOC_G_FMT:type=vid-cap、width=1280、height=800、pixelformat=NV24、field=none、 bytesperline=1280、sizeimage=2048000、colorspace=1
    [38.311679] vip1-s0:s_fmt 输入 fourcc:NV12大小:1280x720
    [38.311687] vip1-s0:try _fmt fourcc:NV12大小:1280x720
    [38.311696] vip1-s0:Calc_format_size:FourCC:NV12 size:1280x720 BPL:1280 img_size:1382400
    [38.311703] vip1-s0:s_fmt try_fmt fcc:NV12大小:1280x720
    [38.311711] vip1-s0:s_fmt fourcc:NV12大小:1280x720 BPL:1280 img_size:1382400
    [38.311719] vip1-s0:s_fmt pix_TO_MBUS MBUS_code:2006大小:1280x720
    [38.311727] vip1-s0:s_fmt subdev try_fmt MBUS_code:2006大小:1280x720
    [38.311776] ov1063x 12-0030:r3003 = 20、r3004 = 3
    [38.311785] ov1063x 12-0030:宽度 x 高度= 500 x 2d0
    [38.311793] ov1063x 12-0030:HTS x VTS = 6F6 x 380
    [38.311801] vip1-s0:s_fmt subdev s_fmt MBUS_code:2006大小:1280x720
    [38.311807] vip1-s0:s_fmt vpdma 数据类型:0x02
    [38.311813] video3:VIDIOC_S_FMT:type=vid-cap、width=1280、height=720、pixelformat=NV12、field=none、 bytesperline=1280、sizeimage=1382400、colorspace=1
    [38.312477] vip1-s0:获取6个大小均为1382400的缓冲器。
    [38.312495] VB2:分配了6个缓冲器、每个缓冲器1个平面
    [38.312502] video3:VIDIOC_REQBUFS:count=6、type=vid-cap、memory=dmabuf
    [38.312556] video3:VIDIOC_QUERYBUF:00:00:00.00000000 index=0、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312585] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.312617] video3:VIDIOC_QUERYBUF:00:00:00.00000000 index=1、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312643] timecode=00:00:00 type=0、flags=0x00000000、帧=0、userbits=0x00000000
    [38.312674] video3:VIDIOC_QUERYBUF:00:00:00.00000000 index=2、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312700] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.312729] video3:VIDIOC_QUERYBUF:00:00:00.00000000 index=3、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312755] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.312784] video3:VIDIOC_QUERYBUF:00:00:00.00000000 index=4、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312809] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.312837] video3:VIDIoc_QUERYBUF:00:00:00.00000000 index=5、type=vid-cap、flags=0x00002000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr=0x0、length=1382400
    [38.312862] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.312891] VB2:qbuf:平面0的缓冲器已更改
    [38.315095] VB2:缓冲器0的 vb2_internal_qbuf ()成功
    [38.315105] video3:VIDIOC_QBUF:00:00:00.00000000 index=0、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x11、length=1382400
    [38.315133] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.315150] VB2:qbuf:平面0的缓冲器已更改
    [38.317191] VB2:缓冲区1的 vb2_internal_qbuf ()成功
    [38.317200] video3:VIDIOC_QBUF:00:00:00.00000000 index=1、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x12、length=1382400
    [38.317227] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.317242] VB2:qbuf:平面0的缓冲器已更改
    [38.319297] VB2:缓冲区2的 vb2_internal_qbuf ()成功
    [38.319306] video3:VIDIOC_QBUF:00:00:00.00000000 index=2、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x13、length=1382400
    [38.319333] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.319349] VB2:qbuf:平面0的缓冲器已更改
    [38.321313] VB2:缓冲区3的 vb2_internal_qbuf ()成功
    [38.321321] video3:VIDIOC_QBUF:00:00:00.00000000 index=3、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x14、length=1382400
    [38.321349] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.321364] VB2:qbuf:平面0的缓冲器已更改
    [38.323409] VB2:缓冲区4的 vb2_internal_qbuf ()成功
    [38.323417] video3:VIDIOC_QBUF:00:00:00.00000000 index=4、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x15、length=1382400
    [38.32344] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.323460] VB2:qbuf:平面0的缓冲器已更改
    [38.325491] VB2:缓冲区5的 vb2_internal_qbuf ()成功
    [38.325499] video3:VIDIOC_QBUF:00:00:00.00000000 index=5、type=vid-cap、flags=0x00002002、field=any、sequence=0、 memory=dmabuf、字节 used=1382400、offset/userptr=0x16、length=1382400
    [38.325527] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [38.325824] vip1-s0:start_streaming: buf 0xd00ed400 6.
    [38.325839] vip1-s0:start_streaming: start_dma buf 0xd00ed400
    [38.325853] VB2:Streamon 成功
    [38.325869]视频3:VIDIOC_STREAMON:type=vid-cap
    [38.325899] VB2:将休眠、等待缓冲器
    [52.947539] VB2:睡眠中断
    [52.947550] video3:VIDIOC_DQBUF:错误-512:00:00.00000000 index=0、type=vid-cap、flags=0x00000000、field=any、sequence=0、 memory=dmabuf、字节 used=0、offset/userptr =0x0、length=0
    [52.947583] timecode=00:00:00 type=0、flags=0x00000000、frames=0、userbits=0x00000000
    [52.948361] vip1-s0:vIP_release
    [52.948374] vip1-s0:清除通道编号:104
    [52.948382] vip1-s0:清除通道编号:105
    [52.948411] vip1-s0:释放流实例 d0b58800
    [52.948750] video3:发布
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Kevin:

    我已将您的问题转交给 VIP 专家。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Kevin 、我认为这可能与为 NV12格式选择的无效 VPDMA 通道有关。 您是否看到有关清除通道104和105的调试消息 请为所有工作通道运行此操作并提供以下信息 视频设备编号(/dev/videoX)--相应的视频端口(vinXX)--正在使用的 VPDMA 通道编号 这应与 TRM 表9-30匹配。 VPDMA 渠道分配 问候 、Nikhil D
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Kevin 、我希望该建议能解决您的问题。 如果您有进一步的问题、请告诉我。 我现在将此主题标记为已解决
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将 psdk3.04.00.03移植到电路板、并测试电路板 nv12、所有通道都正常、我不知道 glsdk 中的错误在哪里。