Birds Eye View - Performance on NXP i.MX8

From RidgeRun Developer Wiki

Follow Us On Twitter LinkedIn Email Share this page




⇦ Performance Measurements/NVIDIA Jetson Home Contact us ⇨




In the following wiki, you can find the performance measurements for the NXP i.MX8 platform using the GstBEV plugin.

Considerations

The performance measurements were done with the resolutions of 1024x768, 1280x720 and 1920x1080 at 30 fps, using an UDP sender-to-receiver model.

NXP i.MX 8M Plus

Pipeline Structure

The general structure of the pipelines used for the measurements are the following:

Sender (PC)

GST_DEBUG=2 gst-launch-1.0 \
  videotestsrc pattern=ball ! $CAPS1 ! queue ! x264enc speed-preset=ultrafast tune=zerolatency ! $CAPS2 ! h264parse config-interval=1  ! rtph264pay ! udpsink host=<ip-address> port=3000 \
  videotestsrc pattern=ball ! $CAPS1 ! queue ! x264enc speed-preset=ultrafast tune=zerolatency ! $CAPS2 ! h264parse config-interval=1  ! rtph264pay ! udpsink host=<ip-address> port=3001 \
  videotestsrc pattern=ball ! $CAPS1 ! queue ! x264enc speed-preset=ultrafast tune=zerolatency ! $CAPS2 ! h264parse config-interval=1  ! rtph264pay ! udpsink host=<ip-address> port=3002 \
  videotestsrc pattern=ball ! $CAPS1 ! queue ! x264enc speed-preset=ultrafast tune=zerolatency ! $CAPS2 ! h264parse config-interval=1  ! rtph264pay ! udpsink host=<ip-address> port=3003 -v

Receiver (iMX.8)

GST_DEBUG=2 gst-launch-1.0 \
udpsrc port=3000 ! application/x-rtp,media=video,encoding-name=H264 ! rtph264depay ! h264parse ! \
  queue max-size-buffers=3 leaky=downstream ! v4l2h264dec ! $CAPS3 ! queue max-size-buffers=3 leaky=downstream ! \
  imxvideoconvert_g2d ! $CAPS4 ! queue max-size-buffers=3 leaky=downstream ! bev.sink_0 \
udpsrc port=3001 ! application/x-rtp,media=video,encoding-name=H264 ! rtph264depay ! h264parse ! \
  queue max-size-buffers=3 leaky=downstream ! v4l2h264dec ! $CAPS3 ! queue max-size-buffers=3 leaky=downstream ! \
  imxvideoconvert_g2d ! $CAPS4 ! queue max-size-buffers=3 leaky=downstream ! bev.sink_1 \
udpsrc port=3002 ! application/x-rtp,media=video,encoding-name=H264 ! rtph264depay ! h264parse ! \
  queue max-size-buffers=3 leaky=downstream ! v4l2h264dec ! $CAPS3 ! queue max-size-buffers=3 leaky=downstream ! \
  imxvideoconvert_g2d ! $CAPS4 ! queue max-size-buffers=3 leaky=downstream ! bev.sink_2 \
udpsrc port=3003 ! application/x-rtp,media=video,encoding-name=H264 ! rtph264depay ! h264parse ! \
  queue max-size-buffers=3 leaky=downstream ! v4l2h264dec ! $CAPS3 ! queue max-size-buffers=3 leaky=downstream ! \
  imxvideoconvert_g2d ! $CAPS4 ! queue max-size-buffers=3 leaky=downstream ! bev.sink_3 \
bev name=bev calibration-file=<calibration_file> ! \
  queue max-size-buffers=3 leaky=downstream ! imxvideoconvert_g2d ! $CAPS4 ! glimagesink sync=false qos=false

Profiling Tools

To obtain the measurements on the different performance indicators, these tools were used:

  • CPU Usage: RidgeRun Profiler
  • Memory Usage: RidgeRun Profiler
  • Latency: GstShark
  • GPU Usage: GPU Top
  • Framerate: GstShark

Results

4 cameras
Parameter imx8mp
Resolution 1024x768 1280x720 1920x1080
CPU Usage(%) 23.15 23.34 23.53
Memory Usage(MiB) 187.22 183.91 190.34
Latency(s) 0.252585 0.250167 0.252863
GPU Usage(%) 24 26 26
Framerate(fps) 25.541 24.703 22.897
6 cameras
Parameter imx8mp
Resolution 1024x768 1280x720 1920x1080
CPU Usage(%) 35.41 34.93 36.54
Memory Usage(MiB) 333.37 341.82 409.06
Latency(s) 0.635835 0.610770 0.613545
GPU Usage(%) 42 44 45
Framerate(fps) 25.006 24.997 24.910



⇦ Performance Measurements/NVIDIA Jetson Home Contact us ⇨