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:AM57x USB 摄像头 VPE 错误

Guru**** 2933120 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668287/linux-am57x-usb-camera-vpe-error

主题中讨论的其他器件:AM5728

工具/软件:Linux

大家好:

硬件版本:am5728、Logitech USB 网络摄像头270、带1080的 HDMI 显示器

软件版本: TI-processor-sdk-linux-am57xx-evm-03.01.00.06

从 NFS 引导、内核从 SDK 3.01构建(使用此主题的补丁 e2e.ti.com/.../2023362

DTS 使用 beagle-x15

运行 GST 命令:

gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720'! 排队!  VPE! 排队! kmsink

从 dmesg 日志:

[735.664284]连续块太小4096/1843200 b
[903.616336]连续块太小4096/1843200 b
[1003.872194]连续块太小4096/1843200 b

GST 日志:

0:00:03.986349826 1187 0x143ec0调试 v4l2allocator gstv4l2allocator.c:1310:gst_v4l2_allocator_dqbuf: 即使已成功取消队列,驱动程序优先缓冲区也会排队
0:00:03.986413429 1187 0x143ec0调试 v4l2bufferpool gstv4l2bufferpool.c:1704:gst_v4l2_buffer_pool_process: 处理缓冲区 bb449fectb4
0:00:03.986486792 1187 0x143ec0调试 v4l2src gstv4l2src.c:774:gst_v4l2src_create: TS:0:16:41.711131000现在0:16:43.851901055延迟0:00:02.140770055
0:00:03.986549581 1187 0x143ec0信息 v4l2src gstv4l2src.c:810:gst_v4l2src_create: 同步到0:00:00.1333333 OUT ts 0:00:01.498335565
0:00:03.986711760 1187 0x143ec0调试 v4l2bufferpool gstv4l2bufferpool.c:1301:gst_v4l2_buffer_pool_Acquise_buffer: 采集
0:00:04.004511072 1187 0x143ef0调试 v4l2bufferpool gstv4l2bufferpool.c:1379:gst_v4l2_buffer_pool_release_buffer: 释放缓冲区0x179850
0:00:04.145967956 1187 0x143ec0调试 v4l2allocator gstv4l2allocator.c:1310:gst_v4l2_allocator_dqbuf: 即使已成功取消队列,驱动程序优先缓冲区也会排队
0:00:04.146038554 1187 0x143ec0调试 v4l2bufferpool gstv4l2bufferpool.c:1704:gst_v4l2_buffer_pool_process: 处理缓冲区 bb449fectb4
0:00:04.146095650 1187 0x143ec0调试 v4l2src gstv4l2src.c:774:gst_v4l2src_create: TS:0:16:43.851720000现在0:16:44.011511214延迟0:00:00.159791214
0:00:04.146149330 1187 0x143ec0信息 v4l2src gstv4l2src.c:810:gst_v4l2src_create: 同步到0:00:00.2666666输出 ts 0:00:03.638925216
0:00:04.146230988 1187 0x143ec0调试 v4l2bufferpool gstv4l2bufferpool.c:1379:gst_v4l2_buffer_pool_release_buffer: 释放缓冲区0x1798f0
错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
其他调试信息:
./../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c (2943):gst_base_src_loop ():/GstPipeline:流水线0/GstV4l2Src:v4l2src0:
流任务暂停、原因错误(-5)
0:00:04.147025127 1187 0x143440调试 v4l2bufferpool gstv4l2bufferpool.c:926:GST_v4l2_buffer_pool_flush_start: 开始冲洗
0:00:04.164697396 1187 0x143440调试 v4l2bufferpool gstv4l2bufferpool.c:874:gst_v4l2_buffer_pool_stop: 正在停止池
0:00:04.176815087 1187 0x143440调试 v4l2bufferpool gstv4l2bufferpool.c:658:GST_v4l2_buffer_pool_streamoff: 停止流式传输
0:00:04.177013540 1187 0x143440调试 v4l2allocator gstv4l2allocator.c:757:GST_v4l2_allocator_stop: 停止分配器
0:00:04.177766362 1187 0x143440调试 v4l2 gstv4l2object.c:3545:gst_v4l2_object_stop: 停止
0:00:04.177894218 1187 0x143440调试 v4l2 gstv4l2object.c:3553:gst_v4l2_object_stop: 停用池
0:00:04.178691935 1187 0x143440调试 v4l2 v4l2_calls.c:710:gst_v4l2_close: 正在尝试关闭/dev/video1
0:00:04.178933983 1187 0x143440调试 v4l2 v4l2_calls.c:459:GST_v4l2_empty_lists: 删除枚举

运行命令 capturrevpedisplay:

Capturrevpedisplay 800 600 yuv 1920 1080 yuv 0 -s 32:1920x1080

输出 日志是  

VPE:/dev/video0打开成功!!!
VIP 开放成功!!!
使用1个连接器、1920x1080显示屏、多平面:1.
VIP:G_FMT (START):宽度= 800、高度= 600、4cc = YUV
VPE i/p:G_FMT:宽度= 800、高度= 600、4cc = YUV
VPE o/p:G_FMT:宽度= 1920、高度= 1080、4cc = YUV
VIP:QBUF 失败:地址错误、索引= 0

dmesg 是  

[21.219734] usbcore:注册的新接口驱动程序 uvcvideo
[21.226079] USB 视频类驱动程序(1.1.1)
[22.624684] USB 1-1:设置分辨率查询:cval->res = 384
[22.631824] usbcore:注册的新接口驱动程序 snd-usb-audio
[23.904950] PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
[30.044643] OMAP_hwmod:mu1_dsp2:_wait_target_disable 失败
[30.058195] OMAP-hwmod:mu0_dsp2:_wait_target_disable 失败
[30.074735] omap_hwmod:mu1_dsp1:_wait_target_disable 失败
[30.088879] omap_hwmod:mu0_dsp1:_wait_target_disable 失败
[75.553784] USB 1-1:使用 xhci-hcd 重置高速 USB 器件编号2
[685.040821]连续块太小4096/1843200 b
[735.664284]连续块太小4096/1843200 b
[903.616336]连续块太小4096/1843200 b
[1003.872194]连续块太小4096/1843200 b

有人会帮我解决这个问题吗? 我尝试了许多方法、但无法解决。  

非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 请在下周回答、因为相关人员现在已不在办公室。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Biser Gatchev-XID"]软件团队已收到通知。 请在下周回答、因为相关人员现在已不在办公室。

    [/报价]

    您好 Biser Gatchev-XID

    是否有人可以帮助我解决这个问题、请...

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

    请提供有关视频源提供的分辨率、格式等的更多信息。
    这是定制板还是 EVM?
    您是否验证了应用了此修补程序:
    e2e.ti.com/.../2023362
    您是否观察到最新 PSDK 存在相同的问题?
    请尝试使用 yavta 并告诉我结果(请查看下面的 wiki 页面)
    processors.wiki.ti.com/.../Linux_Core_VIP_User's_Guide

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

    是定制板。

    我的 USB 摄像头是 Logitech C270、最大分辨率为720p。

    驱动程序信息(不使用 libv4l2):
    驱动程序名称:uvcvideo
    卡类型:UVC 摄像机(046d:0825)
    总线信息:usb-xhci-hcd.1.auto-1.2
    驱动程序版本:4.4.19
    功能:0x84200001
    视频捕捉
    流式传输
    扩展 PIX 格式
    器件功能
    设备电容:0x04200001
    视频捕捉
    流式传输
    扩展 PIX 格式
    优先级:2.
    视频输入:0 (摄像机1:正常)
    格式化视频捕捉:
    宽度/高度:1280/720
    像素格式:'YUV'
    字段:无
    每行字节数:2560
    图像大小:1843200
    颜色空间:sRGB
    传输功能:默认
    YCbCr 编码:默认
    量化:默认
    标志:
    裁剪功能视频捕捉:
    边界:左0,上0,宽度1280,高度720
    默认值:左侧0、顶部0、宽度1280、高度720
    像素宽:1/1
    选择:CROP_DEFAULT、LEFT 0、TOP 0、Width 1280、Height 720
    选择:CROP_Bounds、Left 0、Top 0、Width 1280、Height 720
    流参数视频捕捉:
    功能:时间帧
    每秒帧数:5.000 (5/1)
    读取缓冲区:0
    亮度(int):最小=0最大=255步进=1默认=128值=128
    对比度(int):min=0 max=255 step=1 default=32 value=32
    饱和(int):最小=0最大=255步进=1默认=32值=32
    white_balance_temperature 自动(bool):默认值=1值=1
    增益(int):最小值=0最大值=255步进=1默认值=64值=1
    POWER_LINE_FREQUENCY (菜单):最小=0最大=2默认=2值=2
    white_balance_temperature (int):min=0 max=10000 step=10 default=4000 value=1070 flags=inactive
    锐度(int):最小=0最大=255步进=1默认=24值=24
    backlight_compensation (int):min=0 max=1 step=1 default=0 value=0
    Expose_auto (菜单):min=0 max=3 default=3 value=3
    exposite_absolute (int):min=1 max=10000 step=1 default=166 value=656 flags=inactive
    Exposion_auto_priority (bool):默认值=0值=1

    运行 dmabuftest 命令:

    root@am57xx-EVM:~#/etc/init.d/weston 停止
    停止 Weston
    root@am57xx-EVM:~# dmabuftest -s 32:1920x1080 -c 1280x720@YUYV -d /dev/video1
    正在打开显示屏...
    使用1个连接器、1920x1080显示屏、多平面:1.
    正在打开 V4L2..
    导出的缓冲区 FD = 6

    导出的缓冲区 FD = 8

    导出的缓冲区 FD = 10

    导出的缓冲区 FD = 12

    导出的缓冲区 FD = 14

    导出的缓冲区 FD = 16

    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    错误:v4l2_qbuf:453:VIDIOC_QBUF 失败:地址错误(-1)
    ^C
    root@am57xx-EVM:~#

    运行 yavta 命令:

    root@am57xx-EVM:~# yavta -C60 -fYUV -Fvout_800x600_yuv.yUV -s800x600 /dev/video1
    器件/dev/video1已打开。
    `usb-xhci-hcd.1.auto-1.2'上的器件`UVC 摄像头(046d:0825)'是一款视频输出(无 mPlanes)器件。
    视频格式设置:YUYV (56595559) 800x600 (STRIDE 1600)字段无缓冲区大小960000
    视频格式:YUYV (56595559) 800x600 (STRIDE 1600)字段无缓冲区大小960000
    请求8个缓冲器。
    长度:960000偏移量:0时间戳类型/源:单声道/SOE
    映射到地址 bb6cf0000的 Buffer 0/0。
    长度:960000偏移量:962560时间戳类型/源:单声道/SOE
    缓冲区1/0映射在地址0xb6c05000中。
    长度:960000偏移量:1925120时间戳类型/源:单声道/SOE
    缓冲区2/0映射在地址 b6b1a000处。
    长度:960000偏移量:2887680时间戳类型/源:单声道/SOE
    缓冲区3/0映射在地址 bb6a2f000处。
    长度:960000偏移量:3850240时间戳类型/源:单声道/SOE
    缓冲区4/0映射在地址0xb6944000。
    长度:960000偏移量:4812800时间戳类型/源:单声道/SOE
    缓冲区5/0映射在地址0xb6859000处。
    长度:960000偏移量:5775360时间戳类型/源:单声道/SOE
    地址0xb676e000处映射的缓冲区6/0。
    长度:960000偏移量:6737920时间戳类型/源:单声道/SOE
    缓冲区7/0映射在地址0xb6683000。
    0 (0)[-]无0 960000 B 420400.323247 420402.167961 257.599 fps TS 单声道/SOE
    1 (1)[-]无1 960000 B 420402.167877 420402.256366 0.542 fps ts 单声道/SOE
    2 (2)[-]无2 960000 B 420402.219548 420402.352272 19.353fps TS 单声道/SOE
    3 (3)[-]无3 960000 B 420402.295442 420402.443858 13.176 fps ts 单声道/SOE
    4 (4)[-]无4 960000 B 420402.359940 420402.536680 15.504 fps ts 单声道/SOE
    5 (5)[-]无5 960000 B 420402.427604 420402.627869 14.779 fps 单声道/SOE
    6 (6)[-]无6 960000 B 420402.495376 420402.716435 14.755 fps 单声道/SOE
    7 (7)[-]无7 960000 B 420402.559827 420402.807169 15.516 fps ts 单声道/SOE
    8 (0)[-]无8 960000 B 420402.627566 420402.899485 14.763 fps 单声道/SOE
    9 (1)[-]无9 960000 B 420402.695334 420402.992167 14.756 fps 单声道/SOE
    10 (2)[-]无10 960000 B 420402.759792 420403.082928 15.514 fps ts 单声道/SOE
    11 (3)[-]无11 960000 B 420402.827524 420403.173098 14.764 fps 单声道/SOE

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gashova:
    此外、使用 SDK 4.02、日志与 USB 补丁中的3.01相同。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是否可以运行此命令:
    gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720'! 排队! VPE num-input-buffers=8! 排队! fakesink --gst-debug=2.
    并布置输出。

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

    您好 、Margarita Gashova

    使用 SDK 4.02,作为 NFS 运行

    输出为:μ V

    root@am57xx-EVM:~#
    root@am57xx-EVM:~# uname -a
    Linux am57xx-EVM 4.9.59-ga75d8e9305 #2 SMP 挤占 Sat Dece 23 10:02:24 EST 2017 armv7l GNU/Linux
    root@am57xx-EVM:~#
    root@am57xx-EVM:~#
    root@am57xx-EVM:~# gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! 'video/x-raw、format=(string) YUY2、width=(int) 1280、height=(int) 720'! 排队! VPE num-input-buffers=8! 排队! fakesink --gst-debug=2.
    正在将管道设置为暂停...
    管道处于活动状态,不需要 PREROLL...
    正在将管道设置为正在播放...
    新时钟:GstSystemClock
    0:00:10.115138231 1728 0x1d2030 WARN VPE gstvpebufferpool.c:466:GST_VPE_buffer_pool_import:分配新的输入缓冲区索引:0/128、0
    0:00:10.135273436 1728 0x1d2030错误 VPE gstvpebufferpool.c:380:GST_VPE_buffer_pool_queue:vpebufferpool:QBUF 失败:错误地址、索引= 31
    0:00:10.135562983 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.145840262 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.156085822 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.166913566 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.177144486 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.18736900 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.197596729 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.207819516 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.218055641 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.229077772 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.239305926 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.249530828 1728 0x212430 warn bufferpool gstbufferpool.c:300:do _alloc_buffer: Alloc 功能失败
    0:00:10.250368886 1728 0x219750警告 basesrc gstbasesrc.c:2948:gst_base_src_loop: 错误:内部数据流错误。
    0:00:10.250448756 1728 0x219750警告 basesrc gstbasesrc.c:2948:gst_base_src_loop: 错误:流任务暂停、原因错误(-5)
    0:00:10.253408476 1728 0x219750警告队列 gstqueue.c:992:gst_queue_handle_sink_event: 错误:内部数据流错误。
    错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
    0:00:10.253618478 1728 0x219750警告队列 gstqueue.c:992:gst_queue_handle_sink_event: 错误:流任务暂停、原因错误(-5)
    其他调试信息:
    ./../../../gstreamer-1.8.3/libs/gst/base/gstbasesrc.c (2948):gst_base_src_loop ():/GstPipeline:流水线0/GstV4l2Src:v4l2src0:
    流任务暂停、原因错误(-5)
    执行在0:00:04.354055548之后结束
    正在将管道设置为暂停...
    正在将管道设置为就绪...
    正在将管道设置为 NULL ...
    正在释放管道...
    root@am57xx-EVM:~#

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

    您是否可以尝试在 bootargs 中增加 CMA。
    您可以在 uEnv.txt 文件中设置 CMA=64MiB、并验证电路板何时启动、此值被接受。
    您还可以查看用户指南的以下章节:
    processors.wiki.ti.com/.../Linux_Core_VIP_User's_Guide
    并共享日志文件。

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

    我假设您能够解决您的问题,因此我将关闭此主题。
    如果没有、只需在下面发布回复、如果锁定、请打开新主题。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您帮助我解决这个问题。

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

    我很高兴这个问题得到解决。
    如果您有其他疑问/问题、请打开新主题。

    BR
    玛格丽塔