]> granicus.if.org Git - imagemagick/commitdiff
...
authorCristy <urban-warrior@imagemagick.org>
Sun, 18 Nov 2018 14:02:42 +0000 (09:02 -0500)
committerCristy <urban-warrior@imagemagick.org>
Sun, 18 Nov 2018 14:02:53 +0000 (09:02 -0500)
MagickCore/resize.c

index a8da4a976877043aea048e436e52c0086946d780..4fc7cb8f287975810c67ca4edb9f001f8150bd00 100644 (file)
@@ -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;
       }