V4L2 capture with onboard camera


I’m a little bit confused with the camera architecture stack as some things seemed to have changed with L4T R32 and the latest documentation (R24.2) looks like it has not been completely updated.

Nevertheless, from what I have understood so far there seem to be two main methods of capturing video data. One uses a stack of vendor drivers and software provided by nvidia (supporting ISP) and the other would be through the V4L2 framework. I’m interested in using the latter as I would like to simply read out RAW10 data from a custom sensor (without processing it).

As a start I would be interested in reading out the raw data from the onboard camera using V4L2. Without having to write my own code, can I use gstreamer to achieve that? I saw in the documentation that there is a v4lsrc plugin provided by nvidia. I tried:

gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)30/1’ ! xvimagesink -ev

but all I can see is a black display. Probably I have to specify the display format…?

Further along the road, I’m trying to understand which are the v4l2 sensor drivers that I would have to modify in order to read the data from my sensor (which has only one CSI lane). I’m not interested in the whole I2C camera control drivers as I’m controlling the camera over SPI and I guess that I would have to write my own decoupled SPI driver for that but this is probably the easier part…

Please download the document from below link and reference to the “Sensor Driver Programming Guide” chapter for further information.


And you can see also to below topics for how to get the raw and display it.