[Bug 797169] compositor: Remove crossfade property and implement a more extensible interface like in glvideomixer
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Sep 24 11:42:09 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=797169
--- Comment #18 from Thibault Saunier <tsaunier at gnome.org> ---
(In reply to Sebastian Dröge (slomo) from comment #17)
> Ah so you want something like "background OVER (in1 ADD in2)", and the
> difficult part here are the parenthesis? I.e. "(background OVER in1) ADD
> in2" would be possible but that has a different result. What you want would
> need a second compositor in my proposal.
>
> Cairo defines the DEST_OVER operator for such a thing, which is OVER but the
> other way around. So what you want could be implemented as "(in1 ADD in2)
> DEST_OVER background" but blending the background last is a bit weird.
>
> I believe glvideomixer also can't do what you want currently, please correct
> me Matthew :)
>
> ----
>
> So to go one step back, what you want is that if the crossfade of the two
> pads is not opaque, then the background should shine through. Not based on
> the alpha of the first pad, but based on the combined alpha of both pads.
> Which kind of violates the painter's algorithm as implemented by compositor
> and which is why the crossfading code requires so many special cases
> everywhere.
There is 1 if and a special function call to handle that, not sure I would call
that "so many special cases everywhere" :D
> Maybe a cleaner approach would then be a crossfade/transition element, and
> then the output can be composited over a background? Or your background
> would be a third input of the compositor and applied with DEST_OVER? What is
> your background btw, just black or fully transparent?
That could work, not 100% convinced it the best option. Why do you think the
background should be a third input? The background is black.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list