Green artefact on imx6 with zero copy

Audric Ackermann audric.ackermann at openwide.fr
Wed Mar 30 08:52:33 UTC 2016


Hi,

I am trying to play an h264 rtp stream to a gles2 texture on imx6 using an appsink and vivante map feature (zero copy).
I am using gstreamer-imx 0.12.0, gstreamer 1.4.5 and kernel version 3.0.35.

I am able to play the stream using an imxeglvivsink like this:

udpsrc port=5001 name=udpsrc caps=\"application/x-rtp,pt=96,encoding-name=H264,framerate=(fraction)30/1 \" ! rtph264depay ! h264parse config-interval=1 ! imxvpudec ! imxipuvideotransform ! video/x-raw,format=UYVY ! imxeglvivsink


But for some reason, when I use my appsink and feed my texture with my buffer phys address via glTexDirectVivMap, I get sometimes green artefacts.
Sometimes it is the whole picture which is green, and only "key frames" are correct, sometimes it is only the bottom of the video (like 100 pixels) which are green.

The strange thing is it happens to work quiet good for a while, and then (often after reboot) I will get those artefacts.

I have used the imxeglvivsink as a template to build my appsink. It's not complicated at all, just receiving buffers in a thread, saving them with mutex lock, and in the render thread access these buffers with lock and get phys mem adress to display them with TexDirectVivMap.


I would like to remove the imxipuvideotransform but I get then get this issue: https://github.com/Freescale/gstreamer-imx/issues/91


I am out of ideas about where this can come from.
Any ideas where I should look ?

Cheers,
Audric Ackermann



More information about the gstreamer-devel mailing list