From: cristy Date: Sun, 5 May 2013 17:57:19 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3734 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=313974331a93fe62e84e824f4fe69ee83740502d;p=imagemagick --- diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c index c4f44a5e8..6d99556dd 100644 --- a/MagickCore/colorspace.c +++ b/MagickCore/colorspace.c @@ -174,9 +174,9 @@ static void ConvertRGBToYIQ(const double red,const double green, assert(Y != (double *) NULL); assert(I != (double *) NULL); assert(Q != (double *) NULL); - *Y=0.298839*red+0.586811*green+0.114350*blue; - *I=0.595716*red-0.274453*green-0.321263*blue+0.5; - *Q=0.211456*red-0.522591*green+0.311135*blue+0.5; + *Y=QuantumScale*(0.298839*red+0.586811*green+0.114350*blue); + *I=QuantumScale*(0.595716*red-0.274453*green-0.321263*blue)+0.5; + *Q=QuantumScale*(0.211456*red-0.522591*green+0.311135*blue)+0.5; } static void ConvertRGBToYPbPr(const double red,const double green, @@ -188,12 +188,9 @@ static void ConvertRGBToYPbPr(const double red,const double green, assert(Y != (double *) NULL); assert(Pb != (double *) NULL); assert(Pr != (double *) NULL); - *Y=0.298839*QuantumScale*red+0.586811*QuantumScale*green+0.114350* - QuantumScale*blue; - *Pb=(-0.1687367)*QuantumScale*red-0.331264*QuantumScale*green+0.5* - QuantumScale*blue+0.5; - *Pr=0.5*QuantumScale*red-0.418688*QuantumScale*green-0.081312* - QuantumScale*blue+0.5; + *Y=QuantumScale*(0.298839*red+0.586811*green+0.114350*blue); + *Pb=QuantumScale*((-0.1687367)*red-0.331264*green+0.5*blue)+0.5; + *Pr=QuantumScale*(0.5*QuantumScale*red-0.418688*green-0.081312*blue)+0.5; } static void ConvertRGBToYCbCr(const double red,const double green, @@ -217,9 +214,9 @@ static void ConvertRGBToYUV(const double red,const double green, assert(Y != (double *) NULL); assert(U != (double *) NULL); assert(V != (double *) NULL); - *Y=0.298839*red+0.586811*green+0.114350*blue; - *U=(-0.147)*red-0.289*green+0.436*blue+0.5; - *V=0.615*red-0.515*green-0.100*blue+0.5; + *Y=QuantumScale*(0.298839*red+0.586811*green+0.114350*blue); + *U=QuantumScale*((-0.147)*red-0.289*green+0.436*blue+0.5); + *V=QuantumScale*(0.615*red-0.515*green-0.100*blue+0.5); } static MagickBooleanType sRGBTransformImage(Image *image, @@ -1348,9 +1345,12 @@ static void ConvertYIQToRGB(const double Y,const double I,const double Q, assert(red != (double *) NULL); assert(green != (double *) NULL); assert(blue != (double *) NULL); - *red=Y+0.9562957197589482261*(I-0.5)+0.6210244164652610754*(Q-0.5); - *green=Y-0.2721220993185104464*(I-0.5)-0.6473805968256950427*(Q-0.5); - *blue=Y-1.1069890167364901945*(I-0.5)+1.7046149983646481374*(Q-0.5); + *red=QuantumRange*(Y+0.9562957197589482261*(I-0.5)+0.6210244164652610754* + (Q-0.5)); + *green=QuantumRange*(Y-0.2721220993185104464*(I-0.5)-0.6473805968256950427* + (Q-0.5)); + *blue=QuantumRange*(Y-1.1069890167364901945*(I-0.5)+1.7046149983646481374* + (Q-0.5)); } static void ConvertYUVToRGB(const double Y,const double U,const double V, @@ -1362,9 +1362,12 @@ static void ConvertYUVToRGB(const double Y,const double U,const double V, assert(red != (double *) NULL); assert(green != (double *) NULL); assert(blue != (double *) NULL); - *red=Y-3.945707070708279e-05*(U-0.5)+1.1398279671717170825*(V-0.5); - *green=Y-0.3946101641414141437*(U-0.5)-0.5805003156565656797*(V-0.5); - *blue=Y+2.0319996843434342537*(U-0.5)-4.813762626262513e-04*(V-0.5); + *red=QuantumRange*(Y-3.945707070708279e-05*(U-0.5)+1.1398279671717170825* + (V-0.5)); + *green=QuantumRange*(Y-0.3946101641414141437*(U-0.5)-0.5805003156565656797* + (V-0.5)); + *blue=QuantumRange*(Y+2.0319996843434342537*(U-0.5)-4.813762626262513e-04* + (V-0.5)); } static MagickBooleanType TransformsRGBImage(Image *image,