imx6 capture via ADV7280

Fabio Estevam festevam at gmail.com
Wed Nov 25 20:47:50 UTC 2020


Hi,

I am running 5.10.0-rc5-next-20201125 (same behavior is seen on
5.4.76) on a imx6dl board with an ADV7280:

# media-ctl -l "'adv7180 0-0020':0 -> 'ipu1_csi1_mux':4[1]";
# media-ctl -l "'ipu1_csi1_mux':5 -> 'ipu1_csi1':0[1]"
# media-ctl -l "'ipu1_csi1':2 -> 'ipu1_csi1 capture':0[1]"
# media-ctl -V "'adv7180 0-0020':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
# media-ctl -V "'ipu1_csi1_mux':5 [fmt:UYVY2X8/720x480]"
# media-ctl -V "'ipu1_csi1':2 [fmt:AYUV32/720x480]"
# v4l2-ctl -d3 --set-fmt-video=field=interlaced_bt

Then I start the stream:
v4l2-ctl --stream-mmap -d /dev/video3
[   22.792049] ipu1_csi1: EOF timeout
VIDIOC_DQBUF: failed: Input/output error

It always fails for the first time.

Then I try to start the stream once again:

# v4l2-ctl --stream-mmap -d /dev/video3
[   28.430420] ipu1_csi1: NFB4EOF
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.75 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.77 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.78 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.77 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.78 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.77 fps
....

Does anyone have an idea as to why it fails when trying to stream for
the first time?

Next, I would like to run the following Gstreamer pipeline (GStreamer 1.18.1):

# gst-launch-1.0 v4l2src device=/dev/video3 ! kmssink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device
'/dev/video3' does not support progressive interlacing
Additional debug info:
../sys/v4l2/gstv4l2object.c(4012): gst_v4l2_object_set_format_full ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Device wants interleaved interlacing
Execution ended after 0:00:00.014920000
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Freeing pipeline ...

Any ideas on how to display the video captured to the display?

Thanks,

Fabio Estevam


More information about the gstreamer-devel mailing list