Porter-Duff

DST:
[Da, Dc]
DST_ATOP:
[Sa, Sc×(1 - Da) + Dc×Sa]
DST_IN:
[Da×Sa, Dc×Sa]
DST_OUT:
[Da×(1 - Sa), Dc×(1 - Sa)]
DST_OVER:
[Sa + Da - Sa×Da, Sc×(1 - Da) + Dc]
SRC:
[Sa, Sc]
SRC_ATOP:
[Da, Sc×Da + Dc×(1 - Sa)]
SRC_IN
[Sa×Da, Sc×Da]
SRC_OUT:
[Sa×(1 - Da), Sc×(1 - Da)]
SRC_OVER:
[Sa + Da - Sa×Da, Sc + (1 - SaDc]

The CINELERRA-GG Community, 2021
https://www.cinelerra-gg.org