Jetson AGX Orin four cameras performance

Hi,

I would like to understand the peak performance of AGX Orin to run four 4K cameras in 60FPS. Based on the AGX Orin’s tech specs (16 lanes MIPI interface), theoretically, it supports four 4K sensors in 60FPS. When I run the raw streaming using v4l2-ctl, I can achieve four streams in 4K60FPS, but however, when I running the live stream passing through Jetson ISP using gst-launch-1.0 nvarguscamerasrc, the frame rate drops when I start launching the third stream. I have posted a similar topic before to ask how many sensor I can run on Orin NX and I got an answer:

For Orin max ISP clock is limited to 1011.2 Mhz (for max voltage) (2 pixel/clk throughput) with 15% overhead the ISP throughput will be close to 1719.04Mhz.

My understanding is that the bottle neck is on the ISP part, can you please give me some suggestion how I can calculate the max number of 4K@60 streams I can run on Orin platform, especially on AGX Orin?

Here are the details for the sensor:
Bit depth: 10-bit or 12-bit
Resolution: width 3864, height 2192.

Platform info:
Jetson AGX Orin
Jetpack 6.0
All clock or frequency are turned to highest.

Thanks!

Best,
Wenhai.

The ISP bandwidth is 1.75Gpps(pixel per second)
For 8 4k camera need
3864x2192x60x4 ~= 2.03G

Suppose ~=50fps would be supported.

Hi,

For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#sensor-software-driver-programming

Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#to-run-a-v4l2-ctl-test

Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
https://elinux.org/Jetson/l4t/Camera_BringUp#Steps_to_enable_more_debug_messages

Thanks!

1 Like

Hi Shane,

My understanding is that no matter what format I request from Argus, like NV12 or RGBA, the ISP processing bandwidth always depends on the input size, am I correct?

For example, these two scenarios are occupying same bandwidth?
4K input → ISP → NV12 (2 planes: 1x4K + 1x FHD)
4K input → ISP → RGBA (1 planes: 1x4K four channels interleaved)

Best,
Wenhai.

Yes for ISP processing.

1 Like

Hello @calvin0328,

You can find a helpful tool on this website Jetson Throughput that assists with calculations like those discussed in this forum. In the ISP section, you only need to input the image size, frame rate, and the number of cameras to get the required MP/s. You can also verify the calculation made by ShaneCCC in the following way:

I hope this tool is useful for you in the future!

Jose Morera
Embedded Software Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com
Website: www.ridgerun.com

2 Likes

Hi Jose,

Thanks a lot! It’s very handy and useful. It will be great if you can enrich with some platform specific “Throughput” for different Jetson, like Orin or Xavier, but anyway I can easily get those MPpS from the datasheets. Again, most appreciate the helpful tool!

Best,
Wenhai.

1 Like

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