I would expect ffmpeg to know that its straight alpha and to auto convert it.
Or perhaps using an ffmpeg filter to do that conversion will work? I dont know the syntax for that
Do we know why? That means that now if you change the opacity of a layer, it will bring down the opacity of both signals: fill and key.
If I recall correctly… The way it used to work on 2.0.7 with straight alpha ON is that the key signal was affected by the opacity but the fill signal was left unchanged. That allowed for colors to be displayed transparent without being so dimmed.
Setting up the key as straight / linear in some mixers was very convinient and straightforward. Outputting fill+key without straight alplha usually meant a bit more work and tinker in integrating the key on the mixer, as luma or similar.
Any chance of bringing it back or does it clash with any of the new features on the 2.3.x branch?
I think someone classed it as “unnecessary” complexity?
In 2.1 (I dont know about 2.0), mixing was always done premultiplied. There was an extra step done after the compositing that straightened out the alpha. So it had a performance (and code complexity) cost, for no visual benefit.
I have no problem with someone bringing it back. Being a post-step it feels to me like it should be pretty self contained.
But I am not sure on mixing in straight alpha, if that is what you are after. I am guessing that will result in needing large changes to the shader, and possibly to various producers and consumers to produce/consume correctly with this.
AFAIK that is not possible or at least very complex and does not help.
I once worked in an OB van with a Grass Valley vision mixer. The technician said a bit angry, that it is ABSOLUTELY not possible to switch it to premultiplied (or he did not know how, or just did not want to do it). So I was happy, that I could switch the output to straight alpha, to calm him down and make it work anyway. That was on 2.0.7.
Because of cases like that I also would find it very good, if we could bring it back, as most modern (read lottie) HTML templates do not run on 2.0.7.
So if I understand correctly there’s two different concepts: 1 is outputting whatever is being sent on the channel as straight alpha through decklink and 2 is mixing casparcg layers internally as straight.
I cannot think of scenarios where I would need to set internal mixing in straight, but the final output being straight alpha is still used (and explicitly requested) in several control rooms and OB vans, as @didikunz mentioned.
To have the choice which key type to use in vision mixers (additive or linear) it would be nice to have an optional casparcg straight output, too. It’s usually the more brilliant composition in the final output.
I don’t agree to useless straight layering inside casparcg. In production I have to deal with different render sources for clips (fill+key). One can render both key types but the other renders only straight alpha. To use clips from both renderers without switching configuration it would be nice to use straight alpha through the whole pipeline.