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.

[参考译文] DS90UB954-Q1EVM:排队的 v4l2缓冲区包含损坏的数据(1843200字节)

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1058452/ds90ub954-q1evm-dequeued-v4l2-buffer-contains-corrupted-data-1843200-bytes

器件型号:DS90UB954-Q1EVM
主题中讨论的其他器件:TCA6424

大家好、

          我们正在研发配备 AR0521摄像头的 TI DS90UB954和 TI DS90UB953 EVK。 在串行器侧、我们使用两条差分数据线连接了 ar0521摄像头。 加载的摄像头驱动程序没有任何错误(检测到摄像头 i2c 地址)并创建了/dev/video0节点。 但是、在尝试使用以下命令录制视频时、我遇到了一个错误。 请检查以下日志。

日志:

target board:~$ ffmpeg -f video4linux2 -input_format yuyv422 -framerate 30 -video_size 1280x720 -i /dev/video0 file.mkv
ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[video4linux2,v4l2 @ 0x55aed96640] The driver changed the time per frame from 1/30 to 1/100
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 0.000000, bitrate: 1474560 kb/s
    Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1280x720, 1474560 kb/s, 100 fps, 100 tbr, 1000k tbn, 1000k tbc
File 'file.mkv' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).
    Last message repeated 30 times
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).   
    Last message repeated 32 times
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).   
    Last message repeated 32 times
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).   
    Last message repeated 32 times
[video4linux2,v4l2 @ 0x55aed96640] Dequeued v4l2 buffer contains corrupted data (1843200 bytes).   
    Last message repeated 32 times
Finishing stream 0:0 without any data written to it.14:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
[libx264 @ 0x55aed9a2d0] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x55aed9a2d0] profile High 4:2:2, level 4.2, 4:2:2 8-bit
[libx264 @ 0x55aed9a2d0] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'file.mkv':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv422p, 1280x720, q=-1--1, 100 fps, 1k tbn, 100 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 Lsize=       1kB time=00:00:00.00 bitrate=N/A speed=   0x    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

请提供任何建议以解决此问题。

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

    您好!

    请问您使用的软件是什么?  如果使用 EVM、TI 提供了软件来通过 USB https://www.ti.com/tool/ALP 与 EVM 轻松通信。   

    我想更好地了解您的设置是什么以及您如何尝试使用 EVM。   

    此致、

    Nick

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

    您好!

    感谢你的答复。


    我们目前正在开发基于 NVIDIA ARM 的主板(Jetson_Xavier_NX_Devkit)。 TI DS90UB954和 TI DS90UB953 EVK 的内核版本4.9和 Linux 驱动程序来自以下链接:

    https://github.com/InES-HPMM/FPD-LinkIII_ds90ub95x

    摄像头模块为 ar0521驱动器、在目标板上没有这些解析器/解析器模块的情况下工作时、但在尝试通过解析器/解析器模块录制视频时... 出现上述错误。
    以下是通过以下链接完成的设置:

    https://blog.zhaw.ch/high-performance/2020/11/05/linux-driver-for-ti-ds90ub95x-fpd-link-iii-serializer-and-deserializer/

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

    您好!

    这些不是 TI 开发的驱动程序、因此我不确定我可以为解决与驱动程序相关的问题提供多少帮助。  如果错误与器件有关、我们可以尝试通过它来处理。  从您共享的错误消息中、它看不到您正在接收任何数据。  您能否验证您是否正在与解串器通信?

    此致、

    Nick

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

    您好!

    我可以说、我们可以通过以下点从解串器与串行器进行通信。
    ->我可以使用驱动程序寄存器配置使串行器 GPIO 变为高电平和低电平。
    ->能够检测串行器端连接的 i2c 地址
    ->能够在串行器上加载检测到的 i2c 地址(tca6424和 ar0521 camera)的内核驱动程序。
    ->tca6424 (IO 扩展器)工作正常、没有任何错误。

    谢谢、此致

    Ganesh.K

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

    您好 Ganesh、

    我不知道如何帮助、请允许我研究一下、看看我是否可以向正确的方向指示您。

    此致、

    Nick

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

    Nicholas Darash、您好!

        感谢您的支持。
        当然、如果您需要有关此方面的任何信息。 请告诉我、我可以提供所有调试信息。

    谢谢、此致
    Ganesh.K

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

    您好、Ganesh、

    请允许我留出一些时间来确定这一点。

    谢谢、

    Nick

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

    您好 Ganesh、

    我认为我无法支持此问题、因为此驱动程序似乎不是由 TI 开发的。  我建议您尝试从驱动程序的创建者处获得支持、以帮助解决与驱动程序相关的问题。

    此致、

    Nick