Glcolorconvert issues

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!

Please report issues in gitlab. This one was already reported though, and is fixed by glcolorconvert: fix YUVA<->RGBA conversions (!8765) · Merge requests · GStreamer / gstreamer · GitLab .

1 Like

Oh quick turnaround=)

Gotya, was unsure if there was some workaround perhaps. Will do next time.

Will have to try the fix out, thanks!

1 Like