I am testing different frame rates on a custom MIPI CSI-2 camera with a Jetson Orin Nano Developer Kit running Jetson Linux R36.3.0. gst-launch-1.0 only fails when I push the frame rate to 180 fps (terminal log attached) while v4l2-ctl still works under the same configuration. What can be the issue here?
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2616 x 1964 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 980 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 652 FR = 90.000001 fps Duration = 11111111 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 484 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 388 FR = 150.000015 fps Duration = 6666666 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 324 FR = 180.000018 fps Duration = 5555555 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 5
Output Stream W = 2616 H = 324
seconds to Run = 0
Frame Rate = 180.000018
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:732 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:243 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:04.006995161
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Freeing pipeline ...
Boosting the clocks didn’t help, which makes sense to me since the bit rate across different modes is consistent.
Whenever I try to run nvargus-daemon and gst-launch-1.0 side by side, I always receive a segmentation fault from both even from modes that are previously working. Any help on this end is appreciated!
sudo service nvargus-daemon stop
sudo su
export enableCamPclLogs=5
export enableCamScfLogs=5
/usr/sbin/nvargus-daemon
===gst-launch-1.0[4148]: CameraProvider initialized (0xffff8ca02cf0)(Autocontrol) Error BadParameter: NvIspAeSetUpLac1Settings: effective image region [2616x68] is too small (in src/algorithms/ae/ae_metering.cpp, function NvIsAeSetUpLac1Settings(), line 729)
Is it possible to disable auto exposure in the user space? In addtion, I have verified that the image sensor functions properly under this mode using v4l2-ctl.
I arrived at the conclusion that v4l2src only supports byte-aligned format, which makes it useless in this situation. My goal is to capture and save RAW10 monochrome frames from the MIPI CSI-2 camera. I tried using v4l2-ctl since its single capture works perfectly, but it seems to drop frames in continuous capture due to data storing overhead. How do I resolve this issue and what other options do I have?