compositor: Skip background when a pad obscures it completely
commit 2ebb133c:
compositor: Remove unused function argument
commit 7425766e:
compositor: Add some comments, remove outdated ones
commit e668e621:
compositor: Factor-out rectangle-obscuring check
We're going to use this for checking if one of the pads obscures the
background.
commit daf53032:
compositor: Don't log per-frame under GST_INFO
commit 77630efe:
compositor: Skip the background when not visible
We don't need to waste time drawing the background when one of the
pads completely covers the output and there's no alpha on the pad or
in the video format. Speedups:
I420 1080p ! compositor ! fakesink - 72% faster
I420 1080p ! compositor background=black ! fakesink - 45% faster
commit 550474a5:
compositor: Skip background if transparent and obscured
If the background is transparent and obscured by a pad that may or may
not have alpha, we can still skip drawing it entirely
AYUV 1080p ! compositor background=transparent ! fakesink - 75% faster
Note: we should also skip the background drawing when a combination of pads completely obscures the background, but that's significantly harder to do and can be done incrementally on top of this optimization. The next step after that is to also only draw the background in the pixels that are not obscured.
Edited by Tim-Philipp Müller