From 3d71aa8265ffaaf686021a6fbd54c037f71ee3a2 Mon Sep 17 00:00:00 2001 From: Cristy Date: Fri, 11 Oct 2019 19:47:56 -0400 Subject: [PATCH] https://github.com/ImageMagick/ImageMagick/issues/1739 --- MagickCore/gem-private.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/MagickCore/gem-private.h b/MagickCore/gem-private.h index fa7bd12ab..0b7878857 100644 --- a/MagickCore/gem-private.h +++ b/MagickCore/gem-private.h @@ -107,6 +107,9 @@ static inline void ConvertLabToXYZ(const double L,const double a,const double b, static inline void ConvertLuvToXYZ(const double L,const double u,const double v, double *X,double *Y,double *Z) { + double + gamma; + assert(X != (double *) NULL); assert(Y != (double *) NULL); assert(Z != (double *) NULL); @@ -114,9 +117,10 @@ static inline void ConvertLuvToXYZ(const double L,const double u,const double v, *Y=(double) pow((L+16.0)/116.0,3.0); else *Y=L/CIEK; - *X=((*Y*((39.0*L/(v+13.0*L*(9.0*D65Y/(D65X+15.0*D65Y+3.0*D65Z))))-5.0))+ - 5.0*(*Y))/((((52.0*L/(u+13.0*L*(4.0*D65X/(D65X+15.0*D65Y+3.0*D65Z))))-1.0)/ - 3.0)-(-1.0/3.0)); + gamma=PerceptibleReciprocal((((52.0*L/(u+13.0*L*(4.0*D65X/(D65X+15.0*D65Y+ + 3.0*D65Z))))-1.0)/3.0)-(-1.0/3.0)); + *X=gamma*((*Y*((39.0*L/(v+13.0*L*(9.0*D65Y/(D65X+15.0*D65Y+3.0*D65Z))))-5.0))+ + 5.0*(*Y)); *Z=(*X*(((52.0*L/(u+13.0*L*(4.0*D65X/(D65X+15.0*D65Y+3.0*D65Z))))-1.0)/3.0))- 5.0*(*Y); } -- 2.50.0