Hi,
I am getting an interlaced PAL video source and it can be displayed but the gstreamer identifies the signal as progressive while the signal is interlaced, moreover I’m getting fake 120fps where actually there supposed to be 25fps:
gst-launch-1.0 -vvv v4l2src device=“/dev/video0” ! videoconvert ! glupload ! glimagesink
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Got context from element ‘sink’: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)“(GstGLDisplayX11)\ gldisplayx11-0”;
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement1.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)RGBA, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)RGBA, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)RGBA, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)RGBA, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement1.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive, texture-target=(string)2D
/GstPipeline:pipeline0/GstGLUploadElement:gluploadelement0.GstPad:sink: caps = video/x-raw, width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)720, height=(int)576, framerate=(fraction)120/1, format=(string)UYVY, colorimetry=(string)2:4:7:1, interlace-mode=(string)progressive
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: A lot of buffers are being dropped.
I have set in the DT timing to interlaced.
When I run the v4l2-ctl I get the half framerate:
v4l2-ctl --device /dev/video2 --set-fmt-video=width=720,height=576,pixelformat=UYVY,field=interlaced --stream-mmap --stream-count=200
<<<<<<<<<<<<<< 12.62 fps
<<<<<<<<<<<<< 12.56 fps
<<<<<<<<<<<< 12.54 fps
<<<<<<<<<<<<< 12.53 fps
<<<<<<<<<<<< 12.52 fps
<<<<<<<<<<<<< 12.52 fps
<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<<< 12.51 fps
<<<<<<<<<<<< 12.50 fps
<<<<<<<<<<<<< 12.50 fps
<<<<<<<<<<<< 12.50 fps
<<<<<<<<<<<
Any suggestions were might be the problem?