Jetpack 4.5 CSI cam can't use with v4l2 /dev/video0

Hi,

I read in the changelog that " V4L2 API is extended to support interacting with CSI Camera. Implementation is compliant with V4L2 spec."

I though this meant we can now use CSI cam directly like USB cams.

When I have a Raspberry pi cam v2 connected to the Jetson I see that it is detected:

ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'RG10'
	Name        : 10-bit Bayer RGRG/GBGB
		Size: Discrete 3264x2464
			Interval: Discrete 0.048s (21.000 fps)
		Size: Discrete 3264x1848
			Interval: Discrete 0.036s (28.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1640x1232
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.017s (60.000 fps)

But trying to launch it doesn’t works… For example if I open Cheese I don’t have anything… or if I try to launch it like this: "v4l2src device=/dev/video0 ! video/x-raw, framerate=30/1, width=1280, height=720 ! videoconvert ! appsink" , I get an error.

Did I misunderstood the changelog and we still need to use nvarguscamerasrc ?

Thanks

1 Like

hello tibo.durand,

please refer to Camera Architecture Stack, bayer sensors (a.k.a CSI sensor) needs to process debayer and other image process with [Camera Core], you cannot access bayer sensor with v4l2src plugin,

besides,
please also check Multimedia API Sample Applications, you may refer to those samples under unittest_samples/ for demonstration,
it’s V4L2Argus support pixel formats, V4L2_PIX_FMT_NV12M. there’re also specific CID controls, V4L2_CID_ARGUS_* you may referring to; it also use fd to holds the buffer plane parameters, and also store the information for Argus camera in context_t.
thanks

Ok thanks !