Dear NXP Team,
I need to use the GPU to flip my image for low latency with the i.MX 8M Quad (i.MX8MQ) processor. I discovered that the i.MX8MQ does not support 2D graphics, which excludes the use of imxcompositor_g2d and imxvideoconvert_g2d, so I need to use OpenGL for this task. The pipeline in [1] works well on my PC; however, on GStreamer [2] (Mickledore Yocto), the same pipeline displays the video without flipping it. When I replace glvideoflip method=horizontal-flip with gltransformation scale-x=-1, the video flips but freezes immediately [3]. Although I managed to use the rotate method in glimagesink to flip the entire video, this approach isn't feasible since I am displaying multiple camera streams in a mosaic and can't use a sink for each one. I attached the output of the pipeline [3]
Do you have any suggestions for resolving this issue?
Best regards,
Szilard B
[1] gst-launch-1.0 filesrc location="/media/szibes/szilard/test_screen.mp4" ! qtdemux name=demux \
demux.video_0 ! queue ! h264parse ! avdec_h264 ! videoconvert ! glupload ! glvideoflip method=horizontal-flip ! glimagesink sync=false enable-last-sample=false qos=false force-aspect-ratio=false render-rectangle='<0, 0,1920,1080>'
[2] gst-inspect-1.0 version 1.22.0
GStreamer 1.22.0
Unknown package origin
[3] gst-launch-1.0 filesrc location="/path/to/test_video.mp4" ! qtdemux name=demux \
demux.video_0 ! queue ! h264parse ! vpudec ! videoconvert ! glupload ! gltransformation scale-x=-1 ! glimagesink