]> git.sesse.net Git - movit/blobdiff - lift_gamma_gain_effect.frag
Add proper formats for sRGB without alpha.
[movit] / lift_gamma_gain_effect.frag
index 775941ebc641e35049b7b333422eed4b9e237dcc..9047d64bbc2230c263e6fb5a6025642435cf8cd0 100644 (file)
@@ -6,6 +6,10 @@ vec4 FUNCNAME(vec2 tc) {
        vec4 x = INPUT(tc);
 
        x.rgb /= x.aaa;
+
+       // pow() of negative numbers is undefined, so clip out-of-gamut values.
+       x.rgb = max(x.rgb, 0.0);
+
        x.rgb = pow(x.rgb, vec3(1.0/2.2));
        x.rgb += PREFIX(lift) * (vec3(1) - x.rgb);
        x.rgb = pow(x.rgb, PREFIX(inv_gamma_22));