From 67654ae318136ea5c9d9a209ec860f923743a24c Mon Sep 17 00:00:00 2001 From: Cristy Date: Sun, 18 Nov 2018 09:02:42 -0500 Subject: [PATCH] ... --- MagickCore/resize.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/MagickCore/resize.c b/MagickCore/resize.c index a8da4a976..4fc7cb8f2 100644 --- a/MagickCore/resize.c +++ b/MagickCore/resize.c @@ -2426,9 +2426,11 @@ static ContributionInfo **AcquireContributionThreadSet(const size_t count) return(contribution); } -static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, - const Image *image,Image *resize_image,const double x_factor, - const MagickSizeType span,MagickOffsetType *offset,ExceptionInfo *exception) +static MagickBooleanType HorizontalFilter( + const ResizeFilter *magick_restrict resize_filter, + const Image *magick_restrict image,Image *magick_restrict resize_image, + const double x_factor,const MagickSizeType span, + MagickOffsetType *magick_restrict progress,ExceptionInfo *exception) { #define ResizeImageTag "Resize/Image" @@ -2480,7 +2482,7 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, image_view=AcquireVirtualCacheView(image,exception); resize_view=AcquireAuthenticCacheView(resize_image,exception); #if defined(MAGICKCORE_OPENMP_SUPPORT) - #pragma omp parallel for schedule(static) shared(status) \ + #pragma omp parallel for schedule(static) shared(progress,status) \ magick_number_threads(image,resize_image,resize_image->columns,1) #endif for (x=0; x < (ssize_t) resize_image->columns; x++) @@ -2629,7 +2631,11 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, MagickBooleanType proceed; - proceed=SetImageProgress(image,ResizeImageTag,(*offset)++,span); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + (*progress)++; + proceed=SetImageProgress(image,ResizeImageTag,*progress,span); if (proceed == MagickFalse) status=MagickFalse; } @@ -2640,9 +2646,11 @@ static MagickBooleanType HorizontalFilter(const ResizeFilter *resize_filter, return(status); } -static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, - const Image *image,Image *resize_image,const double y_factor, - const MagickSizeType span,MagickOffsetType *offset,ExceptionInfo *exception) +static MagickBooleanType VerticalFilter( + const ResizeFilter *magick_restrict resize_filter, + const Image *magick_restrict image,Image *magick_restrict resize_image, + const double y_factor,const MagickSizeType span, + MagickOffsetType *magick_restrict progress,ExceptionInfo *exception) { CacheView *image_view, @@ -2692,7 +2700,7 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, image_view=AcquireVirtualCacheView(image,exception); resize_view=AcquireAuthenticCacheView(resize_image,exception); #if defined(MAGICKCORE_OPENMP_SUPPORT) - #pragma omp parallel for schedule(static) shared(status) \ + #pragma omp parallel for schedule(static) shared(progress,status) \ magick_number_threads(image,resize_image,resize_image->rows,1) #endif for (y=0; y < (ssize_t) resize_image->rows; y++) @@ -2839,7 +2847,11 @@ static MagickBooleanType VerticalFilter(const ResizeFilter *resize_filter, MagickBooleanType proceed; - proceed=SetImageProgress(image,ResizeImageTag,(*offset)++,span); +#if defined(MAGICKCORE_OPENMP_SUPPORT) + #pragma omp atomic +#endif + (*progress)++; + proceed=SetImageProgress(image,ResizeImageTag,*progress,span); if (proceed == MagickFalse) status=MagickFalse; } -- 2.40.0