RAW14, RAW16 in ISP pipeline

Hi Jerry,

yes I’ve added support for raw14 like this:

//videodev2.h
#define V4L2_PIX_FMT_SGRBG14 v4l2_fourcc('p', 'g', 'E', 'E') 

//v4l2-ioctl.c
static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
{
...

	case V4L2_PIX_FMT_SGRBG14:	descr = "14-bit Bayer GRGR/BGBG"; break;
...

}

//camera_common.c
	{
		MEDIA_BUS_FMT_SGRBG14_1X14,
		V4L2_COLORSPACE_SRGB,
		V4L2_PIX_FMT_SGRBG14,
	},

//sensor_common.c
	else if (strncmp(pixel_t, "bayer_grbg14", size) == 0)
		*format = V4L2_PIX_FMT_SGRBG14;

//vi4_formats.h
static const struct tegra_video_format vi4_video_formats[] = {
...
	TEGRA_VIDEO_FORMAT(RAW14, 14, SGRBG14_1X14, 2, 1, T_R16_I,
				RAW14, SGRBG14, "GRGR.. BGBG.."),
...
}

Here is the log of all supported pixel formats.

nvidia@nvidia-desktop:~$ v4l2-ctl -d0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'GRBG'
	Name        : 8-bit Bayer GRGR/BGBG
		Size: Discrete 1944x1204
			Interval: Discrete 0.017s (60.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.015s (66.000 fps)
		Size: Discrete 972x602
			Interval: Discrete 0.017s (60.000 fps)

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'BA10'
	Name        : 10-bit Bayer GRGR/BGBG
		Size: Discrete 1944x1204
			Interval: Discrete 0.017s (60.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.015s (66.000 fps)
		Size: Discrete 972x602
			Interval: Discrete 0.017s (60.000 fps)

	Index       : 2
	Type        : Video Capture
	Pixel Format: 'BA12'
	Name        : 12-bit Bayer GRGR/BGBG
		Size: Discrete 1944x1204
			Interval: Discrete 0.017s (60.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.015s (66.000 fps)
		Size: Discrete 972x602
			Interval: Discrete 0.017s (60.000 fps)

	Index       : 3
	Type        : Video Capture
	Pixel Format: 'pgEE'
	Name        : 14-bit Bayer GRGR/BGBG
		Size: Discrete 1944x1204
			Interval: Discrete 0.017s (60.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.015s (66.000 fps)
		Size: Discrete 972x602
			Interval: Discrete 0.017s (60.000 fps)

And here is the log of working stream for each pixel format:

nvidia@nvidia-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RRBG --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.39 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
nvidia@nvidia-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=BA10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.39 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
nvidia@nvidia-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=BA12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.39 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
nvidia@nvidia-desktop:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=pgEE --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.39 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Executing all pix RAW14 bit mode with argus_camera log:

nvidia@nvidia-desktop:~$ sudo su
[sudo] password for nvidia: 
root@nvidia-desktop:/home/nvidia# service nvargus-daemon stop && export enableCamPclLogs=5 && export enableCamScfLogs=5
root@nvidia-desktop:/home/nvidia# /usr/sbin/nvargus-daemon 
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== argus_camera[7887]: Connection established (7FA1D2A1D0)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(0x7f9c630790)
getInstance: s_instance(0x7f9c630790)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f9c631b80)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f9c6955e0)
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
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: hdpy230_bottomleft_xxx
NvPclHwPrintModuleDefinition -- Position: 0
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: hdpy230 30-0010
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: hdpy230_bottomleft_xxx position0
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 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 @ 0x7f9c5d4dd0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f9c632d90
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f9c5dc190
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f9c359640
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f9c5f9850
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f9c5f97c0
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/hdpy230_bottomleft_xxx.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/hdpy230_bottomleft_xxx.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.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/hdpy230_bottomleft_xxx.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/hdpy230_bottomleft_xxx.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]
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 [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
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.dpcm_enable]
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 [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode1.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode1.serdes_pix_clk_hz]
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.dpcm_enable]
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]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode2.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode2.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode2.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode2.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode2.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode2.dpcm_enable]
OFDPropertyGetString: could not read property [mode2.x_start]
OFDPropertyGetString: could not read property [mode2.y_start]
OFDPropertyGetString: could not read property [mode2.x_end]
OFDPropertyGetString: could not read property [mode2.y_end]
OFDPropertyGetString: could not read property [mode2.h_scaling]
OFDPropertyGetString: could not read property [mode2.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode3.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode3.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode3.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode3.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode3.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode3.dpcm_enable]
OFDPropertyGetString: could not read property [mode3.x_start]
OFDPropertyGetString: could not read property [mode3.y_start]
OFDPropertyGetString: could not read property [mode3.x_end]
OFDPropertyGetString: could not read property [mode3.y_end]
OFDPropertyGetString: could not read property [mode3.h_scaling]
OFDPropertyGetString: could not read property [mode3.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode4.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode4.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode4.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode4.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode4.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode4.dpcm_enable]
OFDPropertyGetString: could not read property [mode4.x_start]
OFDPropertyGetString: could not read property [mode4.y_start]
OFDPropertyGetString: could not read property [mode4.x_end]
OFDPropertyGetString: could not read property [mode4.y_end]
OFDPropertyGetString: could not read property [mode4.h_scaling]
OFDPropertyGetString: could not read property [mode4.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode5.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode5.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode5.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode5.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode5.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode5.dpcm_enable]
OFDPropertyGetString: could not read property [mode5.x_start]
OFDPropertyGetString: could not read property [mode5.y_start]
OFDPropertyGetString: could not read property [mode5.x_end]
OFDPropertyGetString: could not read property [mode5.y_end]
OFDPropertyGetString: could not read property [mode5.h_scaling]
OFDPropertyGetString: could not read property [mode5.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode6.vc_id]
OFDPropertyCopyToLongLong: could not read property [mode6.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode6.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode6.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode6.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode6.dpcm_enable]
OFDPropertyGetString: could not read property [mode6.x_start]
OFDPropertyGetString: could not read property [mode6.y_start]
OFDPropertyGetString: could not read property [mode6.x_end]
OFDPropertyGetString: could not read property [mode6.y_end]
OFDPropertyGetString: could not read property [mode6.h_scaling]
OFDPropertyGetString: could not read property [mode6.v_scaling]
initialize: Loaded Driver: 7 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
=== argus_camera[7887]: CameraProvider initialized (0x7f9caa0dc0)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
Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000

NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000

No output buffers for 2
No output buffers for 1
InstructionList:
  + GraphSettings
      | SensorMode: 1944x1204 BayerS16GRBG 60.0fps
      | output 0: 1944x1204 BL U8_V8_ER 420SP
      | inputClipRect 0: (0.00,0.00, 1.00,1.00)

  + Instruction List
      | id: 0
      +  0: CCDataSetupStage
          | EstimatedIspOutLatencyFrames: 5
          | NumConcurrentCaptures: 1
          | UnprocessedYuvBufferMask: 0
      +  1: ACSynchronizeStage
      +  2: AeAfApplyStage
      +  3: AcPluginStage
          | operation: opApply
      +  4: AcMergeStage
          | IspIn: [1944, 1204]
          | IspOut0: [1944, 1204]
          | IspOut1: [0, 0]
          | IspOut2: [640, 396]
      +  5: StatsBufferAcquireStage
          | Buffer Index: 1
          | BufferRequirements: 640x396 Pitch Y8_ER 420
      +  6: TempBufferAcquireStage
          | Buffer Index: 2
          | BufferRequirements: 1944x1 Pitch NonColor8
      +  7: TempBufferAcquireStage
          | Buffer Index: 3
          | BufferRequirements: 524288x1 Pitch NonColor8
      +  8: SensorISPCaptureStage
          | Source GUID: 0
          | Output A Buffer: 0
          | Output Thumb Buffer: 1
          | SensorMetadata Buffer: 2
          | Output IspStats Buffer: 3
      +  9: StatsUpdateStage
          | Output Meta Buffer: 2
          | Output IspStats Buffer: 3
      + 10: BufferReturnStage
          | Output A Buffer: 2
      + 11: BufferReturnStage
          | Output A Buffer: 3
      + 12: AcPluginStage
          | operation: opAnalyze
      + 13: AfAnalysisStage
      + 14: MonitorStage
      + 15: ExifStage
      + 16: MakerNoteStage
      + 17: BufferReturnStage
          | Output A Buffer: 0
      + 18: MetadataReturnStage
      + 19: PerfStatsStage

Created fiber 0x7f4c000b20 for CC 101 globalID 101 session 0Thread 1 is working on CC 101 session 0 globalID 101 step 0
CC 101 session 0 completed step 0 in fiber 0x7f4c000b20
cc 101(1) session 0 runCount=0 runIspOut=0, latest ccId=0
CC 101 session 0 completed step 1 in fiber 0x7f4c000b20
NV AE and AfApply algorithms are active.

Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000

NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000

CC 101 session 0 completed step 2 in fiber 0x7f4c000b20
CC 101 session 0 completed step 3 in fiber 0x7f4c000b20
Created fiber 0x7f4c000dd0 for CC 102 globalID 102 session 0
Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000

NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000

Thread 2 is working on CC 102 session 0 globalID 102 step 0
CC 102 session 0 completed step 0 in fiber 0x7f4c000dd0
cc 102(2) session 0 runCount=1 runIspOut=0, latest ccId=0
CC 102 session 0 completed step 1 in fiber 0x7f4c000dd0
NV AE and AfApply algorithms are active.
CC 101 session 0 completed step 4 in fiber 0x7f4c000b20
CC 102 session 0 completed step 2 in fiber 0x7f4c000dd0
CC 102 session 0 completed step 3 in fiber 0x7f4c000dd0
CC 101 session 0 completed step 5 in fiber 0x7f4c000b20
CC 102 session 0 completed step 4 in fiber 0x7f4c000dd0
CC 101 session 0 completed step 6 in fiber 0x7f4c000b20
CC 102 session 0 completed step 5 in fiber 0x7f4c000dd0
CC 102 session 0 completed step 6 in fiber 0x7f4c000dd0
CC 101 session 0 completed step 7 in fiber 0x7f4c000b20
CC 101 session 0 processing step 8 in fiber 0x7f4c000b20
FiberScheduler: cc 101, session 0, fiber 0x7f4c000b20 in progress...

Thread 3 is waiting
Thread 1 getting next capture
Thread 1 is waiting
CC 102 session 0 completed step 7 in fiber 0x7f4c000dd0
CC 102 session 0 processing step 8 in fiber 0x7f4c000dd0
FiberScheduler: cc 102, session 0, fiber 0x7f4c000dd0 in progress...

Thread 2 getting next capture
Thread 4 is waiting
Thread 2 is waiting
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeMode: Target mode Id(6): Resolution 1944x1204
writeFrameRate:	INPUT frameRate:60.000000
writeGain:	INPUT gainCtrl:64 analogGain:100.000000
updateOutputSettings:	OUTPUT frameRate:60.000000
updateOutputSettings:	OUTPUT analogGain:100.000000
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeExposure:	INPUT expTime:0.000333
updateOutputSettings:	OUTPUT expTime:0.000333
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 0, after:1
	request table for ISP 0:
	req[0]: output1 width=320, output1 height=200, output1 Bpp=16
	req[0]: output2 width=320, output2 height=200, output2 Bpp=16
	req[0]: input width=1944, input height=1204, input Bpp=14
	req[0]: output width=130, output height=82, output Bpp=16
	req[0]: input fps=60
	req[0]: guID=0, stage type=SensorIspCapture
	req[0]: clock=0 Hz, iso bw=279514 KB/s, non-iso bw=0 KB/s
	req[450]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=279514 and m_bwVal_NonIso=0 KBpS

PowerServiceCore:setCameraBw: totalIsoBw=279514
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 1, after:2
	request table for ISP 0:
	req[0]: output1 width=320, output1 height=200, output1 Bpp=16
	req[0]: output2 width=320, output2 height=200, output2 Bpp=16
	req[0]: input width=1944, input height=1204, input Bpp=14
	req[0]: output width=130, output height=82, output Bpp=16
	req[0]: input fps=60
	req[0]: guID=0, stage type=SensorIspCapture
	req[0]: clock=0 Hz, iso bw=279514 KB/s, non-iso bw=0 KB/s
	req[429]: timeout=0
	req[1]: output1 width=320, output1 height=200, output1 Bpp=16
	req[1]: output2 width=640, output2 height=396, output2 Bpp=13
	req[1]: input width=1944, input height=1204, input Bpp=14
	req[1]: output width=1944, output height=1204, output Bpp=12
	req[1]: input fps=60
	req[1]: guID=0, stage type=SensorIspCapture
	req[1]: clock=0 Hz, iso bw=969030 KB/s, non-iso bw=0 KB/s
	req[450]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=969030 and m_bwVal_NonIso=0 KBpS

PowerServiceCore:setCameraBw: totalIsoBw=969030
Error: waitCsiFrameStart timeout guid 0
VI Stream Id = 0 Virtual Channel = 0
************VI Debug Registers**********
VI_CSIMUX_STAT_FRAME_0	 = 0x00000000
VI_CSIMUX_FRAME_STATUS_0	 = 0x00000000
VI_CFG_INTERRUPT_STATUS_0	 = 0x3f000000
VI_ISPBUFA_ERROR_0	 = 0x00000000
VI_FMLITE_ERROR_0	 = 0x00000000
VI_NOTIFY_ERROR_0	 = 0x00000000
*****************************************
CSI Stream Id = 0 Brick Id = 0
************CSI Debug Registers**********
CILA_INTR_STATUS_CILA[0x10400]	 = 0x00000000
CILB_INTR_STATUS_CILB[0x10c00]	 = 0x00000000
INTR_STATUS[0x100a4]	 = 0x00000000
INTR_STATUS[0x100a4]	 = 0x00000000
ERR_INTR_STATUS[0x100ac]	 = 0x00000000
ERROR_STATUS2VI_VC0[0x10094]	 = 0x00000000
ERROR_STATUS2VI_VC1[0x10098]	 = 0x00000000
ERROR_STATUS2VI_VC2[0x1009c]	 = 0x00000000
ERROR_STATUS2VI_VC3[0x100a0]	 = 0x00000000
*****************************************
SCF: Error BadValue: timestamp cannot be 0 (in src/services/capture/NvViCsiHw.cpp, function waitCsiFrameStart(), line 624)
SCF: Error BadValue:  (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error BadValue: Worker thread ViCsiHw frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
Created fiber 0x7f4c000f70 for CC 103 globalID 103 session 0Thread 5 is working on CC 103 session 0 globalID 103 step 0
Fiber 0x7f4c000f70 is aborting in CC 103 Session 0
FiberScheduler: cc 103 session 0, fiber 0x7f4c000f70 aborted

FiberScheduler: fiber 0x7f4c000f70 exiting
Thread 5 getting next capture
Thread 7 is waiting
Thread 6 is waiting

Thread 5 is waiting
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
SCF: Error Timeout: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout: ISP port 1 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 501)
SCF: Error Timeout: ISP port 2 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 512)
SCF: Error Timeout:  (propagating from src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 519)
SCF: Error Timeout:  (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error Timeout: Worker thread IspHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 133)