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.

http://developer.ridgerun.com/wiki/index.php?title=Compile_gstreamer_on_tegra_X1#Steps_to_patch_gstreamer_to_support_RAW10

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,

JJ