Hello,
We're facing an issue on Android with the VPU and glTexDirectVIVMap. Using GStreamer 1.0 (1.4.5) and gstreamer-imx plugin suite, we are receiveing a RTP stream, we're decoding it with imxvpudec plugin and we're displaying it with imxeglvivsink to the surface of an Android application.
Everything works fine, except when the received stream as a "weird" resolution (for instance 1264x711). In this case, the display looks like : https://cloud.githubusercontent.com/assets/1169197/13978507/e9da146e-f0d1-11e5-8308-0a4dcf031a70.png
We also tested a patched version of glimasink (from GStreamer plugin bad) that uses the same glTexDirectVIVMap to avoid copies and we're facing the same issues. When the zero-copy patch is removed, everything works fine.
We tried to reproduce this on a Yocto linux platform, and we failed.
It seems there's an issue with the YUV picture emitted from the VPU or the way the gl stack reads it, is that a known issue ? Do you know how to fix this ?
Configuration tried:
Hi Damien,
Unfortunately could not access to see the picture however, there was a re-implementation fixes on glTexDirectVIV, glTexDirectVIVMap and glTexDirectInvalidateVIV on GPU driver 5.0.11p7 that should works with the YUV format on eglvivsink. Please give it a try and let us know if the issue remains
hope this helps
Hi,
Indeed the picture does not work as is, it works doing a right click ->open in new tab/window. We're working on running android 5.1.1 which has this version of the driver, so we'll try it as soon as we got something running. I'll keep you informed.
Best regards