X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=effect_chain.cpp;h=1d9aea82429c9e62deff8b4d1176d08f91854455;hb=34776d3ed2565ee834405e575bf3bfc7f7933e36;hp=fa7340d7a456839f7ef2563d76c5a872182491ff;hpb=24164d4eb7654cbcde8dfc2f0d7fad2e698e3ff0;p=movit diff --git a/effect_chain.cpp b/effect_chain.cpp index fa7340d..1d9aea8 100644 --- a/effect_chain.cpp +++ b/effect_chain.cpp @@ -1176,6 +1176,12 @@ void EffectChain::propagate_alpha() if (alpha_handling == Effect::INPUT_AND_OUTPUT_PREMULTIPLIED_ALPHA || alpha_handling == Effect::INPUT_PREMULTIPLIED_ALPHA_KEEP_BLANK) { + // This combination (requiring premultiplied alpha, but _not_ requiring + // linear light) is illegal, // since the combination + // of premultiplied alpha and nonlinear inputs is + // meaningless. + assert(node->effect->needs_linear_light()); + // If the effect has asked for premultiplied alpha, check that it has got it. if (any_postmultiplied) { node->output_alpha_type = ALPHA_INVALID;