you have to build it with some nodes by your self, this sounds at the start maybe scary but then its more powerful then a pure unpremult by white.
with this method you can unpremult by any color or even with image BGs (as long as you have a cleanplate)
{
Tools = ordered() {
SubstractFGBG = ChannelBoolean {
NameSet = true,
Inputs = {
Operation = Input { Value = 2, },
Background = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
Foreground = Input {
SourceOp = "MultiplyBGA",
Source = "Output",
},
Comments = Input { Value = "Substract BG from FG", },
},
ViewInfo = OperatorInfo { Pos = { 813.815, 390.285, }, },
},
ChannelBooleans4 = ChannelBoolean {
CtrlWZoom = false,
Inputs = {
ToRed = Input { Value = 4, },
ToGreen = Input { Value = 4, },
ToBlue = Input { Value = 4, },
Background = Input {
SourceOp = "SubstractFGBG",
Source = "Output",
},
Foreground = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
Comments = Input { Value = "bring back original alpha", },
},
ViewInfo = OperatorInfo { Pos = { 982.929, 397.106, }, },
},
MultiplyBGA = ChannelBoolean {
NameSet = true,
Inputs = {
Operation = Input { Value = 6, },
Background = Input {
SourceOp = "Background1_1",
Source = "Output",
},
Foreground = Input {
SourceOp = "InvertAlpha",
Source = "Output",
},
Comments = Input { Value = "multiply BG with inverted alpha, to matte out the FG", },
},
ViewInfo = OperatorInfo { Pos = { 625.969, 393.695, }, },
},
Note2 = Note {
Inputs = {
Comments = Input { Value = "here is the BG Image, look that is has the same dimensions like your footage", },
},
ViewInfo = StickyNoteInfo {
Pos = { 351.13, 270.919, },
Flags = {
Expanded = true,
},
Size = { 196, 179.3, },
},
},
InvertAlpha = ChannelBoolean {
NameSet = true,
Inputs = {
Operation = Input { Value = 10, },
ToRed = Input { Value = 3, },
ToGreen = Input { Value = 3, },
ToBlue = Input { Value = 3, },
Background = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
Comments = Input { Value = "Invert the original alpha", },
},
ViewInfo = OperatorInfo { Pos = { 636.471, 307.297, }, },
},
Background1_1 = Background {
Inputs = {
Width = Input { Value = 2048, },
Height = Input { Value = 1556, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
TopLeftRed = Input { Value = 1, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1, },
[1] = { 1, 1, 1, 1, },
},
},
},
},
ViewInfo = OperatorInfo { Pos = { 393.193, 397.106, }, },
},
PipeRouter1 = PipeRouter {
ViewInfo = PipeRouterInfo { Pos = { 646.703, 231.13, }, },
},
Note1 = Note {
Inputs = {
Comments = Input { Value = "Image with BG goes here", },
},
ViewInfo = StickyNoteInfo {
Pos = { 722.869, 201.573, },
Size = { 196, 179.3, },
},
},
},
}