]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Mon, 8 Jul 2013 18:18:50 +0000 (18:18 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Mon, 8 Jul 2013 18:18:50 +0000 (18:18 +0000)
MagickCore/cache.c

index 0a1369d5cfc9f7fa195a57c01966429570935947..cf46e66e88b0c9ac1a077e2da59d12ef654aadbb 100644 (file)
@@ -516,12 +516,26 @@ static MagickBooleanType ClonePixelCacheRepository(
       (memcmp(cache_info->channel_map,clone_info->channel_map,length) == 0) &&
       (cache_info->metacontent_extent == clone_info->metacontent_extent))
     {
+      MagickSizeType
+        extent;
+
       /*
         Identical pixel cache morphology.
       */
-      (void) memcpy(clone_info->pixels,cache_info->pixels,cache_info->columns*
-        cache_info->number_channels*cache_info->rows*
+      extent=cache_info->columns*cache_info->number_channels*cache_info->rows;
+#if !defined(MAGICKCORE_OPENMP_SUPPORT) || (MAGICKCORE_QUANTUM_DEPTH <= 8)
+      (void) memcpy(clone_info->pixels,cache_info->pixels,extent*
         sizeof(*cache_info->pixels));
+#else
+      {
+        register MagickSizeType
+          i;
+
+        #pragma omp parallel for
+        for (i=0; i < extent; i++)
+          clone_info->pixels[i]=cache_info->pixels[i];
+      }
+#endif
       if (cache_info->metacontent_extent != 0)
         (void) memcpy(clone_info->metacontent,cache_info->metacontent,
           cache_info->columns*cache_info->rows*clone_info->metacontent_extent*