Does gamma cross work as expected?

I was surprised, then I was trying to get the difference between Cross and Gamma Cross in VSE. We know about Gamma blending from 2D painting apps, and I had expected to see something similar:

Peek 2022-01-22 00-09

In regular (non-gamma) mode, we mix color in sRGB and get darken color when we are trying to mix red and green colors. In gamma mode, colors converts to linear space and gets colors that fewer shifts in dark. So imagine my surprise then I get color in Gamma Cross even darker!

Cross:

Gamma Cross:

So I decided to raise a question, is that expected behavior? Are the colors converted in wrong direction, or maybe Cross and Gamma Cross has been swiped?

From the values that I can see in Image Viewer, Cross mixes colors in sRGB values, but Gamma Cross looks like works as inverted gamma cross.

And I don’t see any difference, then change “Sequencer” the Color management setting:

image

1 Like

I raised a similar question on StackOverflow a few days ago because I’m trying to document the transition effects (see Transition — Blender VSE 3.0 documentation documentation). Do you have any additional info about the (use of) the gamma blending that could clarify the inner working (math?) of the gamma cross transition or the gamma blending? Thanks.

I can explain how it should work, but this implementation I don’t understand…

Honestly, I don’t understand it either and also I am not quite aware of how it should work to begin with. Only information I see is from manual, where it is mentioned that it does use “color correction”, whatever that means.

All strips do operations on color data in sequencer working space, which can be set up in colormanagemet tab in render properties. this strip does operate in this space as well. Perhaps it was intended for this strip to work correctly in linear space, but it gives same result.

I would agree, that is probably broken, but this seems to be the case for very long time. I can check compositor version and replace code for this strip. And hope, this doesn’t reveal more underlying issues with colormanagement.

I suppose, you can make backward compatibility like this one: rBf5ce243a56a2