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.

AM4378: EVM camera streaming issue

Part Number: AM4378

I have AM4378 Evaluation board(www.ti.com/.../tmdxsk437x). Built images using yocto by following http://processors.wiki.ti.com/index.php/Processor_SDK_Building_The_SDK#Build_Steps.


When I tried to stream data using gstreamer using following command, it failed with the error "WARNING: erroneous pipeline: could not link v4l2src0 to fbdevsink0".

#gst-launch-1.0 v4l2src ! video/x-raw, format=uyvu, width=1280, height=720 ! fbdevsink device=/dev/fb0
WARNING: erroneous pipeline: could not link v4l2src0 to fbdevsink0

But the following command using "videotestsrc" is working fine.

#gst-launch-1.0 videotestsrc ! video/x-raw, width=1280, height=720 ! fbdevsink device=/dev/fb0
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

As per the device tree source, camera module is on I2C1 and address is 0x30. When I tried with i2cdetect it is showing UU for address 0x30. Why it is showing as UU for camera, anyone faced this issue.



root@am437x-evm:~# i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- UU -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: UU -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --                         
root@am437x-evm:~#



As per the schematics GPIO line is connected to powerdown line of camera. Before checking with powerdown line thought of checking the gstreamer pipeline used for streaming is proper and anyone has faced the similar issue on AM4378 Evaluation board?

I have also tried with camera GUI application available in the sdk(screen shot attached), but it is also showing blank screen when select capture button.

  • Hi,

    Is this the camera that comes with the EVM? Have you tried with the Processor SDK: software-dl.ti.com/.../index_FDS.html
  • Yes, it came with the Evm. As per the schematic (www.ti.com/.../sprr202.pdf - sheet 12) the component is ov2659.
  • Have you tried with the Processor SDK: software-dl.ti.com/.../index_FDS.html There is an SD card image available on this page.

  • I have tried with the prebuilt images from software-dl.ti.com/.../am437x-evm-linux-sdk-bin-03.02.00.05.tar.xz. I am getting the same error for gstreamer pipeline command for camera.

    Note: I have killed weston before running the gstreamer pipeline commands(earlier also), otherwise we can't see color bars when we run gstreamer pipeline command with videotestsrc.
  • Hello,

    Ravi K said:

    #gst-launch-1.0 v4l2src ! video/x-raw, format=uyvu, width=1280, height=720 ! fbdevsink device=/dev/fb0
    WARNING: erroneous pipeline: could not link v4l2src0 to fbdevsink0

    But the following command using "videotestsrc" is working fine.

    #gst-launch-1.0 videotestsrc ! video/x-raw, width=1280, height=720 ! fbdevsink device=/dev/fb0
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    Could you try same pipeline for capture but remove format in the caps filter?

    You could try to add  videoconvert element ?

    You could add -v --gst-debug=3 to the pipeline also.

    BR
    Margarita

  • When I tried without format then it is giving negotiation error "streaming task paused, reason not-negotiated (-4)". With videoconvert element it is giving linking error "could not link v4l2src0 to videoconvert0".

    I could see in the boot logs that GPIO pwrdn lookup failed for the camera module.

    [ 10.332601] of_get_named_gpiod_flags: can't parse 'pwrdn-gpios' property of node '/ocp/i2c@4802a000/ov2659@30[0]'
    [ 10.332611] of_get_named_gpiod_flags: can't parse 'pwrdn-gpio' property of node '/ocp/i2c@4802a000/ov2659@30[0]'
    [ 10.332619] ov2659 1-0030: using lookup tables for GPIO lookup
    [ 10.332628] ov2659 1-0030: lookup for GPIO pwrdn failed
  • I have captured the camera data in to a file using gstreamer pipeline as shown below and played in Ubuntu 12.04 PC using gstreamer, but it is giving blank screen.


    #gst-launch-1.0 -v --gst-debug=3 v4l2src device=/dev/video0 ! filesink location=test.yuv

    Setting pipeline to PAUSED ...

    Pipeline is live and does not need PREROLL ...

    Setting pipeline to PLAYING ...

    New clock: GstSystemClock

    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)1600\,\ height\

    =\(int\)1200\,\ pixel-aspect-ratio\=\(fraction\)11/10\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)1:4:7:1\,\ f

    ramerate\=\(fraction\)100/1"

    /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = "video/x-raw\,\ format\=\(string\)YUY2\,\ width\=\(int\)1600\,\ heig

    ht\=\(int\)1200\,\ pixel-aspect-ratio\=\(fraction\)11/10\,\ interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)1:4:7:1\,

    \ framerate\=\(fraction\)100/1"

    0:00:00.423905417   895   0x13f550 WARN    

    0m       v4l2bufferpool gstv4l2bufferpool.c:749:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src> Uncertain or not enough buffers, enabling copy threshold


    Played the captured file in Ubuntu12.04 PC using the following command, but it is giving balnk screen.


    #gst-launch-0.10 filesrc location=test.yuv ! videoparse width=1600 height=1200 framerate=24/1 format=yuy2 ! autovideoconvert ! autovideosink


    Anyone verified camera on AM4378 Evaluation board? Can you share the steps to verify camera.