From fc89eecd671fe8681aee53b3dcd5137a2bb40acd Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 11 Nov 2018 21:10:06 -0500 Subject: [PATCH] ... --- MagickCore/channel.c | 12 +++++- MagickCore/colorspace.c | 12 +++++- MagickCore/compare.c | 13 ++++-- MagickCore/composite.c | 14 +++++-- MagickCore/constitute.c | 6 ++- MagickCore/decorate.c | 24 +++++++++-- MagickCore/distort.c | 13 ++++-- MagickCore/effect.c | 54 ++++++++++++++++++++---- MagickCore/enhance.c | 93 +++++++++++++++++++++++++++++++++-------- MagickCore/feature.c | 21 +++++++--- MagickCore/fourier.c | 7 +++- MagickCore/fx.c | 69 +++++++++++++++++++++++------- MagickCore/image-view.c | 32 +++++++++++--- MagickCore/image.c | 6 ++- MagickCore/morphology.c | 25 ++++++++--- MagickCore/paint.c | 24 +++++++++-- MagickCore/profile.c | 6 ++- MagickCore/quantize.c | 7 +++- MagickCore/resize.c | 12 +++++- MagickCore/segment.c | 14 +++++-- MagickCore/shear.c | 12 +++++- MagickCore/statistic.c | 37 ++++++++++++---- MagickCore/threshold.c | 54 ++++++++++++++++++++---- MagickCore/transform.c | 62 +++++++++++++++++++++------ MagickCore/vision.c | 6 ++- MagickWand/wand-view.c | 30 ++++++++++--- 26 files changed, 536 insertions(+), 129 deletions(-) diff --git a/MagickCore/channel.c b/MagickCore/channel.c index cd6338fd6..edd554c93 100644 --- a/MagickCore/channel.c +++ b/MagickCore/channel.c @@ -628,7 +628,11 @@ MagickExport Image *CombineImages(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,CombineImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CombineImageTag,progress, combine_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -800,7 +804,11 @@ MagickExport Image *SeparateImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SeparateImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SeparateImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c index e8c6d0a2e..96ea76272 100644 --- a/MagickCore/colorspace.c +++ b/MagickCore/colorspace.c @@ -1052,7 +1052,11 @@ static MagickBooleanType sRGBTransformImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,sRGBTransformImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,sRGBTransformImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -2531,7 +2535,11 @@ static MagickBooleanType TransformsRGBImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,TransformsRGBImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TransformsRGBImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/compare.c b/MagickCore/compare.c index 0290209a2..7b0528d4a 100644 --- a/MagickCore/compare.c +++ b/MagickCore/compare.c @@ -1072,7 +1072,11 @@ static MagickBooleanType GetNormalizedCrossCorrelationDistortion( MagickBooleanType proceed; - proceed=SetImageProgress(image,SimilarityImageTag,progress++,rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SimilarityImageTag,progress,rows); if (proceed == MagickFalse) { status=MagickFalse; @@ -2277,8 +2281,11 @@ MagickExport Image *SimilarityImage(const Image *image,const Image *reference, MagickBooleanType proceed; - proceed=SetImageProgress(image,SimilarityImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SimilarityImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/composite.c b/MagickCore/composite.c index fb5f1243d..4ee5d5bb8 100644 --- a/MagickCore/composite.c +++ b/MagickCore/composite.c @@ -511,8 +511,11 @@ static MagickBooleanType CompositeOverImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,CompositeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CompositeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2326,8 +2329,11 @@ MagickExport MagickBooleanType CompositeImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,CompositeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CompositeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c index 99b2b2286..865a3a298 100644 --- a/MagickCore/constitute.c +++ b/MagickCore/constitute.c @@ -1385,7 +1385,11 @@ MagickExport MagickBooleanType WriteImages(const ImageInfo *image_info, break; if (number_images != 1) { - proceed=SetImageProgress(p,WriteImageTag,progress++,number_images); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(p,WriteImageTag,progress,number_images); if (proceed == MagickFalse) break; } diff --git a/MagickCore/decorate.c b/MagickCore/decorate.c index 311a766dc..96e58d927 100644 --- a/MagickCore/decorate.c +++ b/MagickCore/decorate.c @@ -454,7 +454,11 @@ MagickExport Image *FrameImage(const Image *image,const FrameInfo *frame_info, MagickBooleanType proceed; - proceed=SetImageProgress(image,FrameImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,FrameImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -720,7 +724,11 @@ MagickExport MagickBooleanType RaiseImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,RaiseImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,RaiseImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -781,7 +789,11 @@ MagickExport MagickBooleanType RaiseImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,RaiseImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,RaiseImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -853,7 +865,11 @@ MagickExport MagickBooleanType RaiseImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,RaiseImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,RaiseImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/distort.c b/MagickCore/distort.c index 3c57769ae..b434f2233 100644 --- a/MagickCore/distort.c +++ b/MagickCore/distort.c @@ -2789,8 +2789,11 @@ if ( d.x == 0.5 && d.y == 0.5 ) { MagickBooleanType proceed; - proceed=SetImageProgress(image,DistortImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,DistortImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3315,7 +3318,11 @@ MagickExport Image *SparseColorImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SparseColorTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SparseColorTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/effect.c b/MagickCore/effect.c index 119a11520..cc2a25b3c 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c @@ -390,7 +390,11 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,AdaptiveBlurImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,AdaptiveBlurImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -707,7 +711,11 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,AdaptiveSharpenImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,AdaptiveSharpenImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1617,7 +1625,11 @@ MagickExport Image *KuwaharaImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,KuwaharaImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,KuwaharaImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2196,7 +2208,11 @@ MagickExport Image *MotionBlurImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,BlurImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,BlurImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3004,7 +3020,11 @@ MagickExport Image *RotationalBlurImage(const Image *image,const double angle, MagickBooleanType proceed; - proceed=SetImageProgress(image,BlurImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,BlurImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3336,7 +3356,11 @@ MagickExport Image *SelectiveBlurImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,SelectiveBlurImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SelectiveBlurImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -3573,7 +3597,11 @@ MagickExport Image *ShadeImage(const Image *image,const MagickBooleanType gray, MagickBooleanType proceed; - proceed=SetImageProgress(image,ShadeImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ShadeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3833,7 +3861,11 @@ MagickExport Image *SpreadImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SpreadImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SpreadImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -4002,7 +4034,11 @@ MagickExport Image *UnsharpMaskImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,SharpenImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SharpenImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c index a49da7532..984e8e2cd 100644 --- a/MagickCore/enhance.c +++ b/MagickCore/enhance.c @@ -413,7 +413,11 @@ MagickExport MagickBooleanType ClutImage(Image *image,const Image *clut_image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ClutImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ClutImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -786,8 +790,12 @@ MagickExport MagickBooleanType ColorDecisionListImage(Image *image, MagickBooleanType proceed; +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; proceed=SetImageProgress(image,ColorDecisionListCorrectImageTag, - progress++,image->rows); + progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -956,7 +964,11 @@ MagickExport MagickBooleanType ContrastImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ContrastImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ContrastImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1243,7 +1255,11 @@ MagickExport MagickBooleanType ContrastStretchImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ContrastStretchImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ContrastStretchImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1436,7 +1452,11 @@ MagickExport Image *EnhanceImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,EnhanceImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,EnhanceImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1698,7 +1718,11 @@ MagickExport MagickBooleanType EqualizeImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,EqualizeImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,EqualizeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1856,8 +1880,11 @@ MagickExport MagickBooleanType GammaImage(Image *image,const double gamma, MagickBooleanType proceed; - proceed=SetImageProgress(image,GammaCorrectImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,GammaCorrectImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2059,8 +2086,11 @@ MagickExport MagickBooleanType GrayscaleImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,GrayscaleImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,GrayscaleImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2257,7 +2287,11 @@ MagickExport MagickBooleanType HaldClutImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,HaldClutImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,HaldClutImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2419,7 +2453,11 @@ MagickExport MagickBooleanType LevelImage(Image *image,const double black_point, MagickBooleanType proceed; - proceed=SetImageProgress(image,LevelImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,LevelImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2566,7 +2604,11 @@ MagickExport MagickBooleanType LevelizeImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,LevelizeImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,LevelizeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3276,7 +3318,11 @@ MagickExport MagickBooleanType ModulateImage(Image *image,const char *modulate, MagickBooleanType proceed; - proceed=SetImageProgress(image,ModulateImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ModulateImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3410,8 +3456,11 @@ MagickExport MagickBooleanType NegateImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,NegateImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,NegateImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3464,7 +3513,11 @@ MagickExport MagickBooleanType NegateImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,NegateImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,NegateImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3763,7 +3816,11 @@ MagickExport MagickBooleanType SigmoidalContrastImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SigmoidalContrastImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SigmoidalContrastImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/feature.c b/MagickCore/feature.c index e405aed79..2325e911e 100644 --- a/MagickCore/feature.c +++ b/MagickCore/feature.c @@ -554,8 +554,11 @@ MagickExport Image *CannyEdgeImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(image,CannyEdgeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CannyEdgeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1942,8 +1945,11 @@ MagickExport Image *HoughLineImage(const Image *image,const size_t width, MagickBooleanType proceed; - proceed=SetImageProgress(image,CannyEdgeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CannyEdgeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2315,8 +2321,11 @@ MagickExport Image *MeanShiftImage(const Image *image,const size_t width, MagickBooleanType proceed; - proceed=SetImageProgress(image,MeanShiftImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MeanShiftImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c index b0bec44e4..312027745 100644 --- a/MagickCore/fourier.c +++ b/MagickCore/fourier.c @@ -332,8 +332,11 @@ MagickExport Image *ComplexImages(const Image *images,const ComplexOperator op, MagickBooleanType proceed; - proceed=SetImageProgress(images,ComplexImageTag,progress++, - images->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(images,ComplexImageTag,progress,images->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/fx.c b/MagickCore/fx.c index b3ce54233..34a84fdeb 100644 --- a/MagickCore/fx.c +++ b/MagickCore/fx.c @@ -387,8 +387,11 @@ MagickExport Image *AddNoiseImage(const Image *image,const NoiseType noise_type, MagickBooleanType proceed; - proceed=SetImageProgress(image,AddNoiseImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,AddNoiseImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -540,8 +543,11 @@ MagickExport Image *BlueShiftImage(const Image *image,const double factor, MagickBooleanType proceed; - proceed=SetImageProgress(image,BlueShiftImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,BlueShiftImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -781,7 +787,11 @@ MagickExport Image *ColorizeImage(const Image *image,const char *blend, MagickBooleanType proceed; - proceed=SetImageProgress(image,ColorizeImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ColorizeImageTag,progress, colorize_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -999,7 +1009,11 @@ MagickExport Image *ColorMatrixImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ColorMatrixImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ColorMatrixImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -3210,7 +3224,11 @@ MagickExport Image *FxImage(const Image *image,const char *expression, MagickBooleanType proceed; - proceed=SetImageProgress(image,FxImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,FxImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3422,7 +3440,11 @@ MagickExport Image *ImplodeImage(const Image *image,const double amount, MagickBooleanType proceed; - proceed=SetImageProgress(canvas_image,ImplodeImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(canvas_image,ImplodeImageTag,progress, canvas_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -4286,8 +4308,11 @@ MagickExport Image *SepiaToneImage(const Image *image,const double threshold, MagickBooleanType proceed; - proceed=SetImageProgress(image,SepiaToneImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SepiaToneImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -4729,7 +4754,11 @@ MagickExport MagickBooleanType SolarizeImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SolarizeImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SolarizeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -5248,7 +5277,11 @@ MagickExport Image *SwirlImage(const Image *image,double degrees, MagickBooleanType proceed; - proceed=SetImageProgress(canvas_image,SwirlImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(canvas_image,SwirlImageTag,progress, canvas_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -5443,7 +5476,11 @@ MagickExport Image *TintImage(const Image *image,const char *blend, MagickBooleanType proceed; - proceed=SetImageProgress(image,TintImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TintImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -5711,7 +5748,11 @@ MagickExport Image *WaveImage(const Image *image,const double amplitude, MagickBooleanType proceed; - proceed=SetImageProgress(canvas_image,WaveImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(canvas_image,WaveImageTag,progress, canvas_image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/image-view.c b/MagickCore/image-view.c index f5ccd88bf..1c8538070 100644 --- a/MagickCore/image-view.c +++ b/MagickCore/image-view.c @@ -293,8 +293,12 @@ MagickExport MagickBooleanType DuplexTransferImageViewIterator( { MagickBooleanType proceed; - - proceed=SetImageProgress(source_image,source->description,progress++, + +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -578,7 +582,11 @@ MagickExport MagickBooleanType GetImageViewIterator(ImageView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -925,8 +933,12 @@ MagickExport MagickBooleanType SetImageViewIterator(ImageView *destination, MagickBooleanType proceed; +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; proceed=SetImageProgress(destination_image,destination->description, - progress++,destination->extent.height); + progress,destination->extent.height); if (proceed == MagickFalse) status=MagickFalse; } @@ -1061,7 +1073,11 @@ MagickExport MagickBooleanType TransferImageViewIterator(ImageView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -1175,7 +1191,11 @@ MagickExport MagickBooleanType UpdateImageViewIterator(ImageView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/image.c b/MagickCore/image.c index 9604c776d..88119694e 100644 --- a/MagickCore/image.c +++ b/MagickCore/image.c @@ -1138,7 +1138,11 @@ MagickExport MagickBooleanType CopyImagePixels(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,CopyImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CopyImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c index 8c3e855ad..b53f6b375 100644 --- a/MagickCore/morphology.c +++ b/MagickCore/morphology.c @@ -2773,8 +2773,11 @@ static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image, MagickBooleanType proceed; - proceed=SetImageProgress(image,MorphologyTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MorphologyTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3199,7 +3202,11 @@ static ssize_t MorphologyPrimitive(const Image *image,Image *morphology_image, MagickBooleanType proceed; - proceed=SetImageProgress(image,MorphologyTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MorphologyTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3430,7 +3437,11 @@ static ssize_t MorphologyPrimitiveDirect(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,MorphologyTag,progress++,2*image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MorphologyTag,progress,2*image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -3590,7 +3601,11 @@ static ssize_t MorphologyPrimitiveDirect(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,MorphologyTag,progress++,2*image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MorphologyTag,progress,2*image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/paint.c b/MagickCore/paint.c index c27124f2d..1faa9706f 100644 --- a/MagickCore/paint.c +++ b/MagickCore/paint.c @@ -846,7 +846,11 @@ MagickExport Image *OilPaintImage(const Image *image,const double radius, MagickBooleanType proceed; - proceed=SetImageProgress(linear_image,OilPaintImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(linear_image,OilPaintImageTag,progress, linear_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -997,7 +1001,11 @@ MagickExport MagickBooleanType OpaquePaintImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,OpaquePaintImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,OpaquePaintImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1121,7 +1129,11 @@ MagickExport MagickBooleanType TransparentPaintImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,TransparentPaintImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TransparentPaintImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1252,7 +1264,11 @@ MagickExport MagickBooleanType TransparentPaintImageChroma(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,TransparentPaintImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TransparentPaintImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/profile.c b/MagickCore/profile.c index 6e83b1e02..d4a653e36 100644 --- a/MagickCore/profile.c +++ b/MagickCore/profile.c @@ -1232,7 +1232,11 @@ MagickExport MagickBooleanType ProfileImage(Image *image,const char *name, MagickBooleanType proceed; - proceed=SetImageProgress(image,ProfileImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ProfileImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickCore/quantize.c b/MagickCore/quantize.c index 8ae278a8e..310bf15e5 100644 --- a/MagickCore/quantize.c +++ b/MagickCore/quantize.c @@ -2450,8 +2450,11 @@ MagickExport MagickBooleanType PosterizeImage(Image *image,const size_t levels, MagickBooleanType proceed; - proceed=SetImageProgress(image,PosterizeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,PosterizeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/resize.c b/MagickCore/resize.c index 75e185cee..a8da4a976 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -1812,7 +1812,11 @@ MagickExport Image *InterpolativeResizeImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,InterpolativeResizeImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,InterpolativeResizeImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -2207,7 +2211,11 @@ MagickExport Image *MagnifyImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,MagnifyImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,MagnifyImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/segment.c b/MagickCore/segment.c index 6af12dbf2..a8f8a8557 100644 --- a/MagickCore/segment.c +++ b/MagickCore/segment.c @@ -405,8 +405,11 @@ static MagickBooleanType Classify(Image *image,short **extrema, MagickBooleanType proceed; - proceed=SetImageProgress(image,SegmentImageTag,progress++,2* - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SegmentImageTag,progress,2*image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -643,8 +646,11 @@ static MagickBooleanType Classify(Image *image,short **extrema, MagickBooleanType proceed; - proceed=SetImageProgress(image,SegmentImageTag,progress++,2* - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SegmentImageTag,progress,2*image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/shear.c b/MagickCore/shear.c index ecd8939b8..ff25a1042 100644 --- a/MagickCore/shear.c +++ b/MagickCore/shear.c @@ -1283,7 +1283,11 @@ static MagickBooleanType XShearImage(Image *image,const double degrees, MagickBooleanType proceed; - proceed=SetImageProgress(image,XShearImageTag,progress++,height); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,XShearImageTag,progress,height); if (proceed == MagickFalse) status=MagickFalse; } @@ -1498,7 +1502,11 @@ static MagickBooleanType YShearImage(Image *image,const double degrees, MagickBooleanType proceed; - proceed=SetImageProgress(image,YShearImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,YShearImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index ee83a009b..96f58d865 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -597,7 +597,11 @@ MagickExport Image *EvaluateImages(const Image *images, MagickBooleanType proceed; - proceed=SetImageProgress(images,EvaluateImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(images,EvaluateImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -746,7 +750,11 @@ MagickExport Image *EvaluateImages(const Image *images, MagickBooleanType proceed; - proceed=SetImageProgress(images,EvaluateImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(images,EvaluateImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -852,7 +860,11 @@ MagickExport MagickBooleanType EvaluateImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,EvaluateImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,EvaluateImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1073,7 +1085,11 @@ MagickExport MagickBooleanType FunctionImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,FunctionImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,FunctionImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2312,7 +2328,11 @@ MagickExport Image *PolynomialImage(const Image *images, MagickBooleanType proceed; - proceed=SetImageProgress(images,PolynomialImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(images,PolynomialImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -3015,8 +3035,11 @@ MagickExport Image *StatisticImage(const Image *image,const StatisticType type, MagickBooleanType proceed; - proceed=SetImageProgress(image,StatisticImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,StatisticImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/threshold.c b/MagickCore/threshold.c index 51974645c..4463a232a 100644 --- a/MagickCore/threshold.c +++ b/MagickCore/threshold.c @@ -338,7 +338,11 @@ MagickExport Image *AdaptiveThresholdImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,AdaptiveThresholdImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,AdaptiveThresholdImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -874,6 +878,10 @@ MagickExport MagickBooleanType BilevelImage(Image *image,const double threshold, MagickBooleanType proceed; +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; proceed=SetImageProgress(image,ThresholdImageTag,progress++, image->rows); if (proceed == MagickFalse) @@ -1032,7 +1040,11 @@ MagickExport MagickBooleanType BlackThresholdImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ThresholdImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ThresholdImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1156,7 +1168,11 @@ MagickExport MagickBooleanType ClampImage(Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,ClampImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ClampImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1802,7 +1818,11 @@ MagickExport MagickBooleanType OrderedDitherImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,DitherImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,DitherImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1946,7 +1966,12 @@ MagickExport MagickBooleanType PerceptibleImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,PerceptibleImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,PerceptibleImageTag,progress, + image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2086,7 +2111,11 @@ MagickExport MagickBooleanType RandomThresholdImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ThresholdImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ThresholdImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -2228,7 +2257,11 @@ MagickExport MagickBooleanType RangeThresholdImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ThresholdImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ThresholdImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -2386,8 +2419,11 @@ MagickExport MagickBooleanType WhiteThresholdImage(Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ThresholdImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ThresholdImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/transform.c b/MagickCore/transform.c index 2f4cef777..62353fecc 100644 --- a/MagickCore/transform.c +++ b/MagickCore/transform.c @@ -303,7 +303,11 @@ MagickExport Image *ChopImage(const Image *image,const RectangleInfo *chop_info, MagickBooleanType proceed; - proceed=SetImageProgress(image,ChopImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ChopImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -365,7 +369,11 @@ MagickExport Image *ChopImage(const Image *image,const RectangleInfo *chop_info, MagickBooleanType proceed; - proceed=SetImageProgress(image,ChopImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ChopImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -712,7 +720,11 @@ MagickExport Image *CropImage(const Image *image,const RectangleInfo *geometry, MagickBooleanType proceed; - proceed=SetImageProgress(image,CropImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,CropImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1055,7 +1067,11 @@ MagickExport Image *ExcerptImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ExcerptImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ExcerptImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1247,7 +1263,11 @@ MagickExport Image *FlipImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,FlipImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,FlipImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1379,7 +1399,11 @@ MagickExport Image *FlopImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,FlopImageTag,progress++,image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,FlopImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -1847,7 +1871,11 @@ MagickExport Image *SpliceImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SpliceImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SpliceImageTag,progress, splice_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -1935,7 +1963,11 @@ MagickExport Image *SpliceImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,SpliceImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,SpliceImageTag,progress, splice_image->rows); if (proceed == MagickFalse) status=MagickFalse; @@ -2165,8 +2197,11 @@ MagickExport Image *TransposeImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,TransposeImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TransposeImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } @@ -2304,8 +2339,11 @@ MagickExport Image *TransverseImage(const Image *image,ExceptionInfo *exception) MagickBooleanType proceed; - proceed=SetImageProgress(image,TransverseImageTag,progress++, - image->rows); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,TransverseImageTag,progress,image->rows); if (proceed == MagickFalse) status=MagickFalse; } diff --git a/MagickCore/vision.c b/MagickCore/vision.c index 979e6b693..ad194f7cd 100644 --- a/MagickCore/vision.c +++ b/MagickCore/vision.c @@ -418,7 +418,11 @@ MagickExport Image *ConnectedComponentsImage(const Image *image, MagickBooleanType proceed; - proceed=SetImageProgress(image,ConnectedComponentsImageTag,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(image,ConnectedComponentsImageTag,progress, image->rows); if (proceed == MagickFalse) status=MagickFalse; diff --git a/MagickWand/wand-view.c b/MagickWand/wand-view.c index fc5263348..b6cc9baab 100644 --- a/MagickWand/wand-view.c +++ b/MagickWand/wand-view.c @@ -372,7 +372,11 @@ WandExport MagickBooleanType DuplexTransferWandViewIterator(WandView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -576,7 +580,11 @@ WandExport MagickBooleanType GetWandViewIterator(WandView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -983,8 +991,12 @@ WandExport MagickBooleanType SetWandViewIterator(WandView *destination, MagickBooleanType proceed; +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; proceed=SetImageProgress(destination_image,destination->description, - progress++,destination->extent.height); + progress,destination->extent.height); if (proceed == MagickFalse) status=MagickFalse; } @@ -1142,7 +1154,11 @@ WandExport MagickBooleanType TransferWandViewIterator(WandView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; @@ -1272,7 +1288,11 @@ WandExport MagickBooleanType UpdateWandViewIterator(WandView *source, MagickBooleanType proceed; - proceed=SetImageProgress(source_image,source->description,progress++, +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + progress++; + proceed=SetImageProgress(source_image,source->description,progress, source->extent.height); if (proceed == MagickFalse) status=MagickFalse; -- 2.50.0