Hi!
I am having some issues with color conversions when using glcolorconvert. I am developing an application where I want to overlay a video with transparency and where the color conversion does not seem to work properly.
I am suspecting it has something to do with the alpha conversion since in the regions where there is alpha blending for the images, the colors turn magnenta like instead of a expected black shadow, see image below.
[Left shows the pipeline below and the issue I am facing, right is the same but where I transcoded the overlay with qtrle and argb pixel format]
I was able to reproduce it with a simple gst-launch command and using the glvideomixer and a testsrc.
gst-launch-1.0 glvideomixer name=m ! capsfilter caps="video/x-raw(memory:GLMemory),format=RGBA" ! glimagesink \
videotestsrc pattern=white ! video/x-raw, format=I420, framerate=25/1, width=1920, height=1080 ! \
queue ! glupload ! glcolorconvert ! m. \
filesrc location=overlay-video.mkv ! matroskademux ! queue ! decodebin3 ! capsfilter caps="video/x-raw(ANY),format=A420" ! glupload ! glcolorconvert ! queue ! m.
The overlay video is vp9 encoded with yuva420p (or I420) pixel format and with a limited color-range. I have tried setting some capssetters to force a different colorimetry conversion but it does not seem to make a difference…
Note: This happens on gst version 1.26 and not on 1.24. There are some patches merged to 1.26 in glcolorconvert that has made other improvements to the color conversion which I need, but this feels like an regression.
Any ideas what could be causing this? Any help here is much appreciated!