'CSI MIPI Camera API' Vs 'V4L2'

I have a very fundamental question and apologies for the same.
As Argus camera APIs utilises dedicated ISPs makes them really fast and efficient compared to V4L2 which will run as part of kernel and won’t reach to the speeds of ISPs, there are so many other small little difference too.

But why would someone pick V4L2 over camera APIs? Is it only because the camera is not CSI and has USB interface and camera API uses EGLStreams to connect to consumer whereas someone wants to control buffering and management on their own?

Any help would be greatly appreciated. Thanks!


Hi Milind
USB is one of them and there’s CSI YUV sensor that don’t need ISP. For the CSI bayer sensor can use argus for the demosaic and don’t need to implement 3A function and so on.