What is the max frame rate of 1080p60 MIPI CSI2 to a window?

What is the maximum frame rate I can expect for 1080p60 on the CSI2 interface using gstreamer with output to an X window? I can only get up to about 40fps when using the following gstreamer pipeline (on our custom board):

gst-launch-1.0 -v v4l2src ! 'video/x-raw,format=UYVY' ! fpsdisplaysink video-sink=xvimagesink

It is even less (around 23fps) with the nveglglessink. If I use io-mode=3 with v4l2src I can get 60fps but I was informed that io-mode=3 is not supported on the TK1 (and the display is corrupted). That at least proves that the CSI2 interface is keeping up. The bottleneck must be happening in the gstreamer pipeline somewhere.

Hi merwin
How do you get 60fps with io-mode=3 if it’s not support?

v4l2src io-mode=3 sometimes works, but usually has some corruption, especially at smaller frame sizes.

I am not sure it’s the gstreamer framework problem or not. Could you try yavta the parameter -u set the io-mode=3

Hi merwin

Have you tried our suggestion to use yavta the parameter -u set the io-mode=3?
Any result can be shared?

Thanks

I tried yavta with the -u parameter to capture 30 frames which all looked ok. The capture rate dropped from 60 to around 10 when all 8 buffers filled and the data was written to disk. When run without the -F option to write to disk the rate stayed at 60 but I don’t know if the data is ok.

@merwin
The file write is slow enough to cause frame drop. You may need to reference to yavata to develop your APP for your use case.

I still need to display the captured frame in an X window and gstreamer is the recommended way to do this.

And my original question has not been answered yet.

@merwin
Do you mean the question as title? Does 1080p60 means sensor output is 60fps? Then the answer should be 60.
And if you insist to use gstreamer. You may need to gstreamer APP like nvgstcapture otherwise it’s better to consider using TX1 due totally better framework and multimedia API support.

The sensor is outputting at 60fps and the frames are getting to memory at 60fps but they are not getting to the screen at 60fps when using gstreamer with io-mode=2. What would be the fastest way to display the frames in a window without using gstreamer? The TK1 Multimedia User Guide only mentions gstreamer.