]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 2 Jun 2012 15:15:22 +0000 (15:15 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 2 Jun 2012 15:15:22 +0000 (15:15 +0000)
MagickCore/Makefile.am
MagickCore/magick-config.h
MagickCore/pixel-private.h [new file with mode: 0644]
MagickCore/pixel.c
MagickCore/version.h
Makefile.in
PerlMagick/Makefile.PL
config/ImageMagick.rdf
config/configure.xml
configure
libtool

index ddaa0dbeacd6383d8bd1fb8538feb0f83b7a5689..4b942eab4a194249dc662896c98c589651d4298b 100644 (file)
@@ -188,6 +188,7 @@ MAGICKCORE_BASE_SRCS = \
        MagickCore/pixel.c \
        MagickCore/pixel.h \
        MagickCore/pixel-accessor.h \
+       MagickCore/pixel-private.h \
        MagickCore/policy.c \
        MagickCore/policy.h \
        MagickCore/PreRvIcccm.c \
@@ -421,6 +422,7 @@ MAGICKCORE_NOINST_HDRS = \
        MagickCore/morphology-private.h \
        MagickCore/nt-base.h \
        MagickCore/nt-feature.h \
+       MagickCore/pixel-private.h \
        MagickCore/policy-private.h \
        MagickCore/profile-private.h \
        MagickCore/quantum-private.h \
index 4162d82e2d6c69351d6cc1605cb3a46acd0a709e..2d2ce9d4c522634a96e48a4d31a5b8340c034eaf 100644 (file)
 /* #undef NO_MINUS_C_MINUS_O */
 
 /* Define if you have OPENEXR library */
-/* #undef OPENEXR_DELEGATE */
+#ifndef MAGICKCORE_OPENEXR_DELEGATE
+#define MAGICKCORE_OPENEXR_DELEGATE 1
+#endif
 
 /* Name of package */
 #ifndef MAGICKCORE_PACKAGE
diff --git a/MagickCore/pixel-private.h b/MagickCore/pixel-private.h
new file mode 100644 (file)
index 0000000..255cc1f
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+  Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
+  dedicated to making software imaging solutions freely available.
+  
+  You may not use this file except in compliance with the License.
+  obtain a copy of the License at
+  
+    http://www.imagemagick.org/script/license.php
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  MagickCore image pixel private methods.
+*/
+#ifndef _MAGICKCORE_PIXEL_PRIVATE_H
+#define _MAGICKCORE_PIXEL_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+static inline MagickRealType AlphaReciprocal(const MagickRealType alpha)
+{
+  MagickRealType
+    beta;
+
+  /*
+    Reciprocal alpha: clamp to [MagickEpsilon,1], return reciprocal.
+  */
+  beta=(alpha > (MagickRealType) 1.0 ? (MagickRealType) 1.0 : alpha);
+  beta=(beta < (MagickRealType) MagickEpsilon ? (MagickRealType) 
+    MagickEpsilon : beta);
+  return((MagickRealType) 1.0/beta);
+}
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
index c9a975755a015547a630180559ca36a10ab3d7d2..8048261f823e3ce154d74bcf8e7031b6acfd7874 100644 (file)
@@ -59,6 +59,7 @@
 #include "MagickCore/option.h"
 #include "MagickCore/pixel.h"
 #include "MagickCore/pixel-accessor.h"
+#include "MagickCore/pixel-private.h"
 #include "MagickCore/quantum.h"
 #include "MagickCore/quantum-private.h"
 #include "MagickCore/resource_.h"
@@ -4143,12 +4144,18 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image,
     case BicubicInterpolatePixel:
     {
       MagickRealType
-        u[4],
-        v[4];
+        beta[4],
+        cx[4],
+        cy[4];
 
       PointInfo
         delta;
 
+      /*
+        Refactoring of the Catmull-Rom computation by Nicolas Robidoux with 55
+        flops = 28* + 10- + 17+.  Originally implemented for the VIPS (Virtual
+        Image Processing System) library.
+      */
       p=GetCacheViewVirtualPixels(image_view,x_offset-1,y_offset-1,4,4,
         exception);
       if (p == (const Quantum *) NULL)
@@ -4171,21 +4178,37 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image,
         }
       delta.x=x-x_offset;
       delta.y=y-y_offset;
-      for (i=0; i < 4; i++)
-      {
-        u[0]=(pixels[4*i+3]-pixels[4*i+2])-(pixels[4*i+0]-pixels[4*i+1]);
-        u[1]=(pixels[4*i+0]-pixels[4*i+1])-u[0];
-        u[2]=pixels[4*i+2]-pixels[4*i+0];
-        u[3]=pixels[4*i+1];
-        v[i]=(delta.x*delta.x*delta.x*u[0])+(delta.x*delta.x*u[1])+(delta.x*
-          u[2])+u[3];
-      }
-      u[0]=(v[3]-v[2])-(v[0]-v[1]);
-      u[1]=(v[0]-v[1])-u[0];
-      u[2]=v[2]-v[0];
-      u[3]=v[1];
-      *pixel=(delta.y*delta.y*delta.y*u[0])+(delta.y*delta.y*u[1])+(delta.y*
-        u[2])+u[3];
+      beta[0]=1.0-delta.x;
+      beta[1]=(-0.5)*delta.x;
+      beta[2]=beta[0]*beta[1];
+      cx[0]=beta[0]*beta[2];
+      cx[3]=delta.x*beta[2];
+      beta[3]=cx[3]-cx[0];
+      cx[1]=beta[0]-cx[0]+beta[3];
+      cx[2]=delta.x-cx[3]-beta[3];
+      beta[0]=1.0-delta.y;
+      beta[1]=(-0.5)*delta.y;
+      beta[2]=beta[0]*beta[1];
+      cy[0]=beta[0]*beta[2];
+      cy[3]=delta.y*beta[2];
+      beta[3]=cy[3]-cy[0];
+      cy[1]=beta[0]-cy[0]+beta[3];
+      cy[2]=delta.y-cy[3]-beta[3];
+      /*
+        Interpolate pixel.
+      */
+      gamma=1.0;
+      if (channel != AlphaPixelChannel)
+        gamma=AlphaReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
+          alpha[2]+cx[3]*alpha[3])+cy[1]*(cx[0]*alpha[4]+cx[1]*alpha[5]+
+          cx[2]*alpha[6]+cx[3]*alpha[7])+cy[2]*(cx[0]*alpha[8]+
+          cx[1]*alpha[9]+cx[2]*alpha[10]+cx[3]*alpha[11])+cy[3]*(
+          cx[0]*alpha[12]+cx[1]*alpha[13]+cx[2]*alpha[14]+cx[3]*alpha[15]));
+      *pixel=gamma*(cy[0]*(cx[0]*pixels[0]+cx[1]*pixels[1]+cx[2]*pixels[2]+
+        cx[3]*pixels[3])+cy[1]*(cx[0]*pixels[4]+cx[1]*pixels[5]+
+        cx[2]*pixels[6]+cx[3]*pixels[7])+cy[2]*(cx[0]*pixels[8]+
+        cx[1]*pixels[9]+cx[2]*pixels[10]+cx[3]*pixels[11])+cy[3]*(
+        cx[0]*pixels[12]+cx[1]*pixels[13]+cx[2]*pixels[14]+cx[3]*pixels[15]));
       break;
     }
     case BilinearInterpolatePixel:
@@ -4552,12 +4575,18 @@ MagickExport MagickBooleanType InterpolatePixelChannels(const Image *source,
     case BicubicInterpolatePixel:
     {
       MagickRealType
-        u[4],
-        v[4];
+        beta[4],
+        cx[4],
+        cy[4];
 
       PointInfo
         delta;
 
+      /*
+        Refactoring of the Catmull-Rom computation by Nicolas Robidoux with 55
+        flops = 28* + 10- + 17+.  Originally implemented for the VIPS (Virtual
+        Image Processing System) library.
+      */
       p=GetCacheViewVirtualPixels(source_view,x_offset-1,y_offset-1,4,4,
         exception);
       if (p == (const Quantum *) NULL)
@@ -4591,21 +4620,38 @@ MagickExport MagickBooleanType InterpolatePixelChannels(const Image *source,
           }
         delta.x=x-x_offset;
         delta.y=y-y_offset;
-        for (j=0; j < 4; j++)
-        {
-          u[0]=(pixels[4*j+3]-pixels[4*j+2])-(pixels[4*j+0]-pixels[4*j+1]);
-          u[1]=(pixels[4*j+0]-pixels[4*j+1])-u[0];
-          u[2]=pixels[4*j+2]-pixels[4*j+0];
-          u[3]=pixels[4*j+1];
-          v[j]=(delta.x*delta.x*delta.x*u[0])+(delta.x*delta.x*u[1])+(delta.x*
-            u[2])+u[3];
-        }
-        u[0]=(v[3]-v[2])-(v[0]-v[1]);
-        u[1]=(v[0]-v[1])-u[0];
-        u[2]=v[2]-v[0];
-        u[3]=v[1];
-        SetPixelChannel(destination,channel,ClampToQuantum((delta.y*delta.y*
-          delta.y*u[0])+(delta.y*delta.y*u[1])+(delta.y*u[2])+u[3]),pixel);
+        beta[0]=1.0-delta.x;
+        beta[1]=(-0.5)*delta.x;
+        beta[2]=beta[0]*beta[1];
+        cx[0]=beta[0]*beta[2];
+        cx[3]=delta.x*beta[2];
+        beta[3]=cx[3]-cx[0];
+        cx[1]=beta[0]-cx[0]+beta[3];
+        cx[2]=delta.x-cx[3]-beta[3];
+        beta[0]=1.0-delta.y;
+        beta[1]=(-0.5)*delta.y;
+        beta[2]=beta[0]*beta[1];
+        cy[0]=beta[0]*beta[2];
+        cy[3]=delta.y*beta[2];
+        beta[3]=cy[3]-cy[0];
+        cy[1]=beta[0]-cy[0]+beta[3];
+        cy[2]=delta.y-cy[3]-beta[3];
+        /*
+          Interpolate pixel.
+        */
+        gamma=1.0;
+        if ((traits & BlendPixelTrait) == 0)
+          gamma=AlphaReciprocal(cy[0]*(cx[0]*alpha[0]+cx[1]*alpha[1]+cx[2]*
+            alpha[2]+cx[3]*alpha[3])+cy[1]*(cx[0]*alpha[4]+cx[1]*alpha[5]+
+            cx[2]*alpha[6]+cx[3]*alpha[7])+cy[2]*(cx[0]*alpha[8]+
+            cx[1]*alpha[9]+cx[2]*alpha[10]+cx[3]*alpha[11])+cy[3]*(
+            cx[0]*alpha[12]+cx[1]*alpha[13]+cx[2]*alpha[14]+cx[3]*alpha[15]));
+        SetPixelChannel(destination,channel,ClampToQuantum(gamma*(cy[0]*(cx[0]*
+          pixels[0]+cx[1]*pixels[1]+cx[2]*pixels[2]+cx[3]*pixels[3])+cy[1]*
+          (cx[0]*pixels[4]+cx[1]*pixels[5]+cx[2]*pixels[6]+cx[3]*pixels[7])+
+          cy[2]*(cx[0]*pixels[8]+cx[1]*pixels[9]+cx[2]*pixels[10]+cx[3]*
+          pixels[11])+cy[3]*(cx[0]*pixels[12]+cx[1]*pixels[13]+cx[2]*pixels[14]+
+          cx[3]*pixels[15]))),pixel);
       }
       break;
     }
@@ -4994,47 +5040,6 @@ static inline void AlphaBlendPixelInfo(const Image *image,
   pixel_info->alpha=(MagickRealType) GetPixelAlpha(image,pixel);
 }
 
-static void BicubicInterpolate(const PixelInfo *pixels,const double dx,
-  PixelInfo *pixel)
-{
-  MagickRealType
-    dx2,
-    p,
-    q,
-    r,
-    s;
-
-  dx2=dx*dx;
-  p=(pixels[3].red-pixels[2].red)-(pixels[0].red-pixels[1].red);
-  q=(pixels[0].red-pixels[1].red)-p;
-  r=pixels[2].red-pixels[0].red;
-  s=pixels[1].red;
-  pixel->red=(dx*dx2*p)+(dx2*q)+(dx*r)+s;
-  p=(pixels[3].green-pixels[2].green)-(pixels[0].green-pixels[1].green);
-  q=(pixels[0].green-pixels[1].green)-p;
-  r=pixels[2].green-pixels[0].green;
-  s=pixels[1].green;
-  pixel->green=(dx*dx2*p)+(dx2*q)+(dx*r)+s;
-  p=(pixels[3].blue-pixels[2].blue)-(pixels[0].blue-pixels[1].blue);
-  q=(pixels[0].blue-pixels[1].blue)-p;
-  r=pixels[2].blue-pixels[0].blue;
-  s=pixels[1].blue;
-  pixel->blue=(dx*dx2*p)+(dx2*q)+(dx*r)+s;
-  p=(pixels[3].alpha-pixels[2].alpha)-(pixels[0].alpha-pixels[1].alpha);
-  q=(pixels[0].alpha-pixels[1].alpha)-p;
-  r=pixels[2].alpha-pixels[0].alpha;
-  s=pixels[1].alpha;
-  pixel->alpha=(dx*dx2*p)+(dx2*q)+(dx*r)+s;
-  if (pixel->colorspace == CMYKColorspace)
-    {
-      p=(pixels[3].black-pixels[2].black)-(pixels[0].black-pixels[1].black);
-      q=(pixels[0].black-pixels[1].black)-p;
-      r=pixels[2].black-pixels[0].black;
-      s=pixels[1].black;
-      pixel->black=(dx*dx2*p)+(dx2*q)+(dx*r)+s;
-    }
-}
-
 MagickExport MagickBooleanType InterpolatePixelInfo(const Image *image,
   const CacheView *image_view,const PixelInterpolateMethod method,
   const double x,const double y,PixelInfo *pixel,ExceptionInfo *exception)
@@ -5117,12 +5122,20 @@ MagickExport MagickBooleanType InterpolatePixelInfo(const Image *image,
     }
     case BicubicInterpolatePixel:
     {
-      PixelInfo
-        u[4];
+      MagickRealType
+        beta[4],
+        cx[4],
+        cy[4];
 
       PointInfo
         delta;
 
+
+      /*
+        Refactoring of the Catmull-Rom computation by Nicolas Robidoux with 55
+        flops = 28* + 10- + 17+.  Originally implemented for the VIPS (Virtual
+        Image Processing System) library.
+      */
       p=GetCacheViewVirtualPixels(image_view,x_offset-1,y_offset-1,4,4,
         exception);
       if (p == (const Quantum *) NULL)
@@ -5154,9 +5167,66 @@ MagickExport MagickBooleanType InterpolatePixelInfo(const Image *image,
         15);
       delta.x=x-x_offset;
       delta.y=y-y_offset;
-      for (i=0; i < 4L; i++)
-        BicubicInterpolate(pixels+4*i,delta.x,u+i);
-      BicubicInterpolate(u,delta.y,pixel);
+      beta[0]=1.0-delta.x;
+      beta[1]=(-0.5)*delta.x;
+      beta[2]=beta[0]*beta[1];
+      cx[0]=beta[0]*beta[2];
+      cx[3]=delta.x*beta[2];
+      beta[3]=cx[3]-cx[0];
+      cx[1]=beta[0]-cx[0]+beta[3];
+      cx[2]=delta.x-cx[3]-beta[3];
+      beta[0]=1.0-delta.y;
+      beta[1]=(-0.5)*delta.y;
+      beta[2]=beta[0]*beta[1];
+      cy[0]=beta[0]*beta[2];
+      cy[3]=delta.y*beta[2];
+      beta[3]=cy[3]-cy[0];
+      cy[1]=beta[0]-cy[0]+beta[3];
+      cy[2]=delta.y-cy[3]-beta[3];
+      /*
+        Interpolate pixel.
+      */
+      pixel->red=(cy[0]*(cx[0]*pixels[0].red+cx[1]*
+        pixels[1].red+cx[2]*pixels[2].red+cx[3]*
+        pixels[3].red)+cy[1]*(cx[0]*pixels[4].red+cx[1]*
+        pixels[5].red+cx[2]*pixels[6].red+cx[3]*
+        pixels[7].red)+cy[2]*(cx[0]*pixels[8].red+cx[1]*
+        pixels[9].red+cx[2]*pixels[10].red+cx[3]*
+        pixels[11].red)+cy[3]*(cx[0]*pixels[12].red+cx[1]*
+        pixels[13].red+cx[2]*pixels[14].red+cx[3]*pixels[15].red));
+      pixel->green=(cy[0]*(cx[0]*pixels[0].green+cx[1]*
+        pixels[1].green+cx[2]*pixels[2].green+cx[3]*
+        pixels[3].green)+cy[1]*(cx[0]*pixels[4].green+cx[1]*
+        pixels[5].green+cx[2]*pixels[6].green+cx[3]*
+        pixels[7].green)+cy[2]*(cx[0]*pixels[8].green+cx[1]*
+        pixels[9].green+cx[2]*pixels[10].green+cx[3]*
+        pixels[11].green)+cy[3]*(cx[0]*pixels[12].green+cx[1]*
+        pixels[13].green+cx[2]*pixels[14].green+cx[3]*pixels[15].green));
+      pixel->blue=(cy[0]*(cx[0]*pixels[0].blue+cx[1]*
+        pixels[1].blue+cx[2]*pixels[2].blue+cx[3]*
+        pixels[3].blue)+cy[1]*(cx[0]*pixels[4].blue+cx[1]*
+        pixels[5].blue+cx[2]*pixels[6].blue+cx[3]*
+        pixels[7].blue)+cy[2]*(cx[0]*pixels[8].blue+cx[1]*
+        pixels[9].blue+cx[2]*pixels[10].blue+cx[3]*
+        pixels[11].blue)+cy[3]*(cx[0]*pixels[12].blue+cx[1]*
+        pixels[13].blue+cx[2]*pixels[14].blue+cx[3]*pixels[15].blue));
+      if (image->colorspace == CMYKColorspace)
+        pixel->black=(cy[0]*(cx[0]*pixels[0].black+cx[1]*
+          pixels[1].black+cx[2]*pixels[2].black+cx[3]*
+          pixels[3].black)+cy[1]*(cx[0]*pixels[4].black+cx[1]*
+          pixels[5].black+cx[2]*pixels[6].black+cx[3]*
+          pixels[7].black)+cy[2]*(cx[0]*pixels[8].black+cx[1]*
+          pixels[9].black+cx[2]*pixels[10].black+cx[3]*
+          pixels[11].black)+cy[3]*(cx[0]*pixels[12].black+cx[1]*
+          pixels[13].black+cx[2]*pixels[14].black+cx[3]*pixels[15].black));
+      pixel->alpha=(cy[0]*(cx[0]*pixels[0].alpha+cx[1]*
+        pixels[1].alpha+cx[2]*pixels[2].alpha+cx[3]*
+        pixels[3].alpha)+cy[1]*(cx[0]*pixels[4].alpha+cx[1]*
+        pixels[5].alpha+cx[2]*pixels[6].alpha+cx[3]*
+        pixels[7].alpha)+cy[2]*(cx[0]*pixels[8].alpha+cx[1]*
+        pixels[9].alpha+cx[2]*pixels[10].alpha+cx[3]*
+        pixels[11].alpha)+cy[3]*(cx[0]*pixels[12].alpha+cx[1]*
+        pixels[13].alpha+cx[2]*pixels[14].alpha+cx[3]*pixels[15].alpha));
       break;
     }
     case BilinearInterpolatePixel:
index 2d3e9d7913ee1788d29151fa8f108c2f4c54c2c2..525354a08b8c5f6fae10655268551fe8b391085d 100644 (file)
@@ -27,14 +27,14 @@ extern "C" {
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision  "7997"
+#define MagickSVNRevision  "8113"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  7
 #define MagickLibMinInterface  7
-#define MagickReleaseDate  "2012-05-20"
+#define MagickReleaseDate  "2012-06-02"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index 8ea69272b8d873f3cf15cc8a7457b5e6868f8e57..0b239e5d5bd0a79a3e9f2b602a0bcf37d3728de1 100644 (file)
@@ -459,26 +459,27 @@ am__MagickCore_libMagickCore_la_SOURCES_DIST =  \
        MagickCore/nt-feature.h MagickCore/option.c \
        MagickCore/option.h MagickCore/paint.c MagickCore/paint.h \
        MagickCore/pixel.c MagickCore/pixel.h \
-       MagickCore/pixel-accessor.h MagickCore/policy.c \
-       MagickCore/policy.h MagickCore/PreRvIcccm.c \
-       MagickCore/PreRvIcccm.h MagickCore/prepress.c \
-       MagickCore/prepress.h MagickCore/property.c \
-       MagickCore/property.h MagickCore/profile.c \
-       MagickCore/profile.h MagickCore/profile-private.h \
-       MagickCore/quantize.c MagickCore/quantize.h \
-       MagickCore/quantum.c MagickCore/quantum.h \
-       MagickCore/quantum-export.c MagickCore/quantum-import.c \
-       MagickCore/quantum-private.h MagickCore/random.c \
-       MagickCore/random_.h MagickCore/random-private.h \
-       MagickCore/registry.c MagickCore/registry.h \
-       MagickCore/resample.c MagickCore/resample.h \
-       MagickCore/resample-private.h MagickCore/resize.c \
-       MagickCore/resize.h MagickCore/resize-private.h \
-       MagickCore/resource.c MagickCore/resource_.h \
-       MagickCore/resource-private.h MagickCore/segment.c \
-       MagickCore/segment.h MagickCore/semaphore.c \
-       MagickCore/semaphore.h MagickCore/semaphore-private.h \
-       MagickCore/shear.c MagickCore/shear.h MagickCore/signature.c \
+       MagickCore/pixel-accessor.h MagickCore/pixel-private.h \
+       MagickCore/policy.c MagickCore/policy.h \
+       MagickCore/PreRvIcccm.c MagickCore/PreRvIcccm.h \
+       MagickCore/prepress.c MagickCore/prepress.h \
+       MagickCore/property.c MagickCore/property.h \
+       MagickCore/profile.c MagickCore/profile.h \
+       MagickCore/profile-private.h MagickCore/quantize.c \
+       MagickCore/quantize.h MagickCore/quantum.c \
+       MagickCore/quantum.h MagickCore/quantum-export.c \
+       MagickCore/quantum-import.c MagickCore/quantum-private.h \
+       MagickCore/random.c MagickCore/random_.h \
+       MagickCore/random-private.h MagickCore/registry.c \
+       MagickCore/registry.h MagickCore/resample.c \
+       MagickCore/resample.h MagickCore/resample-private.h \
+       MagickCore/resize.c MagickCore/resize.h \
+       MagickCore/resize-private.h MagickCore/resource.c \
+       MagickCore/resource_.h MagickCore/resource-private.h \
+       MagickCore/segment.c MagickCore/segment.h \
+       MagickCore/semaphore.c MagickCore/semaphore.h \
+       MagickCore/semaphore-private.h MagickCore/shear.c \
+       MagickCore/shear.h MagickCore/signature.c \
        MagickCore/signature.h MagickCore/signature-private.h \
        MagickCore/splay-tree.c MagickCore/splay-tree.h \
        MagickCore/static.c MagickCore/static.h MagickCore/statistic.c \
@@ -4130,6 +4131,7 @@ MAGICKCORE_BASE_SRCS = \
        MagickCore/pixel.c \
        MagickCore/pixel.h \
        MagickCore/pixel-accessor.h \
+       MagickCore/pixel-private.h \
        MagickCore/policy.c \
        MagickCore/policy.h \
        MagickCore/PreRvIcccm.c \
@@ -4358,6 +4360,7 @@ MAGICKCORE_NOINST_HDRS = \
        MagickCore/morphology-private.h \
        MagickCore/nt-base.h \
        MagickCore/nt-feature.h \
+       MagickCore/pixel-private.h \
        MagickCore/policy-private.h \
        MagickCore/profile-private.h \
        MagickCore/quantum-private.h \
index 369772d8a08a2ec13ef3299670372722d2d84c9e..673e1c2d33ea5f456bee616bdc8f097cd2a3ee78 100644 (file)
@@ -158,7 +158,7 @@ foreach my $delegate (@tested_delegates) {
 # defaults for LIBS & INC & CCFLAGS params that we later pass to Writemakefile
 my $INC_magick = '-I../ -I.. -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -pthread -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
 my $LIBS_magick = '-L../MagickCore/.libs -lMagickCore -lperl -lm';
-my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -pthread";
+my $CCFLAGS_magick = "$Config{'ccflags'} -pthread -I/usr/include/OpenEXR -fopenmp -g -O2 -Wall -pthread";
 my $LDFLAGS_magick   = "-L../MagickCore/.libs -lMagickCore $Config{'ldflags'} -L/usr/lib";
 my $LDDLFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'lddlflags'} -L/usr/lib";
 
index e6ad6d036549332dfb45f05a40eb8716411dd376..1f55ed9acb2378df229c7d69fe29201552877cdb 100644 (file)
@@ -5,7 +5,7 @@
     <name>ImageMagick</name>
     <shortdesc xml:lang="en">ImageMagick: convert, edit, and compose images.</shortdesc>
     <homepage rdf:resource="http://www.imagemagick.org/"/>
-    <created>2012-05-20</created>
+    <created>2012-06-02</created>
 
     <description xml:lang="en">
 ImageMagick® is a software suite to create, edit, compose, or convert bitmap images. It can read and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.
@@ -57,7 +57,7 @@ Examples of ImageMagick Usage shows how to use ImageMagick from the command-line
     <release>
       <Version>
           <name>stable</name>
-          <created>2012-05-20</created>
+          <created>2012-06-02</created>
           <revision>7.0.0</revision>
           <patch-level>-0</patch-level>
       </Version>
index e70d1b76c2e5466c47990bd7abd370fe30410c18..b080b8f7bea6ec5fd10f07993b17f6252777d5c1 100644 (file)
@@ -10,8 +10,8 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="7997" />
-  <configure name="RELEASE_DATE" value="2012-05-20"/>
+  <configure name="SVN_REVISION" value="8113" />
+  <configure name="RELEASE_DATE" value="2012-06-02"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
   <configure name="EXEC-PREFIX" value="/usr/local"/>
   <configure name="CODER_PATH" value="/usr/local/lib/ImageMagick-7.0.0/modules-Q16/coders"/>
   <configure name="FILTER_PATH" value="/usr/local/lib/ImageMagick-7.0.0/modules-Q16/filters"/>
   <configure name="CC" value="gcc -std=gnu99 -std=gnu99"/>
-  <configure name="CFLAGS" value="-fopenmp -g -O2 -Wall -pthread"/>
+  <configure name="CFLAGS" value="-pthread -I/usr/include/OpenEXR -fopenmp -g -O2 -Wall -pthread"/>
   <configure name="CPPFLAGS" value="-I/usr/local/include/ImageMagick"/>
   <configure name="PCFLAGS" value="-fopenmp"/>
   <configure name="DEFS" value="-DHAVE_CONFIG_H"/>
   <configure name="LDFLAGS" value="-L/usr/local/lib -L/usr/lib"/>
-  <configure name="LIBS" value="-lMagickCore -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng15 -ldjvulibre -lfftw3 -lfontconfig -lXext -lXt -lSM -lICE -lX11 -llzma -lbz2 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lxml2 -lgvc -lgraph -lcdt -lz -lm -lgomp -lpthread -lltdl"/>
+  <configure name="LIBS" value="-lMagickCore -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng15 -ldjvulibre -lfftw3 -lfontconfig -lXext -lXt -lSM -lICE -lX11 -llzma -lbz2 -pthread -lIlmImf -lImath -lHalf -lIex -lIlmThread -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lxml2 -lgvc -lgraph -lcdt -lz -lm -lgomp -lpthread -lltdl"/>
   <configure name="CXX" value="g++"/>
   <configure name="CXXFLAGS" value="-g -O2 -pthread"/>
   <configure name="DISTCHECK_CONFIG_FLAGS" value="--disable-deprecated --with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-gslib=no --with-fontpath= --with-wmf=no --with-perl=no"/>
@@ -38,7 +38,7 @@
   <configure name="TARGET_OS" value="linux-gnu"/>
   <configure name="HOST" value="x86_64-unknown-linux-gnu"/>
   <configure name="FEATURES" value="OpenMP "/>
-  <configure name="DELEGATES" value="bzlib djvu fftw fontconfig freetype gvc jpeg jng jp2 lcms2 lzma pango png tiff x11 xml zlib"/>
+  <configure name="DELEGATES" value="bzlib djvu fftw fontconfig freetype gvc jpeg jng jp2 lcms2 lzma openexr pango png tiff x11 xml zlib"/>
   <configure name="COPYRIGHT" value="Copyright (C) 1999-2012 ImageMagick Studio LLC"/>
   <configure name="WEBSITE" value="http://www.imagemagick.org"/>
   <configure name="QuantumDepth" value="16"/>
index eb90731698823dec097cc8643dca0681a0605ea2..a85bc270da7b089acb068d964db0a0fdf19befea 100755 (executable)
--- a/configure
+++ b/configure
@@ -3647,7 +3647,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE`
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=7997
+MAGICK_SVN_REVISION=8113
 
 
 
diff --git a/libtool b/libtool
index e6e05c45571988704b72ac115d58f6d7bd7a5f5d..1ba80c247b290d85a8bfd85b5e3c1fc38538eda1 100755 (executable)
--- a/libtool
+++ b/libtool
@@ -167,7 +167,7 @@ lock_old_archive_extraction=no
 LTCC="gcc -std=gnu99 -std=gnu99"
 
 # LTCC compiler flags.
-LTCFLAGS="-fopenmp -g -O2 -Wall -pthread"
+LTCFLAGS="-pthread -I/usr/include/OpenEXR -fopenmp -g -O2 -Wall -pthread"
 
 # Take the output of nm and produce a listing of raw symbols and C names.
 global_symbol_pipe="sed -n -e 's/^.*[   ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '/ __gnu_lto/d'"