How to use Gstreamer1.0 V4L2src to capture on-board ov5693 sensor

After adding a few debug prints and with some information from the other thread, I figure out the V4L2 subdev is not defined correctly for ov5693. This sensor only support bayer format, so we might change below code in ov5693_v4l2.c to only support bayer 10 format.

.enum_mbus_fmt	= camera_common_enum_fmt,

This will avoid system hang caused by color format mismatch between VI and CSI camera.

After doing so, I can see only RG10 is listed (correct and as expected) if I pull the device supported format by ‘v4l2-ctl --list-formats’. However, I can not get any Gst pipeline running after doing this.

The format for bayer 10 in gstreamer should be something like this, but I cannot find an existing Gst plugin to accept this format. Could someone from NVIDIA show some examples about how to use Gst v4l2src to do on-board sensor capture?

'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1'

ok, below gst pipeline indeed get running. So the issue still within the v4l2src or v4l2 driver

gst-launch-1.0 -vvv videotestsrc ! 'video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb, framerate=(fraction)30/1' ! bayer2rgb  ! fakesink

Hi dk1900,

We had a customer with a similar requirement for RAW10, in order to solve it we had to enhance v4l2src with the following patch.

If you are interested on other formats, or supporting RAW8,RAW10,RAW12 at the same time please don’t hesitate to contact us for help,