We have integrated an HDMI2CSI board https://blog.zhaw.ch/high-performance/category/hdmi2csi/ with the Jetson TX2. So far we have had success capturing progressive video in various digital video timings, such as 1920x1080p30/50/60, 1240x1028p60/75 etc. This has extended to modifying the EDID block and Toshiba TC358840 driver to support additional resolutions.
The issue being faced is in regard to capturing interlaced video. The following timing was added; 720x576i50, this has successfully been detected by the Toshiba TC358840 driver, as seen in the kernel logs. Attempts to display the video using a GStreamer pipeline has resulted in a correctly sized window displaying with a completely green screen. The following pipelines were attempted; (First = Green Screen, Second = Failure)
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, width=720, height=576, framerate=50/1, format=UYVY' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=720, height=576, framerate=50/1, format=I420' ! nvoverlaysink sync=false
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, width=720, height=576, framerate=50/1, format=UYVY, iterlace-mode=interleaved' ! queue ! deinterlace ! nvvidconv ! 'video/x-raw(memory:NVMM), width=720, height=576, framerate=50/1, format=I420, interlace-mode=progressive' ! nvoverlaysink sync=false -e -vvv
It’s also worth noting that under the first GStreamer pipeline, the following error message was seen in the kernel logs;
tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
I believe this is due to the GStreamer pipeline expecting a full progressive frame and only receiving half of the data from the interlaced source. (correct me if I’m wrong).
I have read through a few posts which state that interlaced video can be captured but displaying isn’t supported in L4T 28.1. However, one post stated that interlaced displaying was supported in an earlier L4T revision: 24.2.1. Here are the posts i’m referring to;
My key questions are;
- Is it still the case that displaying interlaced video is NOT supported in L4T 28.1?
- If displaying interlaced video was supported in L4T 24.2.1, then why was it removed?
- What drivers require modification in order to support interlaced video in L4T 28.1?
Any help would be appreciated!