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 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Audric,
We've got a similar problem with imxvpudec/imxeglvivsink with the same platform, the same kernel, the same version of GStreamer but on Android. For us, the bug appeared only when decoding/displaying videos with width and/or height not multiple of 16 pixels. Here is the bug we opened: https://github.com/Freescale/gstreamer-imx/issues/90, from the test we did (with another gstreamer version, a newer kernel, updates plugins) we failed to fix it. Nevertheless the maintainer failed to reproduce its linux platform. We deduced it was a VPU and/or GPU/EGL bug. If you found any similarity or need more info, do not hesitate. BR, Damien; Le 03/30/2016 10:52 AM, Audric
Ackermann a écrit :
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 _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |