720x480p MIPI capture issue

Hi,
My use-case is an avionics DVR.
I am using Linux R35.5.0 (Jetpack 5.1.3) with a custom carrier board.
I have modified the device tree and ov5693 driver to support camera capture from an FPGA.

In this use-case a NTSC composite camera is routed to the FPGA which de-interlaces the video and send 720x480p to Jetson MIPI. Capture seems to work using v4l2-ctl. See below and raw frame is attached as well.

When I capture using gstreamer and specify the capture width=720 and height=480 the video is garbled.

When I capture the same composite source with gstreamer and specify the capture width=1280 and height=720 the 720x480 area of video looks ok.

Why?
tegra194-camera-e3333-a00.zip (3.2 KB)

frame.zip (108.4 KB)

Blockquote
root@xavier:~# v4l2-ctl --device /dev/video2 --set-fmt-video=width=720,height=480,pixelformat=YUYV --set-ctrl bypass_mode=0 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 59.94 fps

Blockquote

root@xavier:~# v4l2-ctl -d /dev/video2 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'YUYV' (YUYV 4:2:2)
	Size: Discrete 1920x1080
		Interval: Discrete 0.017s (59.000 fps)
	Size: Discrete 1280x720
		Interval: Discrete 0.017s (59.000 fps)
	Size: Discrete 720x480
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 720x576
		Interval: Discrete 0.020s (50.000 fps)
[1]: 'YUYV' (YUYV 4:2:2)
	Size: Discrete 1920x1080
		Interval: Discrete 0.017s (59.000 fps)
	Size: Discrete 1280x720
		Interval: Discrete 0.017s (59.000 fps)
	Size: Discrete 720x480
		Interval: Discrete 0.017s (60.000 fps)
	Size: Discrete 720x576
		Interval: Discrete 0.020s (50.000 fps)

root@xavier:~#

hello alanser,

it looks like stride alignment issue.
please note that, we should have follow VI’s 64 byte aligned to set the correct stride,
hence… please configure your active_w=768 which has the width alignment to 64.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.