I'm trying to determine what the cause of about a 2 second video latency using the AM62A EVM with the provided 08.06.00.45 SDK EdgeAI image from an attached Sony IMX219 camera streaming H.264 encoded video over RTP to a PC running VLC attached through a Gigabit ethernet switch and DHCP router.
I am using the following commands to start the stream (along with capturing gstreamer tracers):
root@am62axx-evm: media-ctl --set-v4l2 "'imx219 4-0010':0[fmt:SRGGB10_1X10/1920x1080 field:none]"
root@am62axx-evm: GST_DEBUG_FILE=/run/trace.log GST_DEBUG_NO_COLOR=1 GST_DEBUG="GST_TRACER:7" GST_TRACERS="latency(flags=element)" gst-launch-1.0 v4l2src io-mode=dmabuf-import device=/dev/video2 ! video/x-bayer, width=1920, height=1080, format=rggb10 ! tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/dcc_viss_10b_1920x1080.bin sink_0::dcc-2a-file=/opt/imaging/imx219/dcc_2a_10b_1920x1080.bin format-msb=9 ! v4l2h264enc output-io-mode=dmabuf-import ! rtph264pay config-interval=1 pt=96 ! udpsink host=XXX.XXX.XXX.XXX port=5000 -e
(Note: XXX.XXX.XXX.XXX is replaced with an actual IP address of the receiver PC)
The gst-traceres script reports the following on my setup:
+-----------------------------------------------------------------------------------+
|element latency out-latancy out-fps frames |
+-----------------------------------------------------------------------------------+
|capsfilter0 0.10 33.31 30 3201 |
|tiovxisp0 9.05 33.30 30 3200 |
|v4l2h264enc0 8.41 33.28 30 3201 |
|rtph264pay0 0.24 33.27 30 3202 |
+-----------------------------------------------------------------------------------+
And from the perf_stats tool:
Summary of CPU load,
====================
CPU: mpu1_0: TOTAL LOAD = 5.70 % ( HWI = 0.24 %, SWI = 0.12 % )
CPU: mcu1_0: TOTAL LOAD = 2. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % )
CPU: c7x_1: TOTAL LOAD = 0. 0 % ( HWI = 0. 0 %, SWI = 0. 0 % )
HWA performance statistics,
===========================
HWA: VISS: LOAD = 17.45 % ( 62 MP/s )
DDR performance statistics,
===========================
DDR: READ BW: AVG = 770 MB/s, PEAK = 2855 MB/s
DDR: WRITE BW: AVG = 319 MB/s, PEAK = 1190 MB/s
DDR: TOTAL BW: AVG = 1089 MB/s, PEAK = 4045 MB/s
My goal is to have a much lower video latency that is practically unnoticeable to human perception, in this setup at least. Any suggestions or help with areas to inspect would be appreciated.
Thank You