I was wondering if you can support us with the camera drivers you provided us last time (imx477 that supports aspect ratio 4:3) .
for some reason although we get the desired aspect ratio , we are facing the following issue:
recording streams with frames per second higher than 20 fps , results in bad frames , some weird crops in images (black parts) .
We record resource usage but it doesnt seem to be the problem , because we still have about 30% free when the issue happens .
this only happens when we record with sensor mode(camera mode) = 2
GST_ARGUS: 4032 x 3040 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;
we get normal behaviour when we record with sensor mode=0
GST_ARGUS: 3840 x 2160 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;
this is the recording line :
gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=2 num-buffers=1000 ! ‘video/x-raw(memory:NVMM), width=(int)4032,height=(int)3040, framerate=25/1, format=NV12’ ! nvvidconv ! nvv4l2h264enc bitrate=8000000 ! h264parse ! qtmux ! filesink location=./cam_fps_test.mp4
i hope you can help us with this, since we need the extra fps desperately
This is another observation we have , maybe it can be helpful.
We started to print the difference between sensor timestamps on each iteration in our code with sensor mode 2. It turned out that for 5 fps the diff is about 138ms, which is actually ~7.24 fps, for 10 fps the diff is 69ms, which is actually ~14.49 fps, and so on. Real fps is always about x1.449. The highest fps we could reach for just 1 camera is 19 which is really 27.77. If we set higher fps the frames are being dropped and fps stands exactly the same on average (27.77). So we acquire frames faster, but once in a while argus omits some of them. The highest fps we could reach with 6 cameras is 2 (real 2.89 fps)… Over it the app wouldn’t launch (logs) or jetson would crash (logs). Meanwhile the resources are almost not utilised, because we do nothing in the loop, just acquiring and releasing frames.
and If we change camera mode to 0 everything works as expected. 20 fps is 20, 30 is 30, 23 is 23.