CUDA ISP for NVIDIA Jetson: Performance
GStreamer elements performance
To measure the performance, we have used two of our GStreamer tools: GstShark and GstPerf.
For testing purposes, take into account the following points:
- Maximun performance mode enabled: all cores and Jetson clocks enabled.
- Jetpack 4.6
- FPS is equal to 1/processing time
Jetson Xavier NX
In the following sections you will see the performance for each of the elements.
cudashift element
The following pipeline was used to measure the processing time and FPS for the cudashift element with an input image with 4K resolution coming from a camera sensor.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, format=rggb' ! cudashift shift=5 ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 396 |
Processing time (seconds) | 0.002522 |
cudadebayer element
RGB Output
The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an RGB output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 228 |
Processing time (seconds) | 0.004389 |
I420 Output
The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an I420 output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 187 |
Processing time (seconds) | 0.005353 |
cudaawb element
RGB Output
The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 4K resolution coming from a camera sensor to an RGB output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 370 |
Processing time (seconds) | 0.002698 |
I420 Output
The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 4K resolution coming from a camera sensor to an I420 output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! 'video/x-raw, format=I420' ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 202 |
Processing time (seconds) | 0.004952 |
Jetson Xavier AGX
In the following sections you will see the performance the elements.
cudadebayer
RGB Output
The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! 'video/x-raw, format=RGB' ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier AGX |
---|---|
FPS | 539 |
Processing time (seconds) | 0.001854 |
I420 Output
The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an I420 output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! 'video/x-raw, format=I420' ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier AGX |
---|---|
FPS | 458 |
Processing time (seconds) | 0.002183 |
cudaawb
RGB Output
The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=RGB' ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 752 |
Processing time (seconds) | 0.001329 |
I420 Output
The following pipeline was used to measure the processing time and FPS for the cudaawb element with an input image with 1920x1200 resolution coming from a camera sensor to an I420 output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=I420' ! fakesink
The results obtained:
Measurement (Average) | Jetson Xavier NX |
---|---|
FPS | 473 |
Processing time (seconds) | 0.002111 |
More cameras
This section shows the performance results for the elements running at the same time on more than one camera on a Jetson XavierAGX.
Two cameras
RGB Output
The following pipeline was used to measure the processing time and FPS for the cudaawb and the cudadebayer element with an input image with 1920x1200 resolution coming from a camera sensor to an RGB output image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve rrv4l2src device=/dev/video0 io-mode=userptr ! 'video/x-bayer, bpp=10, width=1920, height=1200, format=grbg' ! cudadebayer ! cudaawb ! 'video/x-raw, format=RGB' ! fakesink
The results obtained:
Measurement (Average) | cudadebayer | cudaawb |
---|---|---|
FPS | 0 | 0 |
Processing time (seconds) | 0 | 0 |