Fix broken predivide option for reading in images, patch by Troy Sobotka.

This commit is contained in:
Brecht Van Lommel
2012-02-20 20:55:30 +00:00
parent 3bcca01c24
commit 83aeb9cbd5

View File

@@ -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<4; i++)
fsrgb[i] = srgb[i] * (1.0f/255.0f);
for(i=0; i<3; ++i)
linear[i] = linearrgb_to_srgb(srgb[i] * inv_alpha) * alpha;
linear[3] = alpha;
srgb_to_linearrgb_predivide_v4(linear, fsrgb);
}
#endif /* BLI_MATH_COLOR_INLINE_H */