I've looked at the Processor Training:Multimedia page (http : //processors.wiki.ti.com/index.php/Processor_Training:_Multimedia#Gstreamer_Pipelines_for_Multimedia)
but do not see a suitable gstreamer pipeline for my case.
Previous to gstreamer, we used VIP to capture Top/Bottom fields (240/288 lines) from an NTSC/PAL video device, and queued those fields/buffers into a VPE to get full frames (480/576 lines). And in addition to NTSC/PAL, we also have 1080i and 720i HD video devices with similar field to frame processing needed.
Under gstreamer, I am trying to use v4l2src, but do not see a way to properly describe the above pipeline. I believe the difficulty is with trying to describe the fact that the v4l2src is supplying only top/bottom fields and or that VPE should be combining them into frames.
The closest I can get with the capture is:
gst-launch-1.0 -v v4l2src device=/dev/video2 io-mode=4 ! kmssink or
gst-launch-1.0 -v v4l2src device=/dev/video2 io-mode=4 ! vpe ! kmssink
but these show 576 lines on the display, where only the top 240 (NTSC source) are from the video capture - the bottom is all green.
I have also tried adding various forms of 'video/x-raw, format=YUY2, width=720, height=576' to the pipeline but if height is not 480 or 576, I get:
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
../../../../gstreamer-1.8.3/libs/gst/base/gstbasesrc.c(2948): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
My version of gstreamer is
gst-launch-1.0 version 1.8.3
GStreamer 1.8.3
Linux 4.4.84
Is that the correct version for current TI support?