GstGLColorConvert ignores color range, transfer function and primaries
GstGLColorConvert
only converts from YUV to RGB (or the other way around) and chooses the color model matrix (GstVideoColorMatrix
) to be either bt709
or bt601
. Any color conversion where the in and out colorimetry have different color range, transfer function or primaries is broken. Any color conversion which has a color model matrix other than bt709
and bt601
is broken.
GstGLColorConvert
however claims to support all those conversions which is clearly wrong. Constraining the caps however will result in pipelines which worked before (even though with wrong colors) to stop working at all. The only sensible way to fix this is to implement correct and exhaustive color conversions.