Xavier NX camera data error

Dear,
I have a problem about the image data when I capture image data via Xavier NX with sdk 32.4.2 version.
The image is 1008x2000@50fps with YUYV 16bit(YUV422) format. Our board connect as follows :
FPGA → TC358748 → Xavier NX.
We connect tc358748 4 lanes with Xavier nx CSI A/B port.
image
When set dtb to capture 1080p video as follows, it works well.


I can capture 1080p@60fps with format YUYV 16bit when tc358748 set parameter as 1080p@60fps.
But, when I config dtb parameter as follows to capture 1008x2000 video, there is something wrong with the video data.

We config the image parameter : 1320 pixels one line, 2250 lines in one frame.
so, the pix_clk_hz is 148500000(1320x2250x50), this get from the webset:
image
The error data is : it loses 16 bytes data at the end of odd lines and the start of even lines, then it fills 32 bytes 0 data at the end of even lines. The video data I capture one frame as follows:
video0-1-1008x2000-2021-10-20-171428.yuv (3.8 MB)
I do not know where I ignore. The 1080P@60 image that I can capture, means the NX can capture 1008x2000@50. So I think there is something wrong with the driver.
I make another try: we have a board connect fpga ==> tc358748 ==> hi3559av100, the same fpga program ,the same tc358748 configuration , but my program on hi3559av100 can get the right data. So I think the problem is at Xavier NX program.
The media-ctl information is:
root@nx-desktop:/home/nx# media-ctl -p -d /dev/media0
Media controller API version 0.1.0

Media device information

driver tegra194-vi5
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 0.0.0

Device topology

  • entity 1: imx219 9-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev0
    pad0: Source
    [fmt:YUYV8_1X16/1008x2000 field:none colorspace:srgb]
    → “15a00000.nvcsi–3”:0 [ENABLED]

  • entity 3: 15a00000.nvcsi–3 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev1
    pad0: Sink
    ← “imx219 9-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, imx219 9-0010”:0 [ENABLED]

  • entity 6: vi-output, imx219 9-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video0
    pad0: Sink
    ← “15a00000.nvcsi–3”:1 [ENABLED]

  • entity 18: imx219 10-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    pad0: Source
    [fmt:YUYV8_1X16/1008x2000 field:none colorspace:srgb]
    → “15a00000.nvcsi–2”:0 [ENABLED]

  • entity 20: 15a00000.nvcsi–2 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev3
    pad0: Sink
    ← “imx219 10-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, imx219 10-0010”:0 [ENABLED]

  • entity 23: vi-output, imx219 10-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video1
    pad0: Sink
    ← “15a00000.nvcsi–2”:1 [ENABLED]

  • entity 35: imx219 11-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev4
    pad0: Source
    [fmt:YUYV8_1X16/1008x2000 field:none colorspace:srgb]
    → “15a00000.nvcsi–1”:0 [ENABLED]

  • entity 37: 15a00000.nvcsi–1 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev5
    pad0: Sink
    ← “imx219 11-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, imx219 11-0010”:0 [ENABLED]

  • entity 40: vi-output, imx219 11-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video2
    pad0: Sink
    ← “15a00000.nvcsi–1”:1 [ENABLED]
    The v4lt-ctl information is as follows:
    root@nx-desktop:/home/nx# v4l2-ctl -d /dev/video0 --list-formats-ext
    ioctl: VIDIOC_ENUM_FMT
    Index : 0
    Type : Video Capture
    Pixel Format: ‘YUYV’
    Name : YUYV 4:2:2
    Size: Discrete 1008x2000
    Interval: Discrete 0.020s (50.000 fps)

    Index : 1
    Type : Video Capture
    Pixel Format: ‘YUYV’
    Name : YUYV 4:2:2
    Size: Discrete 1008x2000
    Interval: Discrete 0.020s (50.000 fps)

root@nx-desktop:/home/nx#
So, can you help me to solve the problem?
Thank you very much.

hello w13630570960,

there’s 64-alignment for the VI’s buffer allocation, especially the image width.
hence, could you please revise the active_w=1024; for testing,

Hello JerryChang,
Thank you for your replay. I will try as your suggestion.

Hi JerryChang,
Your suggestion really help me. I have try 1024x2000 format, it works well, no data lose.
Thank you very much.

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