AnsweredAssumed Answered

imx8mq  composed video on dual display

Question asked by subhasish ghosh on Mar 10, 2020
Latest reply on Mar 23, 2020 by igorpadykov

Hi,

 

We are trying to display two overlayed composed videos in dual display configuration on the i.MX8MQ EVM.

One of the display is directly HDMI and the other is over MIPI -DSI to HDMI ADV7535 converter.

 

The gstreamer commands are as follows:

 

gst-launch-1.0 glvideomixer name=m \
sink_1::xpos=0 sink_1::ypos=0 sink_1::width=1920 sink_1::height=1080 ! \
videorate ! video/x-raw,framerate=30/1 ! \
kmssink can-scale=false sync=true \
filesrc location=bbb_sunflower_1080p_30fps_normal_x264_1m.mp4 ! qtdemux ! h264parse ! vpudec use-vpu-memory=true ! queue ! m.sink_1

 

gst-launch-1.0 glvideomixer name=m \
sink_3::xpos=0 sink_3::ypos=0 sink_3::width=1920 sink_3::height=1080 ! \
videorate ! video/x-raw,framerate=30/1 ! \
glimagesink sync=false enable-last-sample=false render-rectangle='<0,0,1920,1080>' \
filesrc location=bbb_sunflower_1080p_30fps_normal_x264_1m.mp4 ! qtdemux ! h264parse ! vpudec use-vpu-memory=true ! queue ! m.sink_3

 

While running these commands together, we observe that the frame rates reduce and the kmssink video starts to stutter or tear.

 

If we execute gputop -m ddr, the read-cycles ~ 3500 and writw-cycles ~ 2200 (MB).

 

Can we play two independent composed video on the kms and wayland sink.

Is the DDR or GPU bandwidth maxing out. How can we measure the current GPU load and what is the expected maximum DDR r/w cycles.

 

We are using the i.MX8MQ EVM and Linux 4.19.35 BSP.

Outcomes