]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Wed, 29 Aug 2012 16:53:25 +0000 (16:53 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Wed, 29 Aug 2012 16:53:25 +0000 (16:53 +0000)
MagickCore/colorspace.c

index c6f6c6017ed7f09c62652bb8db3444e78f8283fa..100d6c9abb267872152eff2a43db248641838300 100644 (file)
@@ -805,7 +805,7 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
         logmap[i]=ScaleMapToQuantum((double) (MaxMap*(reference_white+
-          log10(black+((double) i/MaxMap)*(1.0-black))/((gamma/density)*
+          log10(black+(1.0*i/MaxMap)*(1.0-black))/((gamma/density)*
           0.002/film_gamma))/1024.0));
       image_view=AcquireAuthenticCacheView(image,exception);
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
@@ -1157,15 +1157,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.33333*(double) i;
-        y_map[i].x=0.33334*(double) i;
-        z_map[i].x=0.33333*(double) i;
-        x_map[i].y=0.50000*(double) i;
-        y_map[i].y=0.00000*(double) i;
-        z_map[i].y=(-0.50000)*(double) i;
-        x_map[i].z=(-0.25000)*(double) i;
-        y_map[i].z=0.50000*(double) i;
-        z_map[i].z=(-0.25000)*(double) i;
+        x_map[i].x=0.33333*i;
+        y_map[i].x=0.33334*i;
+        z_map[i].x=0.33333*i;
+        x_map[i].y=0.50000*i;
+        y_map[i].y=0.00000*i;
+        z_map[i].y=(-0.50000)*i;
+        x_map[i].z=(-0.25000)*i;
+        y_map[i].z=0.50000*i;
+        z_map[i].z=(-0.25000)*i;
       }
       break;
     }
@@ -1190,15 +1190,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.298839*(double) i;
-        y_map[i].x=0.586811*(double) i;
-        z_map[i].x=0.114350*(double) i;
-        x_map[i].y=(-0.1687367)*(double) i;
-        y_map[i].y=(-0.331264)*(double) i;
-        z_map[i].y=0.500000*(double) i;
-        x_map[i].z=0.500000*(double) i;
-        y_map[i].z=(-0.418688)*(double) i;
-        z_map[i].z=(-0.081312)*(double) i;
+        x_map[i].x=0.298839*i;
+        y_map[i].x=0.586811*i;
+        z_map[i].x=0.114350*i;
+        x_map[i].y=(-0.1687367)*i;
+        y_map[i].y=(-0.331264)*i;
+        z_map[i].y=0.500000*i;
+        x_map[i].z=0.500000*i;
+        y_map[i].z=(-0.418688)*i;
+        z_map[i].z=(-0.081312)*i;
       }
       break;
     }
@@ -1222,15 +1222,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.212600*(double) i;
-        y_map[i].x=0.715200*(double) i;
-        z_map[i].x=0.072200*(double) i;
-        x_map[i].y=(-0.114572)*(double) i;
-        y_map[i].y=(-0.385428)*(double) i;
-        z_map[i].y=0.500000*(double) i;
-        x_map[i].z=0.500000*(double) i;
-        y_map[i].z=(-0.454153)*(double) i;
-        z_map[i].z=(-0.045847)*(double) i;
+        x_map[i].x=0.212600*i;
+        y_map[i].x=0.715200*i;
+        z_map[i].x=0.072200*i;
+        x_map[i].y=(-0.114572)*i;
+        y_map[i].y=(-0.385428)*i;
+        z_map[i].y=0.500000*i;
+        x_map[i].z=0.500000*i;
+        y_map[i].z=(-0.454153)*i;
+        z_map[i].z=(-0.045847)*i;
       }
       break;
     }
@@ -1249,27 +1249,27 @@ static MagickBooleanType sRGBTransformImage(Image *image,
       primary_info.z=(double) ScaleQuantumToMap(ScaleCharToQuantum(137));
       for (i=0; i <= (ssize_t) (0.018*MaxMap); i++)
       {
-        x_map[i].x=0.003962014134275617*(double) i;
-        y_map[i].x=0.007778268551236748*(double) i;
-        z_map[i].x=0.001510600706713781*(double) i;
-        x_map[i].y=(-0.002426619775463276)*(double) i;
-        y_map[i].y=(-0.004763965913702149)*(double) i;
-        z_map[i].y=0.007190585689165425*(double) i;
-        x_map[i].z=0.006927257754597858*(double) i;
-        y_map[i].z=(-0.005800713697502058)*(double) i;
-        z_map[i].z=(-0.0011265440570958)*(double) i;
+        x_map[i].x=0.003962014134275617*i;
+        y_map[i].x=0.007778268551236748*i;
+        z_map[i].x=0.001510600706713781*i;
+        x_map[i].y=(-0.002426619775463276)*i;
+        y_map[i].y=(-0.004763965913702149)*i;
+        z_map[i].y=0.007190585689165425*i;
+        x_map[i].z=0.006927257754597858*i;
+        y_map[i].z=(-0.005800713697502058)*i;
+        z_map[i].z=(-0.0011265440570958)*i;
       }
       for ( ; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.2201118963486454*(1.099*(double) i-0.099);
-        y_map[i].x=0.4321260306242638*(1.099*(double) i-0.099);
-        z_map[i].x=0.08392226148409894*(1.099*(double) i-0.099);
-        x_map[i].y=(-0.1348122097479598)*(1.099*(double) i-0.099);
-        y_map[i].y=(-0.2646647729834528)*(1.099*(double) i-0.099);
-        z_map[i].y=0.3994769827314126*(1.099*(double) i-0.099);
-        x_map[i].z=0.3848476530332144*(1.099*(double) i-0.099);
-        y_map[i].z=(-0.3222618720834477)*(1.099*(double) i-0.099);
-        z_map[i].z=(-0.06258578094976668)*(1.099*(double) i-0.099);
+        x_map[i].x=0.2201118963486454*(1.099*i-0.099);
+        y_map[i].x=0.4321260306242638*(1.099*i-0.099);
+        z_map[i].x=0.08392226148409894*(1.099*i-0.099);
+        x_map[i].y=(-0.1348122097479598)*(1.099*i-0.099);
+        y_map[i].y=(-0.2646647729834528)*(1.099*i-0.099);
+        z_map[i].y=0.3994769827314126*(1.099*i-0.099);
+        x_map[i].z=0.3848476530332144*(1.099*i-0.099);
+        y_map[i].z=(-0.3222618720834477)*(1.099*i-0.099);
+        z_map[i].z=(-0.06258578094976668)*(1.099*i-0.099);
       }
       break;
     }
@@ -1279,8 +1279,8 @@ static MagickBooleanType sRGBTransformImage(Image *image,
         Initialize YIQ tables:
 
           Y = 0.298839*R+0.586811*G+0.114350*B
-          I = 0.59600*R-0.27400*G-0.32200*B
-          Q = 0.21100*R-0.52300*G+0.31200*B
+          I = 0.595716*R-0.274453*G-0.321263*B
+          Q = 0.211456*R-0.522591*G+0.311135*B
 
         I and Q, normally -0.5 through 0.5, are normalized to the range 0
         through QuantumRange.
@@ -1293,15 +1293,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.298839*(double) i;
-        y_map[i].x=0.586811*(double) i;
-        z_map[i].x=0.114350*(double) i;
-        x_map[i].y=0.59600*(double) i;
-        y_map[i].y=(-0.27400)*(double) i;
-        z_map[i].y=(-0.32200)*(double) i;
-        x_map[i].z=0.21100*(double) i;
-        y_map[i].z=(-0.52300)*(double) i;
-        z_map[i].z=0.31200*(double) i;
+        x_map[i].x=0.298839*i;
+        y_map[i].x=0.586811*i;
+        z_map[i].x=0.114350*i;
+        x_map[i].y=0.595716*i;
+        y_map[i].y=(-0.274453)*i;
+        z_map[i].y=(-0.321263)*i;
+        x_map[i].z=0.211456*i;
+        y_map[i].z=(-0.522591)*i;
+        z_map[i].z=0.311135*i;
       }
       break;
     }
@@ -1310,9 +1310,9 @@ static MagickBooleanType sRGBTransformImage(Image *image,
       /*
         Initialize YPbPr tables (ITU-R BT.601):
 
-          Y =  0.298839*R+0.586811*G+0.114350*B
-          Pb= -0.168736*R-0.331264*G+0.500000*B
-          Pr=  0.500000*R-0.418688*G-0.081312*B
+          Y =  0.2988390*R+0.5868110*G+0.1143500*B
+          Pb= -0.1687367*R-0.3312640*G+0.5000000*B
+          Pr=  0.5000000*R-0.4186880*G-0.0813120*B
 
         Pb and Pr, normally -0.5 through 0.5, are normalized to the range 0
         through QuantumRange.
@@ -1325,15 +1325,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.298839*(double) i;
-        y_map[i].x=0.586811*(double) i;
-        z_map[i].x=0.114350*(double) i;
-        x_map[i].y=(-0.168736)*(double) i;
-        y_map[i].y=(-0.331264)*(double) i;
-        z_map[i].y=0.500000*(double) i;
-        x_map[i].z=0.500000*(double) i;
-        y_map[i].z=(-0.418688)*(double) i;
-        z_map[i].z=(-0.081312)*(double) i;
+        x_map[i].x=0.298839*i;
+        y_map[i].x=0.586811*i;
+        z_map[i].x=0.114350*i;
+        x_map[i].y=(-0.1687367)*i;
+        y_map[i].y=(-0.331264)*i;
+        z_map[i].y=0.500000*i;
+        x_map[i].z=0.500000*i;
+        y_map[i].z=(-0.418688)*i;
+        z_map[i].z=(-0.081312)*i;
       }
       break;
     }
@@ -1357,15 +1357,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=0.298839*(double) i;
-        y_map[i].x=0.586811*(double) i;
-        z_map[i].x=0.114350*(double) i;
-        x_map[i].y=(-0.147130)*(double) i;
-        y_map[i].y=(-0.288860)*(double) i;
-        z_map[i].y=0.436000*(double) i;
-        x_map[i].z=0.615000*(double) i;
-        y_map[i].z=(-0.514990)*(double) i;
-        z_map[i].z=(-0.100001)*(double) i;
+        x_map[i].x=0.298839*i;
+        y_map[i].x=0.586811*i;
+        z_map[i].x=0.114350*i;
+        x_map[i].y=(-0.147130)*i;
+        y_map[i].y=(-0.288860)*i;
+        z_map[i].y=0.436000*i;
+        x_map[i].z=0.615000*i;
+        y_map[i].z=(-0.514990)*i;
+        z_map[i].z=(-0.100001)*i;
       }
       break;
     }
@@ -1380,15 +1380,15 @@ static MagickBooleanType sRGBTransformImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
+        x_map[i].x=1.0*i;
         y_map[i].x=0.0f;
         z_map[i].x=0.0f;
         x_map[i].y=0.0f;
-        y_map[i].y=(double) i;
+        y_map[i].y=1.0*i;
         z_map[i].y=0.0f;
         x_map[i].z=0.0f;
         y_map[i].z=0.0f;
-        z_map[i].z=(double) i;
+        z_map[i].z=1.0*i;
       }
       break;
     }
@@ -2900,20 +2900,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
-        y_map[i].x=0.500000*(2.000000*(double) i-(double)
-          MaxMap);
-        z_map[i].x=(-0.333340)*(2.000000*(double) i-(double)
-          MaxMap);
-        x_map[i].y=(double) i;
+        x_map[i].x=1.0*i;
+        y_map[i].x=0.5*(2.0*i-MaxMap);
+        z_map[i].x=(-0.333340)*(2.0*i-MaxMap);
+        x_map[i].y=1.0*i;
         y_map[i].y=0.000000;
-        z_map[i].y=0.666665*(2.000000*(double) i-(double)
-          MaxMap);
-        x_map[i].z=(double) i;
-        y_map[i].z=(-0.500000)*(2.000000*(double) i-(double)
-          MaxMap);
-        z_map[i].z=(-0.333340)*(2.000000*(double) i-(double)
-          MaxMap);
+        z_map[i].y=0.666665*(2.0*i-MaxMap);
+        x_map[i].z=1.0*i;
+        y_map[i].z=(-0.500000)*(2.0*i-MaxMap);
+        z_map[i].z=(-0.333340)*(2.0*i-MaxMap);
       }
       break;
     }
@@ -2938,12 +2933,12 @@ static MagickBooleanType TransformsRGBImage(Image *image,
       {
         x_map[i].x=0.99999999999914679361*i;
         y_map[i].x=(1.2188941887145875e-06)*i;
-        z_map[i].x=0.5*1.4019995886561440468*(2.000000*i-MaxMap);
+        z_map[i].x=0.5*1.4019995886561440468*(2.00*i-MaxMap);
         x_map[i].y=0.99999975910502514331*i;
-        y_map[i].y=0.5*(-0.34413567816504303521)*(2.000000*i-MaxMap);
-        z_map[i].y=0.5*(-0.71413649331646789076)*(2.000000*i-MaxMap);
+        y_map[i].y=0.5*(-0.34413567816504303521)*(2.00*i-MaxMap);
+        z_map[i].y=0.5*(-0.71413649331646789076)*(2.00*i-MaxMap);
         x_map[i].z=1.00000124040004623180*i;
-        y_map[i].z=0.5*1.77200006607230409200*(2.000000*i-MaxMap);
+        y_map[i].z=0.5*1.77200006607230409200*(2.00*i-MaxMap);
         z_map[i].z=2.1453384174593273e-06*i;
       }
       break;
@@ -2966,19 +2961,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
-        y_map[i].x=0.000000;
-        z_map[i].x=(1.574800*0.50000)*(2.00000*(double) i-
-          (double) MaxMap);
-        x_map[i].y=(double) i;
-        y_map[i].y=(-0.187324*0.50000)*(2.00000*(double) i-
-          (double) MaxMap);
-        z_map[i].y=(-0.468124*0.50000)*(2.00000*(double) i-
-          (double) MaxMap);
-        x_map[i].z=(double) i;
-        y_map[i].z=(1.855600*0.50000)*(2.00000*(double) i-
-          (double) MaxMap);
-        z_map[i].z=0.00000;
+        x_map[i].x=1.0*i;
+        y_map[i].x=0.000000*(2.0*i-MaxMap);
+        z_map[i].x=0.5*1.574800*(2.0*i-MaxMap);
+        x_map[i].y=1.0*i;
+        y_map[i].y=0.5*(-0.187324)*(2.0*i-MaxMap);
+        z_map[i].y=0.5*(-0.468124)*(2.0*i-MaxMap);
+        x_map[i].z=1.0*i;
+        y_map[i].z=0.5*1.855600*(2.0*i-MaxMap);
+        z_map[i].z=0.000000*(2.0*i-MaxMap);
       }
       break;
     }
@@ -2999,17 +2990,17 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=1.3584000*(double) i;
+        x_map[i].x=1.3584000*i;
         y_map[i].x=0.0000000;
-        z_map[i].x=1.8215000*((double) i-(double)
+        z_map[i].x=1.8215000*(1.0*i-(double)
           ScaleQuantumToMap(ScaleCharToQuantum(137)));
-        x_map[i].y=1.3584000*(double) i;
-        y_map[i].y=(-0.4302726)*((double) i-(double)
+        x_map[i].y=1.3584000*i;
+        y_map[i].y=(-0.4302726)*(1.0*i-(double)
           ScaleQuantumToMap(ScaleCharToQuantum(156)));
-        z_map[i].y=(-0.9271435)*((double) i-(double)
+        z_map[i].y=(-0.9271435)*(1.0*i-(double)
           ScaleQuantumToMap(ScaleCharToQuantum(137)));
-        x_map[i].z=1.3584000*(double) i;
-        y_map[i].z=2.2179000*((double) i-(double)
+        x_map[i].z=1.3584000*i;
+        y_map[i].z=2.2179000*(1.0*i-(double)
           ScaleQuantumToMap(ScaleCharToQuantum(156)));
         z_map[i].z=0.0000000;
       }
@@ -3033,21 +3024,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
-        y_map[i].x=0.47810*(2.00000*(double) i-(double)
-          MaxMap);
-        z_map[i].x=0.31070*(2.00000*(double) i-(double)
-          MaxMap);
-        x_map[i].y=(double) i;
-        y_map[i].y=(-0.13635)*(2.00000*(double) i-(double)
-          MaxMap);
-        z_map[i].y=(-0.32340)*(2.00000*(double) i-(double)
-          MaxMap);
-        x_map[i].z=(double) i;
-        y_map[i].z=(-0.55185)*(2.00000*(double) i-(double)
-          MaxMap);
-        z_map[i].z=0.85030*(2.00000*(double) i-(double)
-          MaxMap);
+        x_map[i].x=1.0*i;
+        y_map[i].x=0.5*0.9562957197589482261*(2.00000*i-MaxMap);
+        z_map[i].x=0.5*0.6210244164652610754*(2.00000*i-MaxMap);
+        x_map[i].y=1.0*i;
+        y_map[i].y=0.5*(-0.2721220993185104464)*(2.00000*i-MaxMap);
+        z_map[i].y=0.5*(-0.6473805968256950427)*(2.00000*i-MaxMap);
+        x_map[i].z=1.0*i;
+        y_map[i].z=0.5*(-1.1069890167364901945)*(2.00000*i-MaxMap);
+        z_map[i].z=0.5*1.7046149983646481374*(2.00000*i-MaxMap);
       }
       break;
     }
@@ -3069,19 +3054,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
-        y_map[i].x=0.000000;
-        z_map[i].x=0.701000*(2.00000*(double) i-(double)
-          MaxMap);
-        x_map[i].y=(double) i;
-        y_map[i].y=(-0.172068)*(2.00000*(double) i-(double)
-          MaxMap);
-        z_map[i].y=0.357068*(2.00000*(double) i-(double)
-          MaxMap);
-        x_map[i].z=(double) i;
-        y_map[i].z=0.88600*(2.00000*(double) i-(double)
-          MaxMap);
-        z_map[i].z=0.00000;
+        x_map[i].x=0.99999999999914679361*i;
+        y_map[i].x=(-1.2188941887145875e-06)*(2.0*i-MaxMap);
+        z_map[i].x=0.5*1.4019995886561440468*(2.0*i-MaxMap);
+        x_map[i].y=0.99999975910502514331*i;
+        y_map[i].y=0.5*(-0.34413567816504303521)*(2.0*i-MaxMap);
+        z_map[i].y=0.5*(-0.71413649331646789076)*(2.0*i-MaxMap);
+        x_map[i].z=1.00000124040004623180*i;
+        y_map[i].z=0.5*1.77200006607230409200*(2.0*i-MaxMap);
+        z_map[i].z=2.1453384174593273e-06*(2.0*i-MaxMap);
       }
       break;
     }
@@ -3103,15 +3084,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
-        y_map[i].x=(-3.945707070708279e-05)*i;
-        z_map[i].x=0.5*1.1398279671717170825*(2.0000*i-MaxMap);
-        x_map[i].y=(double) i;
-        y_map[i].y=0.5*(-0.3946101641414141437)*(2.00000*i-MaxMap);
-        z_map[i].y=0.5*(-0.5805003156565656797)*(2.00000*i-MaxMap);
-        x_map[i].z=(double) i;
-        y_map[i].z=0.5*2.0319996843434342537*(2.00000*i-MaxMap);
-        z_map[i].z=(-4.813762626262513e-04)*i;
+        x_map[i].x=1.0*i;
+        y_map[i].x=(-3.945707070708279e-05)*(2.0*i-MaxMap);
+        z_map[i].x=0.5*1.1398279671717170825*(2.0*i-MaxMap);
+        x_map[i].y=1.0*i;
+        y_map[i].y=0.5*(-0.3946101641414141437)*(2.0*i-MaxMap);
+        z_map[i].y=0.5*(-0.5805003156565656797)*(2.0*i-MaxMap);
+        x_map[i].z=1.0*i;
+        y_map[i].z=0.5*2.0319996843434342537*(2.0*i-MaxMap);
+        z_map[i].z=(-4.813762626262513e-04)*(2.0*i-MaxMap);
       }
       break;
     }
@@ -3126,15 +3107,15 @@ static MagickBooleanType TransformsRGBImage(Image *image,
 #endif
       for (i=0; i <= (ssize_t) MaxMap; i++)
       {
-        x_map[i].x=(double) i;
+        x_map[i].x=1.0*i;
         y_map[i].x=0.0;
         z_map[i].x=0.0;
         x_map[i].y=0.0;
-        y_map[i].y=(double) i;
+        y_map[i].y=1.0*i;
         z_map[i].y=0.0;
         x_map[i].z=0.0;
         y_map[i].z=0.0;
-        z_map[i].z=(double) i;
+        z_map[i].z=1.0*i;
       }
       break;
     }