Vi-output process high CPU usage

Hi everyone:
when I run v4l2-ctl command :

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=UYVY --stream-mmap --stream-count=10000 --set-ctrl bypass_mode=0

or gstreamer command:

gst-launch-1.0 nvv4l2camerasrc num-buffers=3000 ! ‘video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1280, height=(int)720,framerate=(fraction)22/1’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

I get a high CPU uasge process that named vi-output ,like below :

and at the same time those two commands work fine .
I would like to know what this vi-output used for and the possible reason for this problem.
Thanks

Hi,
For CPU usage, please execute sudo tegrastats to get CPU loading of each core. It should not have much CPU usage if you use nvv4l2camerasrc plugin.

thank you for replying

here is tegrastats output , it’s the same as before

Hi,
It looks expected. You may compare with

gst-launch-1.0 v4l2src num-buffers=3000 ! ‘video/x-raw,format=(string)UYVY, width=(int)1280, height=(int)720,framerate=(fraction)22/1’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

hi,
I get an error by running the command:

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=3000 ! ‘video/x-raw,format=(string)UYVY, width=(int)1280,height=(int)720,framerate=(fraction)22/1’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

but v4l2-ctl command looks fine :

and the CPU usage still high

Hi,
Please try this:

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=3000 ! ‘video/x-raw,format=(string)UYVY, width=(int)1280,height=(int)720,framerate=(fraction)22/1’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

And check the CPU usage. Another possibility is the sensor driver is not optimized and takes significant CPU usage.

hi
the command still get the same error

but when I run command below , the CPU uasge drop to 0.3%

gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 num-buffers=3000 ! ‘video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1280, height=(int)720,framerate=(fraction)22/1’ ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

and the v4l2-ctl still get high CPU usage:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=720,pixelformat=UYVY --stream-mmap --stream-count=10000 --set-ctrl bypass_mode=0

Hi,
Maybe framerate=(fraction)22/1 is wrong. Please execute v4l2-ctl --list-formats-ext and confirm 1280x720 22fps is supported.

HI
I have change it to 22fps , but not working

but I found that a different video device has no such thing;

the same command , when I change video device to /dev/video4 ,the CPU uasge is like 0.3%.

gst-launch-1.0 nvv4l2camerasrc device=/dev/video4 num-buffers=3000 ! ‘video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1280, height=(int)720,framerate=(fraction)22/1’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=NV12’ ! fpsdisplaysink text-overlay=0 vide o-sink=fakesink sync=0 -v

and the difference between those two is they belong to different deserializer (and different csi port),;

could it be hardware or sensor driver problem ?

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

Hi,
It is very likely to be an issue in the sensor driver. Do you use the camera board from our partners? Please share more information about the camera input like vendor and model ID.