Gstreamer videocrop infect framerate issue

Hi all:

My hardware platform is Jetson AGX XAVIER. My video source is 3840x2160 UYVY 60pfs. I want to play the left side of the video on screen, But when I crop the video to 1920x2160, I find the realtime framerate is about 49fps not 60fps.

My pipeline is:

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=3840,hight=2160,format=UYVY,framerate=60/1' ! videocrop right=1920 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=RGBA' ! fpsdisplaysink video-sink="nvoverlaysink" display-id=1 sync=0 overlay-h=1080 overlay-w=1920" text-overlay=0 sync=0 -v

Futhermore, it can play 60fps realtime framerate when I crop the video to 1920x1080. The pipeline is:

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=3840,hight=2160,format=UYVY,framerate=60/1' ! videocrop right=1920 bottom=1080 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=RGBA' ! fpsdisplaysink video-sink="nvoverlaysink" display-id=1 sync=0 overlay-h=1080 overlay-w=1920" text-overlay=0 sync=0 -v

Hope anyone can tell me what infect the framerate in this case.

Thanks,
Ernan

Hi @xiangernan , Could you have a try with the fakesink? Thanks

fpsdisplaysink video-sink=fakesink

Yes. The framerate is the same in both case when use fakesink.

Because I am using a custom carrier board, is that possible that the problem has some relation to the HDMI to CSI chip or driver?
My 4K video source is the HDMI output of a jetson nano board. Does it matter?

Hi, @xiangernan .It’s might be the reason. The transmission mode can affect the fps of the video.
Also the 1920x2160 video has more data than 1920x1080, it need more time to process.
You can try the following to have a test:
1.What’s the fps if you don’t use videocrop to play the source?
2.You can remove some plugin to check which plugin affects the fps.

I find that nvvidcon makes the framerate decrease. When I run gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=3840,hight=2160,format=UYVY,framerate=60/1' ! nvvidconv ! fpsdisplaysink video-sink=fakesink text-overlay=0 sync=0 -v The framerate is only 9fps. And I see the only effect of the nvvidconv is change the video/x-raw to video/x-raw(memory:NVMM). If I remove the nvvdiconv, the framerate is 60fps.
I don’t quite understand what NVMM is, can you give me advice to accelerate the nvvidconv and some information about NVMM? Thanks!

Hi @xiangernan , you can refer the following to know about NVMM. The video can process fater with NVMM.Otherwise your env will use CPU to process data which is very slow.
https://forums.developer.nvidia.com/t/what-is-the-meaning-of-memory-nvmm/180522

There is no update from you for a period, assuming this is not an issue anymore.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.