imx6 capture via ADV7280

Nicolas Dufresne nicolas at ndufresne.ca
Thu Nov 26 18:25:54 UTC 2020


Le mercredi 25 novembre 2020 à 17:47 -0300, Fabio Estevam a écrit :
> 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

I support kmssink ask for progressive frames, while v4l2src can only produce
interlaced. There is likely something to improve there, but meanwhile, consider
usign deinterlace element.

> 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