4K 60 fps video playback is not smooth

Hi All,
I use the command below to play 4k 60fps video on Xavier NX with a 4k monitor attached.

gst-launch-1.0 filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! queue ! nvegltransform ! nveglglessink

I found that the video playback was not smooth. I played the same video on a Xavier NX L4T r32.7.2 and didn’t see the problem.
The Video can be downloaded on this site.

How to fix this issue? Any comments and suggestions will be appreciated.

Hi,
Please execute sudo nvpmodel-m 0 and sudo jetson_clocks, and set maximum performance mode to nvv4l2decoder. And check if there is improvement.

Hi DaneLLL,
No significant difference was observed after executed these two command.

pcp@pcp-desktop:~$ sudo nvpmodel -m 0
pcp@pcp-desktop:~$ sudo jetson_clocks
pcp@pcp-desktop:~$ sudo nvpmodel -q
NV Power Mode: MODE_15W_2CORE
0
pcp@pcp-desktop:~$ sudo jetson_clocks --show
SOC family:tegra194  Machine:NVIDIA Jetson Xavier NX Developer Kit
Online CPUs: 0-1
cpu0: Online=1 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
cpu1: Online=1 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
cpu2: Online=0 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
cpu3: Online=0 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
cpu4: Online=0 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
cpu5: Online=0 Governor=schedutil MinFreq=1907200 MaxFreq=1907200 CurrentFreq=1907200 IdleStates: C1=0 c6=0
GPU MinFreq=1109250000 MaxFreq=1109250000 CurrentFreq=1109250000
EMC MinFreq=204000000 MaxFreq=1600000000 CurrentFreq=1600000000 FreqOverride=1
DLA0_CORE MinFreq=0 MaxFreq=1100800000 CurrentFreq=1100800000
DLA0_FALCON MinFreq=0 MaxFreq=640000000 CurrentFreq=640000000
DLA1_CORE MinFreq=0 MaxFreq=1100800000 CurrentFreq=1100800000
DLA1_FALCON MinFreq=0 MaxFreq=640000000 CurrentFreq=640000000
PVA0_VPS0 MinFreq=0 MaxFreq=819200000 CurrentFreq=819200000
PVA0_VPS1 MinFreq=0 MaxFreq=819200000 CurrentFreq=819200000
PVA0_AXI MinFreq=0 MaxFreq=601600000 CurrentFreq=601600000
PVA1_VPS0 MinFreq=0 MaxFreq=819200000 CurrentFreq=819200000
PVA1_VPS1 MinFreq=0 MaxFreq=819200000 CurrentFreq=819200000
PVA1_AXI MinFreq=0 MaxFreq=601600000 CurrentFreq=601600000
CVNAS MinFreq=0 MaxFreq=576000000 CurrentFreq=576000000
FAN Dynamic Speed control=active hwmon2_pwm=160
NV Power Mode: MODE_15W_2CORE

Hi,
You mention there is no problem on r32.7.2(Jetpack 4.6.2). Which version do you observe the issue?

Hi DaneLLL,
It is r35.1.0.

Hi,
Could you try the commands and share the fps prints for reference:

$ gst-launch-1.0 -v filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! queue ! nvegltransform ! fpsdisplaysink text-overlay=0 video-sink=nveglglessink
$ gst-launch-1.0 -v filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! queue ! nvegltransform ! fpsdisplaysink text-overlay=0 video-sink=nveglglessink sync=0
$ gst-launch-1.0 -v filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! queue ! fpsdisplaysink text-overlay=0 video-sink=fakesink

Hi DaneLLL,
Logs are attached.

r32-7-2.log (503.4 KB)
r35-1-0.log (659.8 KB)

Hi,
Please share the information:

cat /sys/class/graphics/fb0/mode

Would like to confirm the TV is in 4K 60 fps mode.

Hi DaneLLL,

pcp@pcp-desktop:~$ cat /sys/class/graphics/fb0/mode
U:1920x1080p-60

Hi,
Please downscale the source to fit the display resolution like:

$ gst-launch-1.0 filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! h264parse ! nvv4l2decoder enable-max-performance=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12,width=1920,height=1080' ! queue ! nvegltransform ! fpsdisplaysink text-overlay=0 video-sink=nveglglessink sync=false -v

And check if it can achieve target frame rate.

Hi DaneLLL,
It can achieve 60fps now.
Do I still have to let nvvidconv convert video to 1080p if Xavier NX connects with 4K monitor ?

Hi,
If the display mode is in 4K, it is not required to downscale the resolution.

Hi DaneLLL,
I test this with a 4k monotor. Please see the log attached.
The video is still not played smoothly if I don’t downd scale the video to 1080p. Is it a bug or limitation for L4T r35.1.0 playing 4k 60fps video? Because I don’t see this issue on L4T r32.7.1.
R35.1.0_4K_Monitor.txt (168.2 KB)

Hi,
Do you observe the issue in setting sync=0? gstreamer frameworks are upgraded and probably the synchronization mechanism doesn’t work properly.

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