From 0beccfa61f43782de2d6ee7edc1ec8301a3bbeec Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 25 Sep 2011 20:47:53 +0000 Subject: [PATCH] --- MagickCore/compare.c | 36 +++++++++++++------ MagickCore/effect.c | 71 +++++++++++++++++++------------------- MagickCore/enhance.c | 15 ++++---- MagickCore/fx.c | 2 +- MagickCore/image.c | 2 +- MagickCore/magick-config.h | 50 +++++++++++++++++++-------- MagickCore/pixel.c | 6 ++-- MagickCore/resize.c | 36 ++++++++++--------- MagickCore/shear.c | 12 +++---- MagickCore/statistic.c | 7 ++-- MagickCore/threshold.c | 6 ++-- MagickCore/transform.c | 26 +++++++------- MagickCore/version.h | 4 +-- coders/dpx.c | 3 +- 14 files changed, 160 insertions(+), 116 deletions(-) diff --git a/MagickCore/compare.c b/MagickCore/compare.c index 39910e251..d2ee64264 100644 --- a/MagickCore/compare.c +++ b/MagickCore/compare.c @@ -223,6 +223,9 @@ MagickExport Image *CompareImages(Image *image,const Image *reconstruct_image, difference=MagickFalse; for (i=0; i < (ssize_t) GetPixelChannels(image); i++) { + MagickRealType + distance; + PixelChannel channel; @@ -238,7 +241,9 @@ MagickExport Image *CompareImages(Image *image,const Image *reconstruct_image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - if (fabs(p[i]-(double) q[channel]) >= MagickEpsilon) + distance=p[i]-(MagickRealType) + GetPixelChannel(reconstruct_image,channel,q); + if (fabs((double) distance) >= MagickEpsilon) difference=MagickTrue; } if (difference == MagickFalse) @@ -369,7 +374,7 @@ static MagickBooleanType GetAbsoluteDistortion(const Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - if (p[i] != q[channel]) + if (p[i] != GetPixelChannel(reconstruct_image,channel,q)) difference=MagickTrue; } if (difference != MagickFalse) @@ -483,7 +488,8 @@ static MagickBooleanType GetFuzzDistortion(const Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=QuantumScale*(p[i]-(MagickRealType) q[channel]); + distance=QuantumScale*(p[i]-(MagickRealType) GetPixelChannel( + reconstruct_image,channel,q)); distance*=distance; channel_distortion[i]+=distance; channel_distortion[MaxPixelChannels]+=distance; @@ -577,7 +583,8 @@ static MagickBooleanType GetMeanAbsoluteDistortion(const Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=QuantumScale*fabs(p[i]-(double) q[channel]); + distance=QuantumScale*fabs(p[i]-(MagickRealType) GetPixelChannel( + reconstruct_image,channel,q)); channel_distortion[i]+=distance; channel_distortion[MaxPixelChannels]+=distance; } @@ -668,7 +675,8 @@ static MagickBooleanType GetMeanErrorPerPixel(Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=fabs(alpha*p[i]-beta*q[channel]); + distance=fabs((double) (alpha*p[i]-beta*GetPixelChannel( + reconstruct_image,channel,q))); distortion[i]+=distance; distortion[MaxPixelChannels]+=distance; mean_error+=distance*distance; @@ -759,7 +767,8 @@ static MagickBooleanType GetMeanSquaredDistortion(const Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=QuantumScale*(p[i]-(MagickRealType) q[channel]); + distance=QuantumScale*(p[i]-(MagickRealType) GetPixelChannel( + reconstruct_image,channel,q)); distance*=distance; channel_distortion[i]+=distance; channel_distortion[MaxPixelChannels]+=distance; @@ -864,7 +873,8 @@ static MagickBooleanType GetNormalizedCrossCorrelationDistortion( if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; distortion[i]+=area*QuantumScale*(p[i]-image_statistics[i].mean)* - (q[channel]-reconstruct_statistics[channel].mean); + (GetPixelChannel(reconstruct_image,channel,q)- + reconstruct_statistics[channel].mean); } p+=GetPixelChannels(image); q+=GetPixelChannels(image); @@ -981,7 +991,8 @@ static MagickBooleanType GetPeakAbsoluteDistortion(const Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=QuantumScale*fabs(p[i]-(double) q[channel]); + distance=QuantumScale*fabs(p[i]-(MagickRealType) GetPixelChannel( + reconstruct_image,channel,q)); if (distance > channel_distortion[i]) channel_distortion[i]=distance; if (distance > channel_distortion[MaxPixelChannels]) @@ -1388,7 +1399,8 @@ MagickExport MagickBooleanType IsImagesEqual(Image *image, continue; if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; - distance=fabs(p[i]-(double) q[channel]); + distance=fabs(p[i]-(MagickRealType) GetPixelChannel(reconstruct_image, + channel,q)); mean_error_per_pixel+=distance; mean_error+=distance*distance; if (distance > maximum_error) @@ -1521,7 +1533,8 @@ static double GetNCCDistortion(const Image *image, if ((reconstruct_traits & UpdatePixelTrait) == 0) continue; distortion+=area*QuantumScale*(p[i]-image_statistics[i].mean)* - (q[channel]-reconstruct_statistics[channel].mean); + (GetPixelChannel(reconstruct_image,channel,q)- + reconstruct_statistics[channel].mean); } p+=GetPixelChannels(image); q+=GetPixelChannels(reconstruct_image); @@ -1677,7 +1690,8 @@ MagickExport Image *SimilarityImage(Image *image,const Image *reference, continue; if ((similarity_traits & UpdatePixelTrait) == 0) continue; - q[channel]=ClampToQuantum(QuantumRange-QuantumRange*similarity); + SetPixelChannel(similarity_image,channel,ClampToQuantum(QuantumRange- + QuantumRange*similarity),q); } q+=GetPixelChannels(similarity_image); } diff --git a/MagickCore/effect.c b/MagickCore/effect.c index 98ea3197a..e94df223d 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c @@ -379,7 +379,7 @@ MagickExport Image *AdaptiveBlurImage(const Image *image, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } k=kernel[j]; @@ -402,7 +402,7 @@ MagickExport Image *AdaptiveBlurImage(const Image *image, } } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); continue; } /* @@ -420,7 +420,7 @@ MagickExport Image *AdaptiveBlurImage(const Image *image, } } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } q+=GetPixelChannels(blur_image); r+=GetPixelChannels(edge_image); @@ -701,7 +701,7 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, continue; if ((sharp_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(sharp_image,channel,p[center+i],q); continue; } k=kernel[j]; @@ -724,7 +724,7 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, } } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q); continue; } /* @@ -742,7 +742,7 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, } } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(sharp_image,channel,ClampToQuantum(gamma*pixel),q); } q+=GetPixelChannels(sharp_image); r+=GetPixelChannels(edge_image); @@ -1002,7 +1002,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } k=kernel; @@ -1019,7 +1019,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, k++; pixels+=GetPixelChannels(image); } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q); continue; } /* @@ -1035,7 +1035,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, pixels+=GetPixelChannels(image); } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(blur_image); @@ -1123,7 +1123,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } k=kernel; @@ -1140,7 +1140,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, k++; pixels+=GetPixelChannels(blur_image); } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q); continue; } /* @@ -1157,7 +1157,7 @@ MagickExport Image *BlurImage(const Image *image,const double radius, pixels+=GetPixelChannels(blur_image); } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(blur_image); q+=GetPixelChannels(blur_image); @@ -1367,7 +1367,7 @@ MagickExport Image *ConvolveImage(const Image *image, continue; if ((convolve_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(convolve_image,channel,p[center+i],q); continue; } k=kernel_info->values; @@ -1388,7 +1388,7 @@ MagickExport Image *ConvolveImage(const Image *image, } pixels+=image->columns*GetPixelChannels(image); } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(convolve_image,channel,ClampToQuantum(pixel),q); continue; } /* @@ -1408,7 +1408,7 @@ MagickExport Image *ConvolveImage(const Image *image, pixels+=image->columns*GetPixelChannels(image); } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(convolve_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(convolve_image); @@ -1710,7 +1710,7 @@ MagickExport Image *DespeckleImage(const Image *image,ExceptionInfo *exception) j++; for (x=0; x < (ssize_t) image->columns; x++) { - q[channel]=pixel[j++]; + SetPixelChannel(despeckle_image,channel,pixel[j++],q); q+=GetPixelChannels(despeckle_image); } sync=SyncCacheViewAuthenticPixels(despeckle_view,exception); @@ -2224,7 +2224,7 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[i]; + SetPixelChannel(blur_image,channel,p[i],q); continue; } k=kernel; @@ -2243,7 +2243,7 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius, pixel+=(*k)*r[i]; k++; } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(pixel),q); continue; } alpha=0.0; @@ -2263,7 +2263,7 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius, k++; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(blur_image); @@ -3011,7 +3011,7 @@ MagickExport Image *RadialBlurImage(const Image *image, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[i]; + SetPixelChannel(blur_image,channel,p[i],q); continue; } gamma=0.0; @@ -3033,7 +3033,7 @@ MagickExport Image *RadialBlurImage(const Image *image, gamma++; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); continue; } for (j=0; j < (ssize_t) n; j+=(ssize_t) step) @@ -3051,7 +3051,7 @@ MagickExport Image *RadialBlurImage(const Image *image, gamma+=GetPixelAlpha(image,r); } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(blur_image); @@ -3294,7 +3294,7 @@ MagickExport Image *SelectiveBlurImage(const Image *image, continue; if ((blur_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } k=kernel; @@ -3321,11 +3321,11 @@ MagickExport Image *SelectiveBlurImage(const Image *image, } if (fabs((double) gamma) < MagickEpsilon) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); continue; } for (v=0; v < (ssize_t) width; v++) @@ -3347,11 +3347,11 @@ MagickExport Image *SelectiveBlurImage(const Image *image, } if (fabs((double) gamma) < MagickEpsilon) { - q[channel]=p[center+i]; + SetPixelChannel(blur_image,channel,p[center+i],q); continue; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(blur_image,channel,ClampToQuantum(gamma*pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(blur_image); @@ -3562,15 +3562,16 @@ MagickExport Image *ShadeImage(const Image *image,const MagickBooleanType gray, continue; if ((shade_traits & CopyPixelTrait) != 0) { - q[channel]=center[i]; + SetPixelChannel(shade_image,channel,center[i],q); continue; } if (gray != MagickFalse) { - q[channel]=ClampToQuantum(shade); + SetPixelChannel(shade_image,channel,ClampToQuantum(shade),q); continue; } - q[channel]=ClampToQuantum(QuantumScale*shade*center[i]); + SetPixelChannel(shade_image,channel,ClampToQuantum(QuantumScale*shade* + center[i]),q); } pre+=GetPixelChannels(image); center+=GetPixelChannels(image); @@ -4437,7 +4438,7 @@ MagickExport Image *StatisticImage(const Image *image,const StatisticType type, continue; if ((statistic_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(statistic_image,channel,p[center+i],q); continue; } pixels=p; @@ -4501,7 +4502,7 @@ MagickExport Image *StatisticImage(const Image *image,const StatisticType type, break; } } - q[channel]=pixel; + SetPixelChannel(statistic_image,channel,pixel,q); } p+=GetPixelChannels(image); q+=GetPixelChannels(statistic_image); @@ -4657,15 +4658,15 @@ MagickExport Image *UnsharpMaskImage(const Image *image, continue; if ((unsharp_traits & CopyPixelTrait) != 0) { - q[channel]=p[i]; + SetPixelChannel(unsharp_image,channel,p[i],q); continue; } - pixel=p[i]-(MagickRealType) q[channel]; + pixel=p[i]-(MagickRealType) GetPixelChannel(unsharp_image,channel,q); if (fabs(2.0*pixel) < quantum_threshold) pixel=(MagickRealType) p[i]; else pixel=(MagickRealType) p[i]+amount*pixel; - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(unsharp_image,channel,ClampToQuantum(pixel),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(unsharp_image); diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index c9ea75d6d..741778baf 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -391,8 +391,9 @@ MagickExport MagickBooleanType ClutImage(Image *image,const Image *clut_image, (clut_traits == UndefinedPixelTrait) || ((traits & UpdatePixelTrait) == 0)) continue; - q[channel]=ClampToQuantum(clut_map[ScaleQuantumToMap(q[channel])* - GetPixelChannels(clut_image)+channel]); + SetPixelChannel(clut_image,channel,ClampToQuantum(clut_map[ + ScaleQuantumToMap(GetPixelChannel(clut_image,channel,q))* + GetPixelChannels(clut_image)+channel]),q); } q+=GetPixelChannels(image); } @@ -1285,8 +1286,9 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image, MagickExport Image *EnhanceImage(const Image *image,ExceptionInfo *exception) { #define EnhancePixel(weight) \ - mean=((MagickRealType) r[i]+q[channel])/2.0; \ - distance=(MagickRealType) r[i]-(MagickRealType) q[channel]; \ + mean=((MagickRealType) r[i]+GetPixelChannel(enhance_image,channel,q))/2.0; \ + distance=(MagickRealType) r[i]-(MagickRealType) GetPixelChannel( \ + enhance_image,channel,q); \ distance_squared=QuantumScale*(2.0*((MagickRealType) QuantumRange+1.0)+ \ mean)*distance*distance; \ if (distance_squared < ((MagickRealType) QuantumRange*(MagickRealType) \ @@ -1397,7 +1399,7 @@ MagickExport Image *EnhanceImage(const Image *image,ExceptionInfo *exception) if ((traits == UndefinedPixelTrait) || (enhance_traits == UndefinedPixelTrait)) continue; - q[channel]=p[center+i]; + SetPixelChannel(enhance_image,channel,p[center+i],q); if ((enhance_traits & CopyPixelTrait) != 0) continue; /* @@ -1420,7 +1422,8 @@ MagickExport Image *EnhanceImage(const Image *image,ExceptionInfo *exception) r=p+4*GetPixelChannels(image)*(image->columns+4); EnhancePixel(5.0); EnhancePixel(8.0); EnhancePixel(10.0); EnhancePixel(8.0); EnhancePixel(5.0); - q[channel]=ClampToQuantum(aggregate/total_weight); + SetPixelChannel(enhance_image,channel,ClampToQuantum(aggregate/ + total_weight),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(enhance_image); diff --git a/MagickCore/fx.c b/MagickCore/fx.c index ac036f695..cb20c249a 100644 --- a/MagickCore/fx.c +++ b/MagickCore/fx.c @@ -3043,7 +3043,7 @@ MagickExport Image *FxImage(const Image *image,const char *expression, continue; if ((fx_traits & CopyPixelTrait) != 0) { - q[channel]=p[i]; + SetPixelChannel(fx_image,channel,p[i],q); continue; } alpha=0.0; diff --git a/MagickCore/image.c b/MagickCore/image.c index 96d088fd2..4789c1e18 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -554,7 +554,7 @@ MagickExport Image *AppendImages(const Image *images, if ((traits == UndefinedPixelTrait) || (append_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(append_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(append_image); diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h index df4049a78..6fe106710 100644 --- a/MagickCore/magick-config.h +++ b/MagickCore/magick-config.h @@ -12,7 +12,9 @@ /* #undef AUTOTRACE_DELEGATE */ /* Define if coders and filters are to be built as modules. */ -/* #undef BUILD_MODULES */ +#ifndef MAGICKCORE_BUILD_MODULES +#define MAGICKCORE_BUILD_MODULES 1 +#endif /* Define if you have the bzip2 library */ #ifndef MAGICKCORE_BZLIB_DELEGATE @@ -75,7 +77,9 @@ #endif /* Define if you have FFTW library */ -/* #undef FFTW_DELEGATE */ +#ifndef MAGICKCORE_FFTW_DELEGATE +#define MAGICKCORE_FFTW_DELEGATE 1 +#endif /* Location of filter modules */ #ifndef MAGICKCORE_FILTER_PATH @@ -217,7 +221,9 @@ #endif /* Define to 1 if you have the header file. */ -/* #undef HAVE_CL_CL_H */ +#ifndef MAGICKCORE_HAVE_CL_CL_H +#define MAGICKCORE_HAVE_CL_CL_H 1 +#endif /* Define to 1 if you have the header file. */ #ifndef MAGICKCORE_HAVE_COMPLEX_H @@ -429,15 +435,15 @@ #endif /* Define if you have the header file. */ -#ifndef MAGICKCORE_HAVE_LCMS2_H -#define MAGICKCORE_HAVE_LCMS2_H 1 -#endif +/* #undef HAVE_LCMS2_H */ /* Define if you have the header file. */ /* #undef HAVE_LCMS2_LCMS2_H */ /* Define if you have the header file. */ -/* #undef HAVE_LCMS_H */ +#ifndef MAGICKCORE_HAVE_LCMS_H +#define MAGICKCORE_HAVE_LCMS_H 1 +#endif /* Define if you have the header file. */ /* #undef HAVE_LCMS_LCMS_H */ @@ -1160,7 +1166,9 @@ #endif /* Define if you have JBIG library */ -/* #undef JBIG_DELEGATE */ +#ifndef MAGICKCORE_JBIG_DELEGATE +#define MAGICKCORE_JBIG_DELEGATE 1 +#endif /* Define if you have JPEG version 2 "Jasper" library */ #ifndef MAGICKCORE_JP2_DELEGATE @@ -1189,7 +1197,9 @@ #endif /* Define if you have LQR library */ -/* #undef LQR_DELEGATE */ +#ifndef MAGICKCORE_LQR_DELEGATE +#define MAGICKCORE_LQR_DELEGATE 1 +#endif /* Define if using libltdl to support dynamically loadable modules */ #ifndef MAGICKCORE_LTDL_DELEGATE @@ -1201,7 +1211,7 @@ /* Define to the system default library search path. */ #ifndef MAGICKCORE_LT_DLSEARCH_PATH -#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib/llvm:/usr/lib64/llvm:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2" +#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/opt/intel/lib/intel64:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mysql:/usr/lib64/nvidia:/usr/lib64/qt-3.3/lib:/usr/lib64/xulrunner-2" #endif /* The archive extension */ @@ -1252,7 +1262,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 /* Define to the address where bug reports for this package should be sent. */ #ifndef MAGICKCORE_PACKAGE_BUGREPORT @@ -1307,7 +1319,9 @@ #endif /* Define if you have RSVG library */ -/* #undef RSVG_DELEGATE */ +#ifndef MAGICKCORE_RSVG_DELEGATE +#define MAGICKCORE_RSVG_DELEGATE 1 +#endif /* Define to the type of arg 1 for `select'. */ #ifndef MAGICKCORE_SELECT_TYPE_ARG1 @@ -1444,7 +1458,9 @@ /* Define if you have WEBP library */ -/* #undef WEBP_DELEGATE */ +#ifndef MAGICKCORE_WEBP_DELEGATE +#define MAGICKCORE_WEBP_DELEGATE 1 +#endif /* Define to use the Windows GDI32 library */ /* #undef WINGDI32_DELEGATE */ @@ -1453,7 +1469,9 @@ /* #undef WITH_DMALLOC */ /* Define if you have WMF library */ -/* #undef WMF_DELEGATE */ +#ifndef MAGICKCORE_WMF_DELEGATE +#define MAGICKCORE_WMF_DELEGATE 1 +#endif /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ @@ -1509,7 +1527,9 @@ /* #undef _MINIX */ /* Define this for the OpenCL Accelerator */ -/* #undef _OPENCL */ +#ifndef MAGICKCORE__OPENCL +#define MAGICKCORE__OPENCL 1 +#endif /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ diff --git a/MagickCore/pixel.c b/MagickCore/pixel.c index 96c290467..b2707086f 100644 --- a/MagickCore/pixel.c +++ b/MagickCore/pixel.c @@ -3870,7 +3870,7 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image, if (p == (const Quantum *) NULL) status=MagickFalse; else - *pixel=(double) p[channel]; + *pixel=(double) GetPixelChannel(image,channel,p); filter_view=DestroyCacheView(filter_view); filter_image=DestroyImage(filter_image); break; @@ -3883,7 +3883,7 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image, status=MagickFalse; break; } - *pixel=(double) p[channel]; + *pixel=(double) GetPixelChannel(image,channel,p); break; } case NearestNeighborInterpolatePixel: @@ -3895,7 +3895,7 @@ MagickExport MagickBooleanType InterpolatePixelChannel(const Image *image, status=MagickFalse; break; } - *pixel=(double) p[channel]; + *pixel=(double) GetPixelChannel(image,channel,p); break; } case MeshInterpolatePixel: diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 533376fc5..e6c32cb57 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -1775,7 +1775,8 @@ MagickExport Image *LiquidRescaleImage(const Image *image,const size_t columns, if ((traits == UndefinedPixelTrait) || (rescale_traits == UndefinedPixelTrait)) continue; - q[channel]=ClampToQuantum(QuantumRange*packet[i]); + SetPixelChannel(rescale_image,channel,ClampToQuantum(QuantumRange* + packet[i]),q); } if (SyncCacheViewAuthenticPixels(rescale_view,exception) == MagickFalse) break; @@ -2212,7 +2213,8 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, stop-1.0)+0.5); k=y*(contribution[n-1].pixel-contribution[0].pixel+1)+ (contribution[j-start].pixel-contribution[0].pixel); - q[channel]=p[k*GetPixelChannels(image)+i]; + SetPixelChannel(resize_image,channel,p[k*GetPixelChannels(image)+i], + q); continue; } pixel=0.0; @@ -2228,7 +2230,7 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, alpha=contribution[j].weight; pixel+=alpha*p[k*GetPixelChannels(image)+i]; } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(resize_image,channel,ClampToQuantum(pixel),q); continue; } /* @@ -2245,7 +2247,7 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, gamma+=alpha; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(resize_image,channel,ClampToQuantum(gamma*pixel),q); } q+=GetPixelChannels(resize_image); } @@ -2424,7 +2426,8 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, stop-1.0)+0.5); k=(ssize_t) ((contribution[j-start].pixel-contribution[0].pixel)* image->columns+x); - q[channel]=p[k*GetPixelChannels(image)+i]; + SetPixelChannel(resize_image,channel,p[k*GetPixelChannels(image)+i], + q); continue; } pixel=0.0; @@ -2440,7 +2443,7 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, alpha=contribution[j].weight; pixel+=alpha*p[k*GetPixelChannels(image)+i]; } - q[channel]=ClampToQuantum(pixel); + SetPixelChannel(resize_image,channel,ClampToQuantum(pixel),q); continue; } gamma=0.0; @@ -2454,7 +2457,7 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, gamma+=alpha; } gamma=1.0/(fabs((double) gamma) <= MagickEpsilon ? 1.0 : gamma); - q[channel]=ClampToQuantum(gamma*pixel); + SetPixelChannel(resize_image,channel,ClampToQuantum(gamma*pixel),q); } q+=GetPixelChannels(resize_image); } @@ -2727,7 +2730,8 @@ MagickExport Image *SampleImage(const Image *image,const size_t columns, if ((traits == UndefinedPixelTrait) || (sample_traits == UndefinedPixelTrait)) continue; - q[channel]=p[x_offset[x]*GetPixelChannels(image)+i]; + SetPixelChannel(sample_image,channel,p[x_offset[x]*GetPixelChannels( + image)+i],q); } q+=GetPixelChannels(sample_image); } @@ -3027,15 +3031,15 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, continue; if ((scale_traits & BlendPixelTrait) == 0) { - q[channel]=ClampToQuantum(scanline[x* - GetPixelChannels(image)+i]); + SetPixelChannel(scale_image,channel,ClampToQuantum(scanline[ + x*GetPixelChannels(image)+i]),q); continue; } alpha=QuantumScale*scanline[x*GetPixelChannels(image)+ GetPixelChannelMapChannel(image,AlphaPixelChannel)]; gamma=1.0/(fabs((double) alpha) <= MagickEpsilon ? 1.0 : alpha); - q[channel]=ClampToQuantum(gamma*scanline[x*GetPixelChannels(image)+ - i]); + SetPixelChannel(scale_image,channel,ClampToQuantum(gamma*scanline[ + x*GetPixelChannels(image)+i]),q); } q+=GetPixelChannels(scale_image); } @@ -3115,15 +3119,15 @@ MagickExport Image *ScaleImage(const Image *image,const size_t columns, continue; if ((scale_traits & BlendPixelTrait) == 0) { - q[channel]=ClampToQuantum(scale_scanline[x* - GetPixelChannels(scale_image)+channel]); + SetPixelChannel(scale_image,channel,ClampToQuantum( + scale_scanline[x*GetPixelChannels(scale_image)+channel]),q); continue; } alpha=QuantumScale*scanline[x*GetPixelChannels(image)+ GetPixelChannelMapChannel(image,AlphaPixelChannel)]; gamma=1.0/(fabs((double) alpha) <= MagickEpsilon ? 1.0 : alpha); - q[channel]=ClampToQuantum(gamma*scale_scanline[ - x*GetPixelChannels(scale_image)+channel]); + SetPixelChannel(scale_image,channel,ClampToQuantum(gamma* + scale_scanline[x*GetPixelChannels(scale_image)+channel]),q); } q+=GetPixelChannels(scale_image); } diff --git a/MagickCore/shear.c b/MagickCore/shear.c index d6ca2acbe..50bde3328 100644 --- a/MagickCore/shear.c +++ b/MagickCore/shear.c @@ -1163,10 +1163,10 @@ static Image *IntegralRotateImage(const Image *image,size_t rotations, continue; if ((rotate_traits & CopyPixelTrait) != 0) { - q[channel]=tile_pixels[i]; + SetPixelChannel(rotate_image,channel,tile_pixels[i],q); continue; } - q[channel]=tile_pixels[i]; + SetPixelChannel(rotate_image,channel,tile_pixels[i],q); } tile_pixels-=width*GetPixelChannels(image); q+=GetPixelChannels(rotate_image); @@ -1251,10 +1251,10 @@ static Image *IntegralRotateImage(const Image *image,size_t rotations, continue; if ((rotate_traits & CopyPixelTrait) != 0) { - q[channel]=p[i]; + SetPixelChannel(rotate_image,channel,p[i],q); continue; } - q[channel]=p[i]; + SetPixelChannel(rotate_image,channel,p[i],q); } p+=GetPixelChannels(image); } @@ -1374,10 +1374,10 @@ static Image *IntegralRotateImage(const Image *image,size_t rotations, continue; if ((rotate_traits & CopyPixelTrait) != 0) { - q[channel]=tile_pixels[i]; + SetPixelChannel(rotate_image,channel,tile_pixels[i],q); continue; } - q[channel]=tile_pixels[i]; + SetPixelChannel(rotate_image,channel,tile_pixels[i],q); } tile_pixels+=width*GetPixelChannels(image); q+=GetPixelChannels(rotate_image); diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index 9bbaa920c..5459f7334 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -569,7 +569,8 @@ MagickExport Image *EvaluateImages(const Image *images, if ((evaluate_traits & UpdatePixelTrait) == 0) continue; evaluate_pixel[j].channel[i]=ApplyEvaluateOperator(random_info[id], - p[channel],op,evaluate_pixel[j].channel[i]); + GetPixelChannel(evaluate_image,channel,p),op, + evaluate_pixel[j].channel[i]); } image_view=DestroyCacheView(image_view); next=GetNextImageInList(next); @@ -674,8 +675,8 @@ MagickExport Image *EvaluateImages(const Image *images, if ((traits & UpdatePixelTrait) == 0) continue; evaluate_pixel[x].channel[i]=ApplyEvaluateOperator(random_info[id], - p[channel],j == 0 ? AddEvaluateOperator : op, - evaluate_pixel[x].channel[i]); + GetPixelChannel(evaluate_image,channel,p),j == 0 ? + AddEvaluateOperator : op,evaluate_pixel[x].channel[i]); } p+=GetPixelChannels(next); } diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c index 5e9f02363..380c643e1 100644 --- a/MagickCore/threshold.c +++ b/MagickCore/threshold.c @@ -260,7 +260,7 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image, continue; if ((threshold_traits & CopyPixelTrait) != 0) { - q[channel]=p[center+i]; + SetPixelChannel(threshold_image,channel,p[center+i],q); continue; } pixels=p; @@ -275,8 +275,8 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image, pixels+=image->columns*GetPixelChannels(image); } mean=pixel/number_pixels+bias; - q[channel]=(Quantum) (((MagickRealType) p[center+i] <= mean) ? 0 : - QuantumRange); + SetPixelChannel(threshold_image,channel,ClampToQuantum(((MagickRealType) + p[center+i] <= mean) ? 0 : QuantumRange),q); } p+=GetPixelChannels(image); q+=GetPixelChannels(threshold_image); diff --git a/MagickCore/transform.c b/MagickCore/transform.c index b213d338e..745afc44b 100644 --- a/MagickCore/transform.c +++ b/MagickCore/transform.c @@ -205,7 +205,7 @@ MagickExport Image *ChopImage(const Image *image,const RectangleInfo *chop_info, if ((traits == UndefinedPixelTrait) || (chop_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(chop_image,channel,p[i],q); } q+=GetPixelChannels(chop_image); } @@ -276,7 +276,7 @@ MagickExport Image *ChopImage(const Image *image,const RectangleInfo *chop_info, if ((traits == UndefinedPixelTrait) || (chop_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(chop_image,channel,p[i],q); } q+=GetPixelChannels(chop_image); } @@ -629,7 +629,7 @@ MagickExport Image *CropImage(const Image *image,const RectangleInfo *geometry, if ((traits == UndefinedPixelTrait) || (crop_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(crop_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(crop_image); @@ -981,7 +981,7 @@ MagickExport Image *ExcerptImage(const Image *image, if ((traits == UndefinedPixelTrait) || (excerpt_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(excerpt_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(excerpt_image); @@ -1181,7 +1181,7 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception) if ((traits == UndefinedPixelTrait) || (flip_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(flip_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(flip_image); @@ -1323,7 +1323,7 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception) if ((traits == UndefinedPixelTrait) || (flop_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(flop_image,channel,p[i],q); } p+=GetPixelChannels(image); } @@ -1450,7 +1450,7 @@ static inline MagickBooleanType CopyImageRegion(Image *destination, if ((source_traits == UndefinedPixelTrait) || (destination_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(destination,channel,p[i],q); } p+=GetPixelChannels(source); q+=GetPixelChannels(destination); @@ -1768,7 +1768,7 @@ MagickExport Image *SpliceImage(const Image *image, if ((traits == UndefinedPixelTrait) || (splice_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(splice_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(splice_image); @@ -1795,7 +1795,7 @@ MagickExport Image *SpliceImage(const Image *image, if ((traits == UndefinedPixelTrait) || (splice_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(splice_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(splice_image); @@ -1864,7 +1864,7 @@ MagickExport Image *SpliceImage(const Image *image, if ((traits == UndefinedPixelTrait) || (splice_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(splice_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(splice_image); @@ -1891,7 +1891,7 @@ MagickExport Image *SpliceImage(const Image *image, if ((traits == UndefinedPixelTrait) || (splice_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(splice_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(splice_image); @@ -2196,7 +2196,7 @@ MagickExport Image *TransposeImage(const Image *image,ExceptionInfo *exception) if ((traits == UndefinedPixelTrait) || (transpose_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(transpose_image,channel,p[i],q); } p+=GetPixelChannels(image); q+=GetPixelChannels(transpose_image); @@ -2343,7 +2343,7 @@ MagickExport Image *TransverseImage(const Image *image,ExceptionInfo *exception) if ((traits == UndefinedPixelTrait) || (transverse_traits == UndefinedPixelTrait)) continue; - q[channel]=p[i]; + SetPixelChannel(transverse_image,channel,p[i],q); } p+=GetPixelChannels(image); } diff --git a/MagickCore/version.h b/MagickCore/version.h index d5dc7ed7d..652af7a80 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -27,14 +27,14 @@ extern "C" { */ #define MagickPackageName "ImageMagick" #define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC" -#define MagickSVNRevision "5364" +#define MagickSVNRevision "exported" #define MagickLibVersion 0x700 #define MagickLibVersionText "7.0.0" #define MagickLibVersionNumber 7,0,0 #define MagickLibAddendum "-0" #define MagickLibInterface 7 #define MagickLibMinInterface 7 -#define MagickReleaseDate "2011-09-25" +#define MagickReleaseDate "2011-09-24" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/coders/dpx.c b/coders/dpx.c index 93ad8fccc..7cb751ae1 100644 --- a/coders/dpx.c +++ b/coders/dpx.c @@ -1426,7 +1426,8 @@ static MagickBooleanType WriteDPXImage(const ImageInfo *image_info,Image *image, dpx.file.project); value=GetDPXProperty(image_info,image,"dpx:file.copyright"); if (value != (const char *) NULL) - (void) strncpy(dpx.file.copyright,value,sizeof(dpx.file.copyright)); + (void) strncpy(dpx.file.copyright,value, + sizeof(dpx.file.copyright)); offset+=WriteBlob(image,sizeof(dpx.file.copyright),(unsigned char *) dpx.file.copyright); dpx.file.encrypt_key=(~0U); -- 2.40.0