We are using Jetson TX2 SoM with L4T r32.4.3 kernel and developed a camera driver for CSI-2 camera which sends raw data (grayscale values, not bayer).
Some camera parameters:
MIPI CSI-2, 2 lanes, Virtual Channel 0
224x173 frame resolution, 20 FPS
12-bit Raw grayscale output (as MIPI CSI-2 RAW12 generic data)
Connected via DS90UB954-Q1 FPD-Link III deserializer to CSI-A/CSI-B ports,
using 4 data lanes and one clock lane
Capturing camera data already works reliably when using V4L2 interface, i.e.:
# v4l2-ctl -d 1 -V
Format Video Capture:
Width/Height : 224/173
Pixel Format : 'BG12' (12-bit Bayer BGBG/GRGR)
Field : None
Bytes per Line : 512
Size Image : 88576
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
# v4l2-ctl -d 1 -c bypass_mode=0 --stream-mmap --stream-count=50
<<<<<<<<<<<<<<<<<<<<< 19.93 fps
<<<<<<<<<<<<<<<<<<<< 19.93 fps
<<<<<<<<<
This camera is already detected in Argus, i.e. “argus_oneshot” example lists it as first
camera device:
# argus_oneshot -l
Executing Argus Sample: argus_oneshot
2 Available CameraDevices:
==== CameraDevice 0: =========================================
UUID: adca2c00,0f01,11e5,0000,00,00,00,00,00,00
MaxAeRegions: 64
MaxAwbRegions: 64
FocusPositionRange: [0, 0]
LensApertureRange: [2.970000, 2.970000]
IspDigitalGainRange: [1.000000, 256.000000]
ExposureCompensationRange: [-2.000000, 2.000000]
NumSensorModes: 1
SensorMode 0:
Resolution: 224x173
ExposureTimeRange: [34000, 550385000]
FrameDurationRange: [33333334, 550486208]
(1.82 to 30.00 fps)
AnalogGainRange: [1.000000, 16.000000]
InputBitDepth: 12
OutputBitDepth: 12
SensorModeType: SENSOR_MODE_TYPE_BAYER
IS WDR Mode: No
==== CameraDevice 1: =========================================
UUID: adca2c00,0f01,11e5,0001,00,00,00,00,00,00
MaxAeRegions: 64
MaxAwbRegions: 64
FocusPositionRange: [0, 0]
LensApertureRange: [2.970000, 2.970000]
IspDigitalGainRange: [1.000000, 256.000000]
ExposureCompensationRange: [-2.000000, 2.000000]
NumSensorModes: 2
SensorMode 0:
Resolution: 1280x800
ExposureTimeRange: [9000, 10000000]
FrameDurationRange: [50000000, 1000001024]
(1.00 to 20.00 fps)
AnalogGainRange: [1.000000, 15.937500]
InputBitDepth: 10
OutputBitDepth: 10
SensorModeType: SENSOR_MODE_TYPE_BAYER
IS WDR Mode: No
SensorMode 1:
Resolution: 1280x800
ExposureTimeRange: [68000, 20000000]
FrameDurationRange: [20000000, 1000001024]
(1.00 to 50.00 fps)
AnalogGainRange: [1.000000, 255.000000]
InputBitDepth: 10
OutputBitDepth: 10
SensorModeType: SENSOR_MODE_TYPE_BAYER
IS WDR Mode: No
When we try to capture the camera data via argus_oneshot or GStreamer, this does not work:
# argus_oneshot -d 0
Executing Argus Sample: argus_oneshot
Argus Version: 0.97.3 (multi-process)
Capturing from device 0 using sensor mode 0 (224x173)
Failed to create EGLOutputStream
# gst-launch-1.0 -v nvarguscamerasrc num-buffers=1 sensor-id=0 ! "video/x-raw(memory:NVMM),width=224,height=173,format=NV12,framerate=20/1" ! fakesink silent=0
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: stream-start (10254), GstEventStreamStart, stream-id=(string)862914daf18d9a0312c9a38942ed748f, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;) 0x55ad700ce0
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)224, height=(int)173, format=(string)NV12, framerate=(fraction)20/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)224, height=(int)173, format=(string)NV12, framerate=(fraction)20/1
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: caps (12814), GstEventCaps, caps=(GstCaps)"video/x-raw\(memory:NVMM\)\,\ width\=\(int\)224\,\ height\=\(int\)173\,\ format\=\(string\)NV12\,\ framerate\=\(fraction\)20/1";) 0x55ad700dc0
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)224, height=(int)173, format=(string)NV12, framerate=(fraction)20/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)224, height=(int)173, format=(string)NV12, framerate=(fraction)20/1
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: eos (28174), ) 0x55ad700e30
Got EOS from element "pipeline0".
Execution ended after 0:00:00.242772545
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Caught SIGSEGV
exec gdb failed: No such file or directory
Spinning. Please run 'gdb gst-launch-1.0 8911' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
^C
The reason seems to be that the camera frame resolutions lower than 640x400 are not supported in Argus. In nvargus-daemon logs we see following errors:
…
Worker thread CaptureDispatcher start
(Argus) Error BadParameter: Odd stream width or height not supported, requested 224x173 (in src/api/CaptureSessionImpl.cpp, function createEGLOutputStream(), line 699)
(Argus) Error BadParameter: (propagating from src/api/CaptureSessionImpl.cpp, function createOutputStreamInternal(), line 643)
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000
Below is a full log from nvargus-daemon:
# nvargus-daemon
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== argus_oneshot[7962]: Connection established (7F7DA001C0)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 12 getting next capture
Thread 12 is waiting
Starting services...
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0x7f78838660)
getInstance: s_instance(0x7f78838660)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f7883ac60)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f788401c0)
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: irs2381c_rear_m03957
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: irs10x0c 9-003d
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: ov9782d3_front_m03957
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: ov9782d3 10-0060
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: irs2381c_rear_m03957 position0
NvPclModuleListInitialize: NvPclModule list[1]: ov9782d3_front_m03957 position1
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video1 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
getHotplugMonitor: Getting hotplug monitor instance
initializeHotplug++
hotPlugfunc ++
addWatch: Watch added wd='1'
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules/module0/drivernode1; No such file or directory
OFParserGetVirtualDevice: virtual device driver node not found in proc device-tree: /proc/device-tree/tegra-virtual-camera-platform/modules/module0/drivernode1
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules/module1/drivernode0; No such file or directory
OFParserGetVirtualDevice: virtual device driver node not found in proc device-tree: /proc/device-tree/tegra-virtual-camera-platform/modules/module1/drivernode0
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
hotPlugfunc: reading from inotify FD, Thread waiting
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 0 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f787554e0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f787afe50
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78768140
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78436a20
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7875a020
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78759f90
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/irs2381c_rear_m03957.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/irs2381c_rear_m03957.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/irs2381c_rear_m03957.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/irs2381c_rear_m03957.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/irs2381c_rear_m03957.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/irs2381c_rear_m03957.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/irs2381c_rear_m03957.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/irs2381c_rear_m03957.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/irs2381c_rear_m03957.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [use_sensor_mode_id]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [mode0.dynamic_pixel_bit_depth]
OFDPropertyCopyToLongLong: could not read property [mode0.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode0.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
OFDPropertyGetString: could not read property [sensor_model]
initialize: Loaded Driver: 1 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[1]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78c3b8c0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f788837b0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78896300
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78883ad0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78895fb0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f78885d90
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/ov9782d3_front_m03957.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/ov9782d3_front_m03957.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/ov9782d3_front_m03957.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/ov9782d3_front_m03957.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/ov9782d3_front_m03957.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/ov9782d3_front_m03957.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/ov9782d3_front_m03957.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/ov9782d3_front_m03957.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/ov9782d3_front_m03957.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [mode0.gain_factor]
OFDPropertyCopyToLongLong: could not read property [mode0.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
OFDPropertyCopyToLong: could not read property [mode1.gain_factor]
OFDPropertyCopyToLongLong: could not read property [mode1.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode1.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode1.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode1.x_start]
OFDPropertyGetString: could not read property [mode1.y_start]
OFDPropertyGetString: could not read property [mode1.x_end]
OFDPropertyGetString: could not read property [mode1.y_end]
OFDPropertyGetString: could not read property [mode1.h_scaling]
OFDPropertyGetString: could not read property [mode1.v_scaling]
initialize: Loaded Driver: 2 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
=== argus_oneshot[7962]: CameraProvider initialized (0x7f78c3b950)sourceRegistry[0] assigned
ispRegistry[0] assigned
Using Source GUID 0
Worker thread ViCsiHw frameComplete start
Worker thread ViCsiHw frameStart start
NvPclPowerOn: +++++++++++
NvPclPowerOn: -----------
Using ISP A
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000
LSC: LSC surface is not based on full res!
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
No library found, disabling AC plugin.
Worker thread CaptureDispatcher start
(Argus) Error BadParameter: Odd stream width or height not supported, requested 224x173 (in src/api/CaptureSessionImpl.cpp, function createEGLOutputStream(), line 699)
(Argus) Error BadParameter: (propagating from src/api/CaptureSessionImpl.cpp, function createOutputStreamInternal(), line 643)
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000
Worker thread CaptureDispatcher stop
ViCsi capture path not initialized
Worker thread ViCsiHw frameComplete stop
Worker thread ViCsiHw frameStart stop
NvPclPowerOff: +++++++++++
NvPclPowerOff: -----------
=== argus_oneshot[7962]: CameraProvider destroyed (0x7f78c3b950)Stopping services...
Worker thread CaptureScheduler frameStart stop
Worker thread CaptureScheduler checkFramePending stop
Worker thread IspHw statsComplete stop
Worker thread IspHw frameComplete stop
Worker thread V4L2CaptureScheduler issueCaptures stop
Worker thread V4L2CaptureScheduler checkCaptureComplete stop
NvPclClose: ++++++++++++++++++++++
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78436a20
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f7875a020
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78759f90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f787554e0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f787afe50
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78768140
NvPclStateControllerClose: Module irs2381c_rear_m03957 closed
NvPclClose: ----------------------
NvPclClose: ++++++++++++++++++++++
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78883ad0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78895fb0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78885d90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78c3b8c0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f788837b0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f78896300
NvPclStateControllerClose: Module ov9782d3_front_m03957 closed
NvPclClose: ----------------------
NvPclShutdown: ++++++++++++++++++++++
NvPclModuleListShutdown: Client still conntected, skipping shutdown
NvPclShutdown: ----------------------
Worker thread PS handleRequests stop
unsubscribe: SensorType(gyroscope)
unsubscribe: gyroscope sensor(0x7f7883ac60)
unsubscribe: SensorType(accelerometer)
unsubscribe: accelerometer sensor(0x7f788401c0)
Services are stopped
closeInstance: ms_instance((nil))
NvPclRemoveHotplugCallback: ++++++++++++++++++++++
getHotplugMonitor: Getting hotplug monitor instance
shutdownHotplug: Requesting thread exit
hotPlugfunc: Read 16 bytes from inotify FD
hotPlugfunc: A File was Modified 00008000 NAME : CREATE : 00000100, DELETE : 00000200 IGNORED : 00008000 CLOSE_WRITE : 00000008
hotPlugfunc: Exit thread
hotPlugfunc: close failure error: 'Bad file descriptor' (9)
hotPlugfunc --
shutdownHotplug -- : shutdown of hotplug is complete
Removed callback client
NvPclRemoveHotplugCallback: ----------------------
FiberScheduler: shutting down; 0 fibers still in map
FiberScheduler: thread 5 exiting
FiberScheduler: thread 6 exiting
FiberScheduler: thread 4 exiting
FiberScheduler: thread 7 exiting
FiberScheduler: thread 3 exiting
FiberScheduler: thread 8 exiting
FiberScheduler: thread 9 exiting
FiberScheduler: thread 10 exiting
FiberScheduler: thread 11 exiting
FiberScheduler: thread 12 exiting
FiberScheduler: thread 2 exiting
FiberScheduler: thread 1 exiting
FiberScheduler: thread 12 has been joined
FiberScheduler: thread 11 has been joined
FiberScheduler: thread 10 has been joined
FiberScheduler: thread 9 has been joined
FiberScheduler: thread 8 has been joined
FiberScheduler: thread 6 has been joined
FiberScheduler: thread 5 has been joined
FiberScheduler: thread 4 has been joined
FiberScheduler: thread 3 has been joined
FiberScheduler: thread 7 has been joined
FiberScheduler: thread 2 has been joined
FiberScheduler: thread 1 has been joined
=== argus_oneshot[7962]: Connection closed (7F7DA001C0)=== argus_oneshot[7962]: Connection cleaned up (7F7DA001C0)
Can NVidia modify nvargus-daemon/libargus to accept lower frame resolutions?
We only need raw data and do not need any post-processing in ISP.
But we can not use V4L2 interface for capturing raw data directly due to other reasons.