From ef43854b3439907fa8bf77e25d450f3c71395218 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Thu, 6 Jul 2017 05:59:08 +0200 Subject: vo_opengl: prevent division by zero in shader In theory the max() should clamp it away anyway but I believe division by zero is UB so just avoid it altogether. --- video/out/opengl/video_shaders.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/video/out/opengl/video_shaders.c b/video/out/opengl/video_shaders.c index 995fbd2a1a..38d7939f96 100644 --- a/video/out/opengl/video_shaders.c +++ b/video/out/opengl/video_shaders.c @@ -532,7 +532,7 @@ static void pass_tone_map(struct gl_shader_cache *sc, float ref_peak, // Desaturate the color using a coefficient dependent on the brightness if (desat > 0 && ref_peak > desat) { - GLSLF("float overbright = max(0.0, (luma - %f) / luma);\n", desat); + GLSLF("float overbright = max(0.0, (luma - %f) / (luma + 1e-6));\n", desat); GLSL(color.rgb = mix(color.rgb, vec3(luma), overbright);) } -- cgit v1.2.3