Argus image pixel format

Hi All,
I’m working on Jetson Xavier Nx and using Argus library to deal with csi camera(imx219 sensor, 10-bit bayer format).
I’m confused with the output pixel formats, and I have some problems about this:

  1. If I set the output format to be PIXEL_FMT_YCbCr_420_888 by using iStreamSettings->setPixelFormat() function, which part will do the format convertion in Nx, ISP or other hardwares?
  2. And if it is ISP, when I disable ISP by using iRequest->setEnableIspStage(false) in jetpack 5.0.2, how can I still get the format? Maybe this function can’t really disable the ISP?
  3. If I set the output format to be PIXEL_FMT_RAW16 by using iStreamSettings->setPixelFormat(), Will the frame go through the ISP? And if yes, what will the ISP do for the frame, denoise or other actions? And if I disable the ISP by using above function, what the frame pipline flow will be?

Thanks in advance!
snowtp

hello snowtp,

please refer to Camera Architecture Stack. you’ll need to access camera stream via v4l2 standard controls if you would like to bypass ISP. once [Camera Core] is involved, ISP is always enabled.

ISP output pixel format is YUV 8-bit by default. it’s supported to configure as PIXEL_FMT_P016 as 16-bit YUV formats.

please refer to Argus sample, argus/public/samples/rawBayerOutput to configure setEnableIspStage to skip ISP stage.

Thanks JerryChang,
I have seen what you said, but I still have some problems.

  1. If ISP is always enabled, what does it mean to skip ISP stage using setEnableIspStage? Skipping ISP stage just means the frame won’t be processed by ISP?
  2. And ISP output piexl format is YUV, so if I set the format to be PIXEL_FMT_RAW16, the frame won’t also be processed by ISP. Is it right?
  3. And I don’t kown what operations ISP includes. It includes denoise, gains, demosaic and other operations? So if I skip ISP stage, I can only get the raw data and can’t get the demosaic data(YVU frame). Is it right? If it is right, when I set setEnableIspStage(false) , why can I still get the PIXEL_FMT_YCbCr_420_888 format output?

hello snowtp,

how many camera sensors you had? why don’t you perform Argus sample, Argus/samples/rawBayerOutput to check the results.

BTW
it’s argus_rawBayerOutput to demonstrate raw capture using argus with options available to enable/disable 3A/ISP to converge sensor exposure settings.
this is the configuration of post-processing, it still need ISP to demosaic bayer pattern.

Thanks JerryChang,
I only have one camera senor. So if I do setEnableIspStage(false) , the ISP will still performs demosaicking operation, but it won’t do post-processing, like denoise, color correction and other operations. Is it right?

hello snowtp,

yes, that’s correct.
you may think it’s disable those 3A controls and image quality related functions.

Got it, thanks for your replies.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.