]> git.sesse.net Git - movit/blobdiff - footer.frag
Allow storing values in intermediate framebuffers as sqrt(x).
[movit] / footer.frag
index 4976136abf07491c6e586fa6a9380d5878248f48..339ef7bbb335887fd36f4d209f03d3dfb6247618 100644 (file)
 #define YCBCR_ALSO_OUTPUT_RGBA 0
 #endif
 
+#ifndef SQUARE_ROOT_TRANSFORMATION
+#define SQUARE_ROOT_TRANSFORMATION 0
+#endif
+
 #if YCBCR_OUTPUT_PLANAR
 out vec4 Y;
 out vec4 Cb;
@@ -38,6 +42,11 @@ void main()
        vec4 color0 = INPUT(tc);
 #endif
 
+#if SQUARE_ROOT_TRANSFORMATION
+       // Make sure we don't give negative values to sqrt.
+       color0.rgb = sqrt(max(color0.rgb, 0.0));
+#endif
+
 #if YCBCR_OUTPUT_PLANAR
        Y = color0.rrra;
        Cb = color0.ggga;