Is there a way to let ISP output RGB?

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.6.1.8175
1.6.0.8170
other

Host Machine Version
native Ubuntu 18.04
other

From what I learned from SIPL samples, the ISP only convert RAW to YUV. Is there a way to let it output RGB?

Hi @leqiang.wang,

Please refer to the source of nvsipl_camera. You will need to call nvsipl::INvSIPLCamera::RegisterImages() with images having corresponding surface format (from NVM_SURF_FMT_SET_ATTR_RGBA()).

1 Like

Thanks, I’ll try that.
I would like to confirm that whether the conversion from RAW12 to RGB, which is demosaicing, is supported in ISP with any existing xxx.nito config.

When you said with any existing nito file, are you using any camera module listed in DRIVE Ecosystem Hardware and Software Components | NVIDIA Developer?

Yes, I currently have a sf3325 connected to the device, and sf3325.nito is loaded to the framework

NITO is only about tuning things. Please go ahead and try it.

1 Like

I have tried different combinations in NVM_SURF_FMT_SET_ATTR_RGBA()
then put the NvMediaSurfFormatAttr result to NvMediaSurfaceFormatGetType to get the surface format flag number.
None of the configuration works.
I got the same console output from all the configurations I’ve tried:

Opened NITO file for module “sf3325”

Module_id 30 Severity 2 : src/control/isp/camrangecheck_isp.cpp 55

Module_id 30 Severity 2 : Bad input parameter: unsupported surface type

Module_id 30 Severity 2 : src/control/isp/camrangecheck_isp.cpp 436

Module_id 30 Severity 2 : Bad input parameter in image info

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/pipelineMgr/spmgr/pipeline/blocks/CNvMISPBlock.cpp: 284: CreateSIPLControl: createSiplControlIsp: Failed to create Sipl Control ISP

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/pipelineMgr/spmgr/pipeline/CNvMSensorPipeline.cpp: 368: RegisterAutoControlPlugin: ISP block register auto control plugin failed

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMCamera.cpp: 277: RegisterAutoControlPlugin: RegisterAutoControlPlugin type:0 failed for pipeline:0

nvsipl_sample: ERROR: INvSIPLCamera::RegisterAutoControlPlugin() failed, status: 127

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/pipelineMgr/spmgr/pipeline/CNvMSensorPipeline.cpp: 705: Deinit: Deinit() call in wrong state

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMCamera.cpp: 994: DeinitPipelines: Pipeline deinit failed for pipeline:0

sample_m: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMCamera.cpp: 49: ~CNvMCamera: CNvMCamera object fails to deinit

Do I also need to change NvMediaSurfAllocAttrType when calling NvMediaImageFillNvSciBufAttrs during the image allocation?

Per below topic, it looks the issue tracked in this topic was solved, right?