Available sensor formats are different in NVIDIA Jetson Nano B01 and Raspberry Pi 4B

My goal is to take photos for Computer Vision. The problem is that libcamera-still can’t be installed on NVIDIA Jetson Nano B01 and we have already take 100+ photos with Raspberry Pi 4B. The problem is that we can’t use 2328x1748 sensor format (the one used in Raspberry Pi 4B) in NVIDIA Jetson Nano B01.

I noticed that v4l2-ctl --list-formats-ext are different in NVIDIA Jetson Nano B01 and Raspberry Pi 4B.

Raspberry Pi 4B v4l2-ctl --list-formats-ext

i@raspberrypi:~ $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'YUYV' (YUYV 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [1]: 'UYVY' (UYVY 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [2]: 'YVYU' (YVYU 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [3]: 'VYUY' (VYUY 4:2:2)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [4]: 'RGBP' (16-bit RGB 5-6-5)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [5]: 'RGBR' (16-bit RGB 5-6-5 BE)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [6]: 'RGBO' (16-bit A/XRGB 1-5-5-5)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [7]: 'RGBQ' (16-bit A/XRGB 1-5-5-5 BE)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [8]: 'RGB3' (24-bit RGB 8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [9]: 'BGR3' (24-bit BGR 8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [10]: 'RGB4' (32-bit A/XRGB 8-8-8-8)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [11]: 'BA81' (8-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [12]: 'GBRG' (8-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [13]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [14]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [15]: 'pBAA' (10-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [16]: 'BG10' (10-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [17]: 'pGAA' (10-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [18]: 'GB10' (10-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [19]: 'pgAA' (10-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [20]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [21]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [22]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [23]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [24]: 'BG12' (12-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [25]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [26]: 'GB12' (12-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [27]: 'pgCC' (12-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [28]: 'BA12' (12-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [29]: 'pRCC' (12-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [30]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [31]: 'pBEE' (14-bit Bayer BGBG/GRGR Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [32]: 'BG14' (14-bit Bayer BGBG/GRGR)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [33]: 'pGEE' (14-bit Bayer GBGB/RGRG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [34]: 'GB14' (14-bit Bayer GBGB/RGRG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [35]: 'pgEE' (14-bit Bayer GRGR/BGBG Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [36]: 'GR14' (14-bit Bayer GRGR/BGBG)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [37]: 'pREE' (14-bit Bayer RGRG/GBGB Packed)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [38]: 'RG14' (14-bit Bayer RGRG/GBGB)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [39]: 'GREY' (8-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [40]: 'Y10P' (10-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [41]: 'Y10 ' (10-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [42]: 'Y12P' (12-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [43]: 'Y12 ' (12-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [44]: 'Y14P' (14-bit Greyscale (MIPI Packed))
                Size: Stepwise 16x16 - 16376x16376 with step 1/1
        [45]: 'Y14 ' (14-bit Greyscale)
                Size: Stepwise 16x16 - 16376x16376 with step 1/1

Raspberry Pi 4B libcamera-still

pi@raspberrypi:~ $ libcamera-still -t 5000 --width 1280 --height 1280 --mode 1280:1280 -o b.jpg --autofocus-on-capture
Made X/EGL preview window
[0:18:53.725693934] [2233]  INFO Camera camera_manager.cpp:299 libcamera v0.0.0+4135-f8a5e271
[0:18:53.729873366] [2235]  WARN CameraSensorProperties camera_sensor_properties.cpp:190 No static properties available for 'imx519'
[0:18:53.729936012] [2235]  WARN CameraSensorProperties camera_sensor_properties.cpp:192 Please consider updating the camera sensor properties database
[0:18:53.822546112] [2235]  WARN RPI raspberrypi.cpp:1308 Mismatch between Unicam and CamHelper for embedded data usage!
[0:18:53.824448159] [2235]  INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media0
[0:18:53.825799946] [2233]  INFO Camera camera.cpp:1026 configuring streams: (0) 1748x1748-YUV420
[0:18:53.826327206] [2235]  INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
Stream configuration adjusted
[0:19:03.015023575] [2233]  INFO Camera camera.cpp:1026 configuring streams: (0) 1280x1280-YUV420 (1) 2328x1748-SRGGB10_CSI2P
[0:19:03.017194207] [2235]  INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
Still capture image received

NVIDIA Jetson Nano B01 v4l2-ctl --list-formats-ext

ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'RG10'
        Name        : 10-bit Bayer RGRG/GBGB
                Size: Discrete 4656x3496
                        Interval: Discrete 0.100s (10.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.048s (21.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.008s (120.000 fps)

Hi,
You need to use the command below to check the sensor formats on the raspberry pi:
libcamera-still --list-camera

Do you use the imx477 camera?

I use IMX519. Do you know why the sensor formats are different for IMX519 in Raspberry Pi 4B and NVIDIA Jetson Nano B01?

In Raspberry Pi 4B, it has 2328x1748 sensor. In NVIDIA Jetson Nano B01, it does not exist. The only way to mimic libcamera-still is to use 4656x3496 sensor since it has the same aspect ratio (1.3:1). The problem is that the maximum fps is only 10 fps with this sensor.

In Raspberry Pi 4B

pi@raspberrypi:~ $ libcamera-still --list-camera
Available cameras
-----------------
0 : imx519 [4656x3496] (/base/soc/i2c0mux/i2c@1/imx519@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [120.02 fps - (1048, 1042)/2560x1440 crop]
                             1920x1080 [60.00 fps - (408, 674)/3840x2160 crop]
                             2328x1748 [30.00 fps - (0, 0)/4656x3496 crop]
                             3840x2160 [21.01 fps - (408, 672)/3840x2160 crop]
                             4656x3496 [10.00 fps - (0, 0)/4656x3496 crop]

in NVIDIA Jetson Nano B01

werate-01@werate-01:~/Arducam-IMX519$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'RG10'
        Name        : 10-bit Bayer RGRG/GBGB
                Size: Discrete 4656x3496
                        Interval: Discrete 0.100s (10.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.048s (21.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.017s (60.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.008s (120.000 fps)