We are having a problem capturing 1080p60 video w/JetPack 6.1 on our custom board. We can capture 720p60 with no issues. We were able to capture 1080p60 with the same hardware runing JetPack 5.1.2.
The other thing to note, when we run the capture command, the seq runs fast by the screen. We don’t see the 2500ms wait you’d get when no signal is present (or incomplete frame). The ts (delta) is 16.683ms which is correct for 60p signal frame rate. So it seems like it is getting something from the CSI lanes, but we aren’t getting the normal notify lines in the trace to tell us what it doesn’t like.
Sorry I didn’t notice the SOF/EOF from the trace.
Looks like there’s no problem for the capturing. Could you try by v4l2src to check if able get the preview.
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Signal lost
Additional debug info:
../sys/v4l2/gstv4l2src.c(556): gst_v4l2src_query_preferred_size (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
No input source was detected - video frames invalid
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, framerate=(fraction)60/1, width=(int)1920, height=(int)1080, format=(string)UYVY, interlace-mode=(string)progressive, colorimetry=(string)2:3:5:4
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, framerate=(fraction)60/1, width=(int)1920, height=(int)1080, format=(string)UYVY, interlace-mode=(string)progressive, colorimetry=(string)2:3:5:4
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, framerate=(fraction)60/1, width=(int)1920, height=(int)1080, format=(string)UYVY, interlace-mode=(string)progressive, colorimetry=(string)2:3:5:4
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, framerate=(fraction)60/1, width=(int)1920, height=(int)1080, format=(string)UYVY, interlace-mode=(string)progressive, colorimetry=(string)2:3:5:4
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
../sys/xvimage/xvimagesink.c(568): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:59.646976279
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 error (-5)
Freeing pipeline ...
The input only displayed in the top left corner of the screen and only had green and purples as colors. The signal was unstable and glitchy. If I increased the output fade to +20% brightness, the frame would stretch to almost the full height (but not width) of the window.
I remembered that he got 1080p60 working by setting the pll_fbd value to 176 for 1080p. Well, I dug deeper into that and what I am seeing is yes, we got one channel to work on our customer board with this, but the other is struggling to get full frames.
Looking into the user guide, this is setting the PLL at 594M x 2 which means the Orin is actually doing 1080p60 on 2 lanes and I believe there was a reason that wasn’t to be used (but I don’t exactly remember who the limiter was on that). Clearly one CSI port is struggling with this setting.
So, that mean 4 lanes is not working for us. From what @anomad has shown above, given the color shifting, and the way the CSI lanes are split, maybe we’re just not getting 4 lane recording on the Orin SoM side. If it’s missing 2 lanes, that would account for half the screen getting captured.
So again, I suspect the Orin is staying in 2 lane mode no matter what we put in the DTB, and the TC35 driver is setting the TC35 to 4 lanes when asked (based on bandwidth requirements)
Any idea of what we can check to see what the Orin itself is doing lane wise with the CSI ports?