So, in order to use ISP, I have to use the Nvidia argus framework/library, is it correct? For example: GStreamer with the nvarguscamerasrc Plugin.
- Is this ISP on camera side? Or ISP is part of SoC on Xavier side?
- If I use the standard Linux V4L2 library and v4l2-ctl command, I won’t be able to use ISP feature, correct? What feature does ISP provide? e.g. format conversion and post-processing? What does it do in post-processing?
- When use argus/nvcamerasrc API, I can set ISP bypass mode. If I use ISP bypass mode, ISP is NOT doing post-processing/format convert correct?
Thanks for your reply.
If I am capturing/grabbing raw frames ONLY, can I say using v4l2-ctl is same as using arugs/nvcamerasrc? Will I lose any benefit of ISP in this case?
Also, I want to ask the brief overview of camera data flow.
If I use v4l2-ctl, then the data flow can be briefly viewed as:
camera_sensor —> CSI —> VI —> memory
Is it correct?
If I use arugs, ISP will get involved, so it becomes this:
camera_sensor —> CSI —> VI —> ISP —> memory
v4l2-ctl pipeline didn’t include the ISP feature and 3A control.
Those data flow are correct.
What are the ISP features other than format conversion and debayering?
I couldn’t find ISP documenation in Xavier TRM. Where can I find Xavier ISP document?
There’s no this document but you can find some feature from the argus API.
4l2-ctrl … --set-ctrl bypass_mode=0 …
What does bypass_mode mean here? Is it related to ISP?
Yes, bypass_mode=0 means bypass ISP. This parameter to switch to VI mode from after launching argus.
VI mode means using VI/NVCSI kernel driver.