From 83aeb9cbd5359403cc0b17c533cc72f11cb25173 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 20 Feb 2012 20:55:30 +0000 Subject: Fix broken predivide option for reading in images, patch by Troy Sobotka. --- source/blender/blenlib/intern/math_color_inline.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'source/blender/blenlib') diff --git a/source/blender/blenlib/intern/math_color_inline.c b/source/blender/blenlib/intern/math_color_inline.c index f8b986e799b..cd1c0470ae2 100644 --- a/source/blender/blenlib/intern/math_color_inline.c +++ b/source/blender/blenlib/intern/math_color_inline.c @@ -179,7 +179,7 @@ MINLINE void srgb_to_linearrgb_uchar4(float linear[4], const unsigned char srgb[ MINLINE void srgb_to_linearrgb_uchar4_predivide(float linear[4], const unsigned char srgb[4]) { - float alpha, inv_alpha; + float fsrgb[4]; int i; if(srgb[3] == 255 || srgb[3] == 0) { @@ -187,13 +187,10 @@ MINLINE void srgb_to_linearrgb_uchar4_predivide(float linear[4], const unsigned return; } - alpha = srgb[3] * (1.0f/255.0f); - inv_alpha = 1.0f/alpha; - - for(i=0; i<3; ++i) - linear[i] = linearrgb_to_srgb(srgb[i] * inv_alpha) * alpha; + for (i=0; i<4; i++) + fsrgb[i] = srgb[i] * (1.0f/255.0f); - linear[3] = alpha; + srgb_to_linearrgb_predivide_v4(linear, fsrgb); } #endif /* BLI_MATH_COLOR_INLINE_H */ -- cgit v1.2.3