From 380a11c98d7ffe5ffb65a2fd8c464f8227a19dcf Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 2 Jun 2012 15:15:22 +0000 Subject: [PATCH] --- MagickCore/Makefile.am | 2 + MagickCore/magick-config.h | 4 +- MagickCore/pixel-private.h | 43 +++++++ MagickCore/pixel.c | 230 ++++++++++++++++++++++++------------- MagickCore/version.h | 4 +- Makefile.in | 43 +++---- PerlMagick/Makefile.PL | 2 +- config/ImageMagick.rdf | 4 +- config/configure.xml | 10 +- configure | 2 +- libtool | 2 +- 11 files changed, 233 insertions(+), 113 deletions(-) create mode 100644 MagickCore/pixel-private.h diff --git a/MagickCore/Makefile.am b/MagickCore/Makefile.am index ddaa0dbea..4b942eab4 100644 --- a/MagickCore/Makefile.am +++ b/MagickCore/Makefile.am @@ -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 \ diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h index 4162d82e2..2d2ce9d4c 100644 --- a/MagickCore/magick-config.h +++ b/MagickCore/magick-config.h @@ -1283,7 +1283,9 @@ /* #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 index 000000000..255cc1f71 --- /dev/null +++ b/MagickCore/pixel-private.h @@ -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 diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index c9a975755..8048261f8 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -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: diff --git a/MagickCore/version.h b/MagickCore/version.h index 2d3e9d791..525354a08 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -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) diff --git a/Makefile.in b/Makefile.in index 8ea69272b..0b239e5d5 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 \ diff --git a/PerlMagick/Makefile.PL b/PerlMagick/Makefile.PL index 369772d8a..673e1c2d3 100644 --- a/PerlMagick/Makefile.PL +++ b/PerlMagick/Makefile.PL @@ -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"; diff --git a/config/ImageMagick.rdf b/config/ImageMagick.rdf index e6ad6d036..1f55ed9ac 100644 --- a/config/ImageMagick.rdf +++ b/config/ImageMagick.rdf @@ -5,7 +5,7 @@ ImageMagick ImageMagick: convert, edit, and compose images. - 2012-05-20 + 2012-06-02 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 stable - 2012-05-20 + 2012-06-02 7.0.0 -0 diff --git a/config/configure.xml b/config/configure.xml index e70d1b76c..b080b8f7b 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -10,8 +10,8 @@ - - + + @@ -24,12 +24,12 @@ - + - + @@ -38,7 +38,7 @@ - + diff --git a/configure b/configure index eb9073169..a85bc270d 100755 --- 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 e6e05c455..1ba80c247 100755 --- 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'" -- 2.40.0