• Home
  • Raw
  • Download

Lines Matching refs:cache_info

187     *magick_restrict cache_info;  in AcquirePixelCache()  local
192 cache_info=(CacheInfo *) AcquireQuantumMemory(1,sizeof(*cache_info)); in AcquirePixelCache()
193 if (cache_info == (CacheInfo *) NULL) in AcquirePixelCache()
195 (void) ResetMagickMemory(cache_info,0,sizeof(*cache_info)); in AcquirePixelCache()
196 cache_info->type=UndefinedCache; in AcquirePixelCache()
197 cache_info->mode=IOMode; in AcquirePixelCache()
198 cache_info->colorspace=sRGBColorspace; in AcquirePixelCache()
199 cache_info->file=(-1); in AcquirePixelCache()
200 cache_info->id=GetMagickThreadId(); in AcquirePixelCache()
201 cache_info->number_threads=number_threads; in AcquirePixelCache()
202 if (GetOpenMPMaximumThreads() > cache_info->number_threads) in AcquirePixelCache()
203 cache_info->number_threads=GetOpenMPMaximumThreads(); in AcquirePixelCache()
204 if (GetMagickResourceLimit(ThreadResource) > cache_info->number_threads) in AcquirePixelCache()
205 cache_info->number_threads=(size_t) GetMagickResourceLimit(ThreadResource); in AcquirePixelCache()
206 if (cache_info->number_threads == 0) in AcquirePixelCache()
207 cache_info->number_threads=1; in AcquirePixelCache()
208 cache_info->nexus_info=AcquirePixelCacheNexus(cache_info->number_threads); in AcquirePixelCache()
209 if (cache_info->nexus_info == (NexusInfo **) NULL) in AcquirePixelCache()
214 cache_info->synchronize=IsStringTrue(synchronize); in AcquirePixelCache()
217 cache_info->semaphore=AcquireSemaphoreInfo(); in AcquirePixelCache()
218 cache_info->reference_count=1; in AcquirePixelCache()
219 cache_info->file_semaphore=AcquireSemaphoreInfo(); in AcquirePixelCache()
220 cache_info->debug=IsEventLogging(); in AcquirePixelCache()
221 cache_info->signature=MagickCoreSignature; in AcquirePixelCache()
222 return((Cache ) cache_info); in AcquirePixelCache()
304 *magick_restrict cache_info; in AcquirePixelCachePixels() local
311 cache_info=(CacheInfo *) image->cache; in AcquirePixelCachePixels()
312 assert(cache_info->signature == MagickCoreSignature); in AcquirePixelCachePixels()
314 if ((cache_info->type != MemoryCache) && (cache_info->type != MapCache)) in AcquirePixelCachePixels()
316 *length=cache_info->length; in AcquirePixelCachePixels()
317 return((const void *) cache_info->pixels); in AcquirePixelCachePixels()
401 *magick_restrict cache_info; in ClonePixelCache() local
404 cache_info=(const CacheInfo *) cache; in ClonePixelCache()
405 assert(cache_info->signature == MagickCoreSignature); in ClonePixelCache()
406 if (cache_info->debug != MagickFalse) in ClonePixelCache()
408 cache_info->filename); in ClonePixelCache()
409 clone_info=(CacheInfo *) AcquirePixelCache(cache_info->number_threads); in ClonePixelCache()
412 clone_info->virtual_pixel_method=cache_info->virtual_pixel_method; in ClonePixelCache()
444 *magick_restrict cache_info, in ClonePixelCacheMethods() local
454 cache_info=(CacheInfo *) cache; in ClonePixelCacheMethods()
455 assert(cache_info->signature == MagickCoreSignature); in ClonePixelCacheMethods()
456 source_info->methods=cache_info->methods; in ClonePixelCacheMethods()
488 CacheInfo *magick_restrict cache_info,CacheInfo *magick_restrict clone_info) in ClonePixelCacheOnDisk() argument
508 if ((OpenPixelCacheOnDisk(cache_info,ReadMode) == MagickFalse) || in ClonePixelCacheOnDisk()
512 if ((fstat(cache_info->file,&file_stats) == 0) && (file_stats.st_size > 0)) in ClonePixelCacheOnDisk()
518 while ((count=read(cache_info->file,buffer,quantum)) > 0) in ClonePixelCacheOnDisk()
529 if (extent != cache_info->length) in ClonePixelCacheOnDisk()
535 CacheInfo *magick_restrict clone_info,CacheInfo *magick_restrict cache_info, in ClonePixelCacheRepository() argument
560 assert(cache_info != (CacheInfo *) NULL); in ClonePixelCacheRepository()
563 if (cache_info->type == PingCache) in ClonePixelCacheRepository()
565 length=cache_info->number_channels*sizeof(*cache_info->channel_map); in ClonePixelCacheRepository()
566 if ((cache_info->columns == clone_info->columns) && in ClonePixelCacheRepository()
567 (cache_info->rows == clone_info->rows) && in ClonePixelCacheRepository()
568 (cache_info->number_channels == clone_info->number_channels) && in ClonePixelCacheRepository()
569 (memcmp(cache_info->channel_map,clone_info->channel_map,length) == 0) && in ClonePixelCacheRepository()
570 (cache_info->metacontent_extent == clone_info->metacontent_extent)) in ClonePixelCacheRepository()
575 if (((cache_info->type == MemoryCache) || in ClonePixelCacheRepository()
576 (cache_info->type == MapCache)) && in ClonePixelCacheRepository()
580 (void) memcpy(clone_info->pixels,cache_info->pixels, in ClonePixelCacheRepository()
581 cache_info->columns*cache_info->number_channels*cache_info->rows* in ClonePixelCacheRepository()
582 sizeof(*cache_info->pixels)); in ClonePixelCacheRepository()
583 if ((cache_info->metacontent_extent != 0) && in ClonePixelCacheRepository()
585 (void) memcpy(clone_info->metacontent,cache_info->metacontent, in ClonePixelCacheRepository()
586 cache_info->columns*cache_info->rows* in ClonePixelCacheRepository()
590 if ((cache_info->type == DiskCache) && (clone_info->type == DiskCache)) in ClonePixelCacheRepository()
591 return(ClonePixelCacheOnDisk(cache_info,clone_info)); in ClonePixelCacheRepository()
601 length=cache_info->number_channels*sizeof(*cache_info->channel_map); in ClonePixelCacheRepository()
602 optimize=(cache_info->number_channels == clone_info->number_channels) && in ClonePixelCacheRepository()
603 (memcmp(cache_info->channel_map,clone_info->channel_map,length) == 0) ? in ClonePixelCacheRepository()
605 length=(size_t) MagickMin(cache_info->columns*cache_info->number_channels, in ClonePixelCacheRepository()
610 cache_threads(cache_info,clone_info) in ClonePixelCacheRepository()
612 for (y=0; y < (ssize_t) cache_info->rows; y++) in ClonePixelCacheRepository()
630 region.width=cache_info->columns; in ClonePixelCacheRepository()
634 pixels=SetPixelCacheNexusPixels(cache_info,ReadMode,&region, in ClonePixelCacheRepository()
638 status=ReadPixelCachePixels(cache_info,cache_nexus[id],exception); in ClonePixelCacheRepository()
664 for (x=0; x < (ssize_t) cache_info->columns; x++) in ClonePixelCacheRepository()
680 traits=cache_info->channel_map[channel].traits; in ClonePixelCacheRepository()
682 *q=*(p+cache_info->channel_map[channel].offset); in ClonePixelCacheRepository()
685 p+=cache_info->number_channels; in ClonePixelCacheRepository()
690 if ((cache_info->metacontent_extent != 0) && in ClonePixelCacheRepository()
696 length=(size_t) MagickMin(cache_info->metacontent_extent, in ClonePixelCacheRepository()
700 cache_threads(cache_info,clone_info) in ClonePixelCacheRepository()
702 for (y=0; y < (ssize_t) cache_info->rows; y++) in ClonePixelCacheRepository()
717 region.width=cache_info->columns; in ClonePixelCacheRepository()
721 pixels=SetPixelCacheNexusPixels(cache_info,ReadMode,&region, in ClonePixelCacheRepository()
725 status=ReadPixelCacheMetacontent(cache_info,cache_nexus[id],exception); in ClonePixelCacheRepository()
742 if (cache_info->debug != MagickFalse) in ClonePixelCacheRepository()
748 CommandOptionToMnemonic(MagickCacheOptions,(ssize_t) cache_info->type), in ClonePixelCacheRepository()
813 *magick_restrict cache_info; in DestroyImagePixels() local
820 cache_info=(CacheInfo *) image->cache; in DestroyImagePixels()
821 assert(cache_info->signature == MagickCoreSignature); in DestroyImagePixels()
822 if (cache_info->methods.destroy_pixel_handler != (DestroyPixelHandler) NULL) in DestroyImagePixels()
824 cache_info->methods.destroy_pixel_handler(image); in DestroyImagePixels()
853 static MagickBooleanType ClosePixelCacheOnDisk(CacheInfo *cache_info) in ClosePixelCacheOnDisk() argument
859 if (cache_info->file != -1) in ClosePixelCacheOnDisk()
861 status=close(cache_info->file); in ClosePixelCacheOnDisk()
862 cache_info->file=(-1); in ClosePixelCacheOnDisk()
868 static inline void RelinquishPixelCachePixels(CacheInfo *cache_info) in RelinquishPixelCachePixels() argument
870 switch (cache_info->type) in RelinquishPixelCachePixels()
875 if (cache_info->opencl != (MagickCLCacheInfo) NULL) in RelinquishPixelCachePixels()
877 cache_info->opencl=RelinquishMagickCLCacheInfo(cache_info->opencl, in RelinquishPixelCachePixels()
879 cache_info->pixels=(Quantum *) NULL; in RelinquishPixelCachePixels()
883 if (cache_info->mapped == MagickFalse) in RelinquishPixelCachePixels()
884 cache_info->pixels=RelinquishAlignedMemory(cache_info->pixels); in RelinquishPixelCachePixels()
886 (void) UnmapBlob(cache_info->pixels,(size_t) cache_info->length); in RelinquishPixelCachePixels()
887 RelinquishMagickResource(MemoryResource,cache_info->length); in RelinquishPixelCachePixels()
892 (void) UnmapBlob(cache_info->pixels,(size_t) cache_info->length); in RelinquishPixelCachePixels()
893 cache_info->pixels=(Quantum *) NULL; in RelinquishPixelCachePixels()
894 if (cache_info->mode != ReadMode) in RelinquishPixelCachePixels()
895 (void) RelinquishUniqueFileResource(cache_info->cache_filename); in RelinquishPixelCachePixels()
896 *cache_info->cache_filename='\0'; in RelinquishPixelCachePixels()
897 RelinquishMagickResource(MapResource,cache_info->length); in RelinquishPixelCachePixels()
901 if (cache_info->file != -1) in RelinquishPixelCachePixels()
902 (void) ClosePixelCacheOnDisk(cache_info); in RelinquishPixelCachePixels()
903 if (cache_info->mode != ReadMode) in RelinquishPixelCachePixels()
904 (void) RelinquishUniqueFileResource(cache_info->cache_filename); in RelinquishPixelCachePixels()
905 *cache_info->cache_filename='\0'; in RelinquishPixelCachePixels()
906 RelinquishMagickResource(DiskResource,cache_info->length); in RelinquishPixelCachePixels()
911 *cache_info->cache_filename='\0'; in RelinquishPixelCachePixels()
913 cache_info->server_info); in RelinquishPixelCachePixels()
919 cache_info->type=UndefinedCache; in RelinquishPixelCachePixels()
920 cache_info->mapped=MagickFalse; in RelinquishPixelCachePixels()
921 cache_info->metacontent=(void *) NULL; in RelinquishPixelCachePixels()
927 *magick_restrict cache_info; in DestroyPixelCache() local
930 cache_info=(CacheInfo *) cache; in DestroyPixelCache()
931 assert(cache_info->signature == MagickCoreSignature); in DestroyPixelCache()
932 if (cache_info->debug != MagickFalse) in DestroyPixelCache()
934 cache_info->filename); in DestroyPixelCache()
935 LockSemaphoreInfo(cache_info->semaphore); in DestroyPixelCache()
936 cache_info->reference_count--; in DestroyPixelCache()
937 if (cache_info->reference_count != 0) in DestroyPixelCache()
939 UnlockSemaphoreInfo(cache_info->semaphore); in DestroyPixelCache()
942 UnlockSemaphoreInfo(cache_info->semaphore); in DestroyPixelCache()
943 if (cache_info->debug != MagickFalse) in DestroyPixelCache()
949 cache_info->filename); in DestroyPixelCache()
952 RelinquishPixelCachePixels(cache_info); in DestroyPixelCache()
953 if (cache_info->server_info != (DistributeCacheInfo *) NULL) in DestroyPixelCache()
954 cache_info->server_info=DestroyDistributeCacheInfo((DistributeCacheInfo *) in DestroyPixelCache()
955 cache_info->server_info); in DestroyPixelCache()
956 if (cache_info->nexus_info != (NexusInfo **) NULL) in DestroyPixelCache()
957 cache_info->nexus_info=DestroyPixelCacheNexus(cache_info->nexus_info, in DestroyPixelCache()
958 cache_info->number_threads); in DestroyPixelCache()
959 if (cache_info->random_info != (RandomInfo *) NULL) in DestroyPixelCache()
960 cache_info->random_info=DestroyRandomInfo(cache_info->random_info); in DestroyPixelCache()
961 if (cache_info->file_semaphore != (SemaphoreInfo *) NULL) in DestroyPixelCache()
962 RelinquishSemaphoreInfo(&cache_info->file_semaphore); in DestroyPixelCache()
963 if (cache_info->semaphore != (SemaphoreInfo *) NULL) in DestroyPixelCache()
964 RelinquishSemaphoreInfo(&cache_info->semaphore); in DestroyPixelCache()
965 cache_info->signature=(~MagickCoreSignature); in DestroyPixelCache()
966 cache_info=(CacheInfo *) RelinquishMagickMemory(cache_info); in DestroyPixelCache()
1055 *magick_restrict cache_info; in GetAuthenticMetacontent() local
1063 cache_info=(CacheInfo *) image->cache; in GetAuthenticMetacontent()
1064 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticMetacontent()
1065 if (cache_info->methods.get_authentic_metacontent_from_handler != in GetAuthenticMetacontent()
1071 metacontent=cache_info->methods. in GetAuthenticMetacontent()
1075 assert(id < (int) cache_info->number_threads); in GetAuthenticMetacontent()
1076 return(cache_info->nexus_info[id]->metacontent); in GetAuthenticMetacontent()
1106 *magick_restrict cache_info; in GetAuthenticMetacontentFromCache() local
1114 cache_info=(CacheInfo *) image->cache; in GetAuthenticMetacontentFromCache()
1115 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticMetacontentFromCache()
1116 assert(id < (int) cache_info->number_threads); in GetAuthenticMetacontentFromCache()
1117 return(cache_info->nexus_info[id]->metacontent); in GetAuthenticMetacontentFromCache()
1153 *magick_restrict cache_info; in GetAuthenticOpenCLBuffer() local
1160 cache_info=(CacheInfo *) image->cache; in GetAuthenticOpenCLBuffer()
1161 if (cache_info->type == UndefinedCache) in GetAuthenticOpenCLBuffer()
1163 if ((cache_info->type != MemoryCache) || (cache_info->mapped != MagickFalse)) in GetAuthenticOpenCLBuffer()
1165 if ((cache_info->opencl != (MagickCLCacheInfo) NULL) && in GetAuthenticOpenCLBuffer()
1166 (cache_info->opencl->device->context != device->context)) in GetAuthenticOpenCLBuffer()
1167 cache_info->opencl=CopyMagickCLCacheInfo(cache_info->opencl); in GetAuthenticOpenCLBuffer()
1168 if (cache_info->opencl == (MagickCLCacheInfo) NULL) in GetAuthenticOpenCLBuffer()
1170 assert(cache_info->pixels != (Quantum *) NULL); in GetAuthenticOpenCLBuffer()
1171 cache_info->opencl=AcquireMagickCLCacheInfo(device,cache_info->pixels, in GetAuthenticOpenCLBuffer()
1172 cache_info->length); in GetAuthenticOpenCLBuffer()
1173 if (cache_info->opencl == (MagickCLCacheInfo) NULL) in GetAuthenticOpenCLBuffer()
1176 assert(cache_info->opencl->pixels == cache_info->pixels); in GetAuthenticOpenCLBuffer()
1177 return(cache_info->opencl->buffer); in GetAuthenticOpenCLBuffer()
1221 *magick_restrict cache_info; in GetAuthenticPixelCacheNexus() local
1235 cache_info=(CacheInfo *) image->cache; in GetAuthenticPixelCacheNexus()
1236 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticPixelCacheNexus()
1239 if (ReadPixelCachePixels(cache_info,nexus_info,exception) == MagickFalse) in GetAuthenticPixelCacheNexus()
1241 if (cache_info->metacontent_extent != 0) in GetAuthenticPixelCacheNexus()
1242 if (ReadPixelCacheMetacontent(cache_info,nexus_info,exception) == MagickFalse) in GetAuthenticPixelCacheNexus()
1273 *magick_restrict cache_info; in GetAuthenticPixelsFromCache() local
1281 cache_info=(CacheInfo *) image->cache; in GetAuthenticPixelsFromCache()
1282 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticPixelsFromCache()
1283 assert(id < (int) cache_info->number_threads); in GetAuthenticPixelsFromCache()
1284 return(cache_info->nexus_info[id]->pixels); in GetAuthenticPixelsFromCache()
1314 *magick_restrict cache_info; in GetAuthenticPixelQueue() local
1322 cache_info=(CacheInfo *) image->cache; in GetAuthenticPixelQueue()
1323 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticPixelQueue()
1324 if (cache_info->methods.get_authentic_pixels_from_handler != in GetAuthenticPixelQueue()
1326 return(cache_info->methods.get_authentic_pixels_from_handler(image)); in GetAuthenticPixelQueue()
1327 assert(id < (int) cache_info->number_threads); in GetAuthenticPixelQueue()
1328 return(cache_info->nexus_info[id]->pixels); in GetAuthenticPixelQueue()
1381 *magick_restrict cache_info; in GetAuthenticPixels() local
1392 cache_info=(CacheInfo *) image->cache; in GetAuthenticPixels()
1393 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticPixels()
1394 if (cache_info->methods.get_authentic_pixels_handler != in GetAuthenticPixels()
1397 pixels=cache_info->methods.get_authentic_pixels_handler(image,x,y,columns, in GetAuthenticPixels()
1401 assert(id < (int) cache_info->number_threads); in GetAuthenticPixels()
1403 cache_info->nexus_info[id],exception); in GetAuthenticPixels()
1443 *magick_restrict cache_info; in GetAuthenticPixelsCache() local
1454 cache_info=(CacheInfo *) image->cache; in GetAuthenticPixelsCache()
1455 if (cache_info == (Cache) NULL) in GetAuthenticPixelsCache()
1457 assert(cache_info->signature == MagickCoreSignature); in GetAuthenticPixelsCache()
1458 assert(id < (int) cache_info->number_threads); in GetAuthenticPixelsCache()
1460 cache_info->nexus_info[id],exception); in GetAuthenticPixelsCache()
1490 *magick_restrict cache_info; in GetImageExtent() local
1500 cache_info=(CacheInfo *) image->cache; in GetImageExtent()
1501 assert(cache_info->signature == MagickCoreSignature); in GetImageExtent()
1502 assert(id < (int) cache_info->number_threads); in GetImageExtent()
1503 return(GetPixelCacheNexusExtent(cache_info,cache_info->nexus_info[id])); in GetImageExtent()
1540 *magick_restrict cache_info; in ValidatePixelCacheMorphology() local
1549 cache_info=(CacheInfo *) image->cache; in ValidatePixelCacheMorphology()
1551 q=cache_info->channel_map; in ValidatePixelCacheMorphology()
1552 if ((image->storage_class != cache_info->storage_class) || in ValidatePixelCacheMorphology()
1553 (image->colorspace != cache_info->colorspace) || in ValidatePixelCacheMorphology()
1554 (image->alpha_trait != cache_info->alpha_trait) || in ValidatePixelCacheMorphology()
1555 (image->read_mask != cache_info->read_mask) || in ValidatePixelCacheMorphology()
1556 (image->write_mask != cache_info->write_mask) || in ValidatePixelCacheMorphology()
1557 (image->columns != cache_info->columns) || in ValidatePixelCacheMorphology()
1558 (image->rows != cache_info->rows) || in ValidatePixelCacheMorphology()
1559 (image->number_channels != cache_info->number_channels) || in ValidatePixelCacheMorphology()
1561 (image->metacontent_extent != cache_info->metacontent_extent) || in ValidatePixelCacheMorphology()
1562 (cache_info->nexus_info == (NexusInfo **) NULL)) in ValidatePixelCacheMorphology()
1571 *magick_restrict cache_info; in GetImagePixelCache() local
1605 cache_info=(CacheInfo *) image->cache; in GetImagePixelCache()
1607 CopyOpenCLBuffer(cache_info); in GetImagePixelCache()
1610 if ((cache_info->reference_count > 1) || (cache_info->mode == ReadMode)) in GetImagePixelCache()
1612 LockSemaphoreInfo(cache_info->semaphore); in GetImagePixelCache()
1613 if ((cache_info->reference_count > 1) || (cache_info->mode == ReadMode)) in GetImagePixelCache()
1627 clone_image.cache=ClonePixelCache(cache_info); in GetImagePixelCache()
1633 status=ClonePixelCacheRepository(clone_info,cache_info, in GetImagePixelCache()
1637 if (cache_info->reference_count == 1) in GetImagePixelCache()
1638 cache_info->nexus_info=(NexusInfo **) NULL; in GetImagePixelCache()
1645 UnlockSemaphoreInfo(cache_info->semaphore); in GetImagePixelCache()
1648 cache_info=(CacheInfo *) DestroyPixelCache(cache_info); in GetImagePixelCache()
1658 cache_info=(CacheInfo *) image->cache; in GetImagePixelCache()
1659 if (cache_info->type == DiskCache) in GetImagePixelCache()
1660 (void) ClosePixelCacheOnDisk(cache_info); in GetImagePixelCache()
1695 *magick_restrict cache_info; in GetImagePixelCacheType() local
1700 cache_info=(CacheInfo *) image->cache; in GetImagePixelCacheType()
1701 assert(cache_info->signature == MagickCoreSignature); in GetImagePixelCacheType()
1702 return(cache_info->type); in GetImagePixelCacheType()
1767 *magick_restrict cache_info; in GetOneAuthenticPixel() local
1775 cache_info=(CacheInfo *) image->cache; in GetOneAuthenticPixel()
1776 assert(cache_info->signature == MagickCoreSignature); in GetOneAuthenticPixel()
1778 if (cache_info->methods.get_one_authentic_pixel_from_handler != in GetOneAuthenticPixel()
1780 return(cache_info->methods.get_one_authentic_pixel_from_handler(image,x,y, in GetOneAuthenticPixel()
1821 *magick_restrict cache_info; in GetOneAuthenticPixelFromCache() local
1832 cache_info=(CacheInfo *) image->cache; in GetOneAuthenticPixelFromCache()
1833 assert(cache_info->signature == MagickCoreSignature); in GetOneAuthenticPixelFromCache()
1834 assert(id < (int) cache_info->number_threads); in GetOneAuthenticPixelFromCache()
1836 q=GetAuthenticPixelCacheNexus(image,x,y,1UL,1UL,cache_info->nexus_info[id], in GetOneAuthenticPixelFromCache()
1876 *magick_restrict cache_info; in GetOneVirtualPixel() local
1887 cache_info=(CacheInfo *) image->cache; in GetOneVirtualPixel()
1888 assert(cache_info->signature == MagickCoreSignature); in GetOneVirtualPixel()
1890 if (cache_info->methods.get_one_virtual_pixel_from_handler != in GetOneVirtualPixel()
1892 return(cache_info->methods.get_one_virtual_pixel_from_handler(image, in GetOneVirtualPixel()
1894 assert(id < (int) cache_info->number_threads); in GetOneVirtualPixel()
1896 1UL,1UL,cache_info->nexus_info[id],exception); in GetOneVirtualPixel()
1939 *magick_restrict cache_info; in GetOneVirtualPixelFromCache() local
1950 cache_info=(CacheInfo *) image->cache; in GetOneVirtualPixelFromCache()
1951 assert(cache_info->signature == MagickCoreSignature); in GetOneVirtualPixelFromCache()
1952 assert(id < (int) cache_info->number_threads); in GetOneVirtualPixelFromCache()
1955 cache_info->nexus_info[id],exception); in GetOneVirtualPixelFromCache()
1998 *magick_restrict cache_info; in GetOneVirtualPixelInfo() local
2009 cache_info=(CacheInfo *) image->cache; in GetOneVirtualPixelInfo()
2010 assert(cache_info->signature == MagickCoreSignature); in GetOneVirtualPixelInfo()
2011 assert(id < (int) cache_info->number_threads); in GetOneVirtualPixelInfo()
2014 cache_info->nexus_info[id],exception); in GetOneVirtualPixelInfo()
2046 *magick_restrict cache_info; in GetPixelCacheColorspace() local
2049 cache_info=(CacheInfo *) cache; in GetPixelCacheColorspace()
2050 assert(cache_info->signature == MagickCoreSignature); in GetPixelCacheColorspace()
2051 if (cache_info->debug != MagickFalse) in GetPixelCacheColorspace()
2053 cache_info->filename); in GetPixelCacheColorspace()
2054 return(cache_info->colorspace); in GetPixelCacheColorspace()
2128 *magick_restrict cache_info; in GetPixelCacheNexusExtent() local
2134 cache_info=(CacheInfo *) cache; in GetPixelCacheNexusExtent()
2135 assert(cache_info->signature == MagickCoreSignature); in GetPixelCacheNexusExtent()
2138 return((MagickSizeType) cache_info->columns*cache_info->rows); in GetPixelCacheNexusExtent()
2173 *magick_restrict cache_info; in GetPixelCachePixels() local
2181 cache_info=(CacheInfo *) image->cache; in GetPixelCachePixels()
2182 assert(cache_info->signature == MagickCoreSignature); in GetPixelCachePixels()
2184 if ((cache_info->type != MemoryCache) && (cache_info->type != MapCache)) in GetPixelCachePixels()
2186 *length=cache_info->length; in GetPixelCachePixels()
2187 return((void *) cache_info->pixels); in GetPixelCachePixels()
2217 *magick_restrict cache_info; in GetPixelCacheStorageClass() local
2220 cache_info=(CacheInfo *) cache; in GetPixelCacheStorageClass()
2221 assert(cache_info->signature == MagickCoreSignature); in GetPixelCacheStorageClass()
2222 if (cache_info->debug != MagickFalse) in GetPixelCacheStorageClass()
2224 cache_info->filename); in GetPixelCacheStorageClass()
2225 return(cache_info->storage_class); in GetPixelCacheStorageClass()
2259 *magick_restrict cache_info; in GetPixelCacheTileSize() local
2265 cache_info=(CacheInfo *) image->cache; in GetPixelCacheTileSize()
2266 assert(cache_info->signature == MagickCoreSignature); in GetPixelCacheTileSize()
2267 *width=2048UL/(cache_info->number_channels*sizeof(Quantum)); in GetPixelCacheTileSize()
2269 *width=8192UL/(cache_info->number_channels*sizeof(Quantum)); in GetPixelCacheTileSize()
2300 *magick_restrict cache_info; in GetPixelCacheVirtualMethod() local
2305 cache_info=(CacheInfo *) image->cache; in GetPixelCacheVirtualMethod()
2306 assert(cache_info->signature == MagickCoreSignature); in GetPixelCacheVirtualMethod()
2307 return(cache_info->virtual_pixel_method); in GetPixelCacheVirtualMethod()
2336 *magick_restrict cache_info; in GetVirtualMetacontentFromCache() local
2347 cache_info=(CacheInfo *) image->cache; in GetVirtualMetacontentFromCache()
2348 assert(cache_info->signature == MagickCoreSignature); in GetVirtualMetacontentFromCache()
2349 assert(id < (int) cache_info->number_threads); in GetVirtualMetacontentFromCache()
2350 metacontent=GetVirtualMetacontentFromNexus(cache_info, in GetVirtualMetacontentFromCache()
2351 cache_info->nexus_info[id]); in GetVirtualMetacontentFromCache()
2385 *magick_restrict cache_info; in GetVirtualMetacontentFromNexus() local
2388 cache_info=(CacheInfo *) cache; in GetVirtualMetacontentFromNexus()
2389 assert(cache_info->signature == MagickCoreSignature); in GetVirtualMetacontentFromNexus()
2390 if (cache_info->storage_class == UndefinedClass) in GetVirtualMetacontentFromNexus()
2422 *magick_restrict cache_info; in GetVirtualMetacontent() local
2433 cache_info=(CacheInfo *) image->cache; in GetVirtualMetacontent()
2434 assert(cache_info->signature == MagickCoreSignature); in GetVirtualMetacontent()
2435 metacontent=cache_info->methods.get_virtual_metacontent_from_handler(image); in GetVirtualMetacontent()
2438 assert(id < (int) cache_info->number_threads); in GetVirtualMetacontent()
2439 metacontent=GetVirtualMetacontentFromNexus(cache_info, in GetVirtualMetacontent()
2440 cache_info->nexus_info[id]); in GetVirtualMetacontent()
2574 *magick_restrict cache_info; in GetVirtualPixelsFromNexus() local
2621 cache_info=(CacheInfo *) image->cache; in GetVirtualPixelsFromNexus()
2622 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixelsFromNexus()
2623 if (cache_info->type == UndefinedCache) in GetVirtualPixelsFromNexus()
2629 pixels=SetPixelCacheNexusPixels(cache_info,ReadMode,&region,nexus_info, in GetVirtualPixelsFromNexus()
2634 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in GetVirtualPixelsFromNexus()
2636 length=(MagickSizeType) (nexus_info->region.height-1L)*cache_info->columns+ in GetVirtualPixelsFromNexus()
2638 number_pixels=(MagickSizeType) cache_info->columns*cache_info->rows; in GetVirtualPixelsFromNexus()
2640 if ((x >= 0) && ((ssize_t) (x+columns) <= (ssize_t) cache_info->columns) && in GetVirtualPixelsFromNexus()
2641 (y >= 0) && ((ssize_t) (y+rows) <= (ssize_t) cache_info->rows)) in GetVirtualPixelsFromNexus()
2651 status=ReadPixelCachePixels(cache_info,nexus_info,exception); in GetVirtualPixelsFromNexus()
2654 if (cache_info->metacontent_extent != 0) in GetVirtualPixelsFromNexus()
2656 status=ReadPixelCacheMetacontent(cache_info,nexus_info,exception); in GetVirtualPixelsFromNexus()
2675 (void) ResetMagickMemory(virtual_pixel,0,cache_info->number_channels* in GetVirtualPixelsFromNexus()
2691 if (cache_info->metacontent_extent != 0) in GetVirtualPixelsFromNexus()
2697 cache_info->metacontent_extent); in GetVirtualPixelsFromNexus()
2706 cache_info->metacontent_extent); in GetVirtualPixelsFromNexus()
2712 for (i=0; i < (ssize_t) cache_info->number_channels; i++) in GetVirtualPixelsFromNexus()
2719 for (i=0; i < (ssize_t) cache_info->number_channels; i++) in GetVirtualPixelsFromNexus()
2727 for (i=0; i < (ssize_t) cache_info->number_channels; i++) in GetVirtualPixelsFromNexus()
2735 for (i=0; i < (ssize_t) cache_info->number_channels; i++) in GetVirtualPixelsFromNexus()
2768 y_offset=EdgeY(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2775 length=(MagickSizeType) MagickMin(cache_info->columns-x_offset,columns-u); in GetVirtualPixelsFromNexus()
2776 if (((x_offset < 0) || (x_offset >= (ssize_t) cache_info->columns)) || in GetVirtualPixelsFromNexus()
2777 ((y_offset < 0) || (y_offset >= (ssize_t) cache_info->rows)) || in GetVirtualPixelsFromNexus()
2794 EdgeX(x_offset,cache_info->columns), in GetVirtualPixelsFromNexus()
2795 EdgeY(y_offset,cache_info->rows),1UL,1UL,*virtual_nexus, in GetVirtualPixelsFromNexus()
2797 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2802 if (cache_info->random_info == (RandomInfo *) NULL) in GetVirtualPixelsFromNexus()
2803 cache_info->random_info=AcquireRandomInfo(); in GetVirtualPixelsFromNexus()
2805 RandomX(cache_info->random_info,cache_info->columns), in GetVirtualPixelsFromNexus()
2806 RandomY(cache_info->random_info,cache_info->rows),1UL,1UL, in GetVirtualPixelsFromNexus()
2808 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2814 DitherX(x_offset,cache_info->columns), in GetVirtualPixelsFromNexus()
2815 DitherY(y_offset,cache_info->rows),1UL,1UL,*virtual_nexus, in GetVirtualPixelsFromNexus()
2817 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2822 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2823 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2827 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2832 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2834 x_modulo.remainder=(ssize_t) cache_info->columns- in GetVirtualPixelsFromNexus()
2836 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2838 y_modulo.remainder=(ssize_t) cache_info->rows- in GetVirtualPixelsFromNexus()
2843 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2848 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2850 x_modulo.remainder,EdgeY(y_offset,cache_info->rows),1UL,1UL, in GetVirtualPixelsFromNexus()
2852 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2857 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2859 EdgeX(x_offset,cache_info->columns),y_modulo.remainder,1UL,1UL, in GetVirtualPixelsFromNexus()
2861 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2877 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2878 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2888 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2893 if ((y_offset < 0) || (y_offset >= (ssize_t) cache_info->rows)) in GetVirtualPixelsFromNexus()
2899 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2900 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2904 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2909 if ((x_offset < 0) || (x_offset >= (ssize_t) cache_info->columns)) in GetVirtualPixelsFromNexus()
2915 x_modulo=VirtualPixelModulo(x_offset,cache_info->columns); in GetVirtualPixelsFromNexus()
2916 y_modulo=VirtualPixelModulo(y_offset,cache_info->rows); in GetVirtualPixelsFromNexus()
2920 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2926 (void) memcpy(q,p,(size_t) length*cache_info->number_channels* in GetVirtualPixelsFromNexus()
2928 q+=cache_info->number_channels; in GetVirtualPixelsFromNexus()
2931 (void) memcpy(s,r,(size_t) cache_info->metacontent_extent); in GetVirtualPixelsFromNexus()
2932 s+=cache_info->metacontent_extent; in GetVirtualPixelsFromNexus()
2943 r=GetVirtualMetacontentFromNexus(cache_info,*virtual_nexus); in GetVirtualPixelsFromNexus()
2944 (void) memcpy(q,p,(size_t) length*cache_info->number_channels*sizeof(*p)); in GetVirtualPixelsFromNexus()
2945 q+=length*cache_info->number_channels; in GetVirtualPixelsFromNexus()
2949 s+=length*cache_info->metacontent_extent; in GetVirtualPixelsFromNexus()
3005 *magick_restrict cache_info; in GetVirtualPixelCache() local
3016 cache_info=(CacheInfo *) image->cache; in GetVirtualPixelCache()
3017 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixelCache()
3018 assert(id < (int) cache_info->number_threads); in GetVirtualPixelCache()
3020 cache_info->nexus_info[id],exception); in GetVirtualPixelCache()
3050 *magick_restrict cache_info; in GetVirtualPixelQueue() local
3058 cache_info=(CacheInfo *) image->cache; in GetVirtualPixelQueue()
3059 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixelQueue()
3060 if (cache_info->methods.get_virtual_pixels_handler != in GetVirtualPixelQueue()
3062 return(cache_info->methods.get_virtual_pixels_handler(image)); in GetVirtualPixelQueue()
3063 assert(id < (int) cache_info->number_threads); in GetVirtualPixelQueue()
3064 return(GetVirtualPixelsNexus(cache_info,cache_info->nexus_info[id])); in GetVirtualPixelQueue()
3120 *magick_restrict cache_info; in GetVirtualPixels() local
3131 cache_info=(CacheInfo *) image->cache; in GetVirtualPixels()
3132 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixels()
3133 if (cache_info->methods.get_virtual_pixel_handler != in GetVirtualPixels()
3135 return(cache_info->methods.get_virtual_pixel_handler(image, in GetVirtualPixels()
3137 assert(id < (int) cache_info->number_threads); in GetVirtualPixels()
3139 columns,rows,cache_info->nexus_info[id],exception); in GetVirtualPixels()
3169 *magick_restrict cache_info; in GetVirtualPixelsCache() local
3177 cache_info=(CacheInfo *) image->cache; in GetVirtualPixelsCache()
3178 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixelsCache()
3179 assert(id < (int) cache_info->number_threads); in GetVirtualPixelsCache()
3180 return(GetVirtualPixelsNexus(image->cache,cache_info->nexus_info[id])); in GetVirtualPixelsCache()
3213 *magick_restrict cache_info; in GetVirtualPixelsNexus() local
3216 cache_info=(CacheInfo *) cache; in GetVirtualPixelsNexus()
3217 assert(cache_info->signature == MagickCoreSignature); in GetVirtualPixelsNexus()
3218 if (cache_info->storage_class == UndefinedClass) in GetVirtualPixelsNexus()
3269 static MagickBooleanType OpenPixelCacheOnDisk(CacheInfo *cache_info, in OpenPixelCacheOnDisk() argument
3278 if ((cache_info->file != -1) && (cache_info->mode == mode)) in OpenPixelCacheOnDisk()
3280 if (*cache_info->cache_filename == '\0') in OpenPixelCacheOnDisk()
3281 file=AcquireUniqueFileResource(cache_info->cache_filename); in OpenPixelCacheOnDisk()
3287 file=open_utf8(cache_info->cache_filename,O_RDONLY | O_BINARY,0); in OpenPixelCacheOnDisk()
3292 file=open_utf8(cache_info->cache_filename,O_WRONLY | O_CREAT | in OpenPixelCacheOnDisk()
3295 file=open_utf8(cache_info->cache_filename,O_WRONLY | O_BINARY,S_MODE); in OpenPixelCacheOnDisk()
3301 file=open_utf8(cache_info->cache_filename,O_RDWR | O_CREAT | O_BINARY | in OpenPixelCacheOnDisk()
3304 file=open_utf8(cache_info->cache_filename,O_RDWR | O_BINARY,S_MODE); in OpenPixelCacheOnDisk()
3311 if (cache_info->file != -1) in OpenPixelCacheOnDisk()
3312 (void) ClosePixelCacheOnDisk(cache_info); in OpenPixelCacheOnDisk()
3313 cache_info->file=file; in OpenPixelCacheOnDisk()
3314 cache_info->mode=mode; in OpenPixelCacheOnDisk()
3319 const CacheInfo *magick_restrict cache_info,const MagickOffsetType offset, in WritePixelCacheRegion() argument
3329 if (lseek(cache_info->file,offset,SEEK_SET) < 0) in WritePixelCacheRegion()
3336 count=write(cache_info->file,buffer+i,(size_t) MagickMin(length-i,(size_t) in WritePixelCacheRegion()
3339 count=pwrite(cache_info->file,buffer+i,(size_t) MagickMin(length-i,(size_t) in WritePixelCacheRegion()
3355 *magick_restrict cache_info; in SetPixelCacheExtent() local
3362 cache_info=(CacheInfo *) image->cache; in SetPixelCacheExtent()
3371 "extend %s (%s[%d], disk, %s)",cache_info->filename, in SetPixelCacheExtent()
3372 cache_info->cache_filename,cache_info->file,format); in SetPixelCacheExtent()
3377 offset=(MagickOffsetType) lseek(cache_info->file,0,SEEK_END); in SetPixelCacheExtent()
3385 count=WritePixelCacheRegion(cache_info,extent,1,(const unsigned char *) in SetPixelCacheExtent()
3388 if (cache_info->synchronize != MagickFalse) in SetPixelCacheExtent()
3389 (void) posix_fallocate(cache_info->file,offset+1,extent-offset); in SetPixelCacheExtent()
3395 offset=(MagickOffsetType) lseek(cache_info->file,0,SEEK_SET); in SetPixelCacheExtent()
3405 *magick_restrict cache_info, in OpenPixelCache() local
3433 cache_info=(CacheInfo *) image->cache; in OpenPixelCache()
3434 assert(cache_info->signature == MagickCoreSignature); in OpenPixelCache()
3439 source_info=(*cache_info); in OpenPixelCache()
3441 (void) FormatLocaleString(cache_info->filename,MagickPathExtent,"%s[%.20g]", in OpenPixelCache()
3443 cache_info->storage_class=image->storage_class; in OpenPixelCache()
3444 cache_info->colorspace=image->colorspace; in OpenPixelCache()
3445 cache_info->alpha_trait=image->alpha_trait; in OpenPixelCache()
3446 cache_info->read_mask=image->read_mask; in OpenPixelCache()
3447 cache_info->write_mask=image->write_mask; in OpenPixelCache()
3448 cache_info->rows=image->rows; in OpenPixelCache()
3449 cache_info->columns=image->columns; in OpenPixelCache()
3451 cache_info->number_channels=GetPixelChannels(image); in OpenPixelCache()
3452 (void) memcpy(cache_info->channel_map,image->channel_map,MaxPixelChannels* in OpenPixelCache()
3454 cache_info->metacontent_extent=image->metacontent_extent; in OpenPixelCache()
3455 cache_info->mode=mode; in OpenPixelCache()
3456 number_pixels=(MagickSizeType) cache_info->columns*cache_info->rows; in OpenPixelCache()
3457 packet_size=cache_info->number_channels*sizeof(Quantum); in OpenPixelCache()
3459 packet_size+=cache_info->metacontent_extent; in OpenPixelCache()
3461 columns=(size_t) (length/cache_info->rows/packet_size); in OpenPixelCache()
3462 if ((cache_info->columns != columns) || ((ssize_t) cache_info->columns < 0) || in OpenPixelCache()
3463 ((ssize_t) cache_info->rows < 0)) in OpenPixelCache()
3466 cache_info->length=length; in OpenPixelCache()
3469 cache_info->storage_class=image->storage_class; in OpenPixelCache()
3470 cache_info->colorspace=image->colorspace; in OpenPixelCache()
3471 cache_info->type=PingCache; in OpenPixelCache()
3474 status=AcquireMagickResource(AreaResource,cache_info->length); in OpenPixelCache()
3475 length=number_pixels*(cache_info->number_channels*sizeof(Quantum)+ in OpenPixelCache()
3476 cache_info->metacontent_extent); in OpenPixelCache()
3479 status=AcquireMagickResource(MemoryResource,cache_info->length); in OpenPixelCache()
3480 if (((cache_info->type == UndefinedCache) && (status != MagickFalse)) || in OpenPixelCache()
3481 (cache_info->type == MemoryCache)) in OpenPixelCache()
3484 cache_info->mapped=MagickFalse; in OpenPixelCache()
3485 cache_info->pixels=(Quantum *) MagickAssumeAligned( in OpenPixelCache()
3486 AcquireAlignedMemory(1,(size_t) cache_info->length)); in OpenPixelCache()
3487 if (cache_info->pixels == (Quantum *) NULL) in OpenPixelCache()
3488 cache_info->pixels=source_info.pixels; in OpenPixelCache()
3494 cache_info->type=MemoryCache; in OpenPixelCache()
3495 cache_info->metacontent=(void *) NULL; in OpenPixelCache()
3496 if (cache_info->metacontent_extent != 0) in OpenPixelCache()
3497 cache_info->metacontent=(void *) (cache_info->pixels+ in OpenPixelCache()
3498 number_pixels*cache_info->number_channels); in OpenPixelCache()
3502 status=ClonePixelCacheRepository(cache_info,&source_info, in OpenPixelCache()
3508 (void) FormatMagickSize(cache_info->length,MagickTrue,"B", in OpenPixelCache()
3511 cache_info->type); in OpenPixelCache()
3514 cache_info->filename,cache_info->mapped != MagickFalse ? in OpenPixelCache()
3515 "Anonymous" : "Heap",type,(double) cache_info->columns, in OpenPixelCache()
3516 (double) cache_info->rows,(double) in OpenPixelCache()
3517 cache_info->number_channels,format); in OpenPixelCache()
3524 RelinquishMagickResource(MemoryResource,cache_info->length); in OpenPixelCache()
3529 status=AcquireMagickResource(DiskResource,cache_info->length); in OpenPixelCache()
3530 if ((status == MagickFalse) || (cache_info->type == DistributedCache)) in OpenPixelCache()
3535 if (cache_info->type == DistributedCache) in OpenPixelCache()
3536 RelinquishMagickResource(DiskResource,cache_info->length); in OpenPixelCache()
3553 cache_info->type=DistributedCache; in OpenPixelCache()
3554 cache_info->server_info=server_info; in OpenPixelCache()
3555 (void) FormatLocaleString(cache_info->cache_filename, in OpenPixelCache()
3557 (DistributeCacheInfo *) cache_info->server_info), in OpenPixelCache()
3559 cache_info->server_info)); in OpenPixelCache()
3563 status=ClonePixelCacheRepository(cache_info,&source_info, in OpenPixelCache()
3569 (void) FormatMagickSize(cache_info->length,MagickFalse,"B", in OpenPixelCache()
3572 cache_info->type); in OpenPixelCache()
3575 cache_info->filename,cache_info->cache_filename, in OpenPixelCache()
3577 cache_info->server_info),type,(double) cache_info->columns, in OpenPixelCache()
3578 (double) cache_info->rows,(double) in OpenPixelCache()
3579 cache_info->number_channels,format); in OpenPixelCache()
3586 RelinquishMagickResource(DiskResource,cache_info->length); in OpenPixelCache()
3593 (void) ClosePixelCacheOnDisk(cache_info); in OpenPixelCache()
3594 *cache_info->cache_filename='\0'; in OpenPixelCache()
3596 if (OpenPixelCacheOnDisk(cache_info,mode) == MagickFalse) in OpenPixelCache()
3598 RelinquishMagickResource(DiskResource,cache_info->length); in OpenPixelCache()
3603 status=SetPixelCacheExtent(image,(MagickSizeType) cache_info->offset+ in OpenPixelCache()
3604 cache_info->length); in OpenPixelCache()
3611 length=number_pixels*(cache_info->number_channels*sizeof(Quantum)+ in OpenPixelCache()
3612 cache_info->metacontent_extent); in OpenPixelCache()
3614 cache_info->type=DiskCache; in OpenPixelCache()
3617 status=AcquireMagickResource(MapResource,cache_info->length); in OpenPixelCache()
3618 if ((status == MagickFalse) && (cache_info->type != MapCache) && in OpenPixelCache()
3619 (cache_info->type != MemoryCache)) in OpenPixelCache()
3622 cache_info->type=DiskCache; in OpenPixelCache()
3627 cache_info->pixels=(Quantum *) MapBlob(cache_info->file,mode, in OpenPixelCache()
3628 cache_info->offset,(size_t) cache_info->length); in OpenPixelCache()
3629 if (cache_info->pixels == (Quantum *) NULL) in OpenPixelCache()
3631 cache_info->type=DiskCache; in OpenPixelCache()
3632 cache_info->pixels=source_info.pixels; in OpenPixelCache()
3639 (void) ClosePixelCacheOnDisk(cache_info); in OpenPixelCache()
3640 cache_info->type=MapCache; in OpenPixelCache()
3641 cache_info->mapped=MagickTrue; in OpenPixelCache()
3642 cache_info->metacontent=(void *) NULL; in OpenPixelCache()
3643 if (cache_info->metacontent_extent != 0) in OpenPixelCache()
3644 cache_info->metacontent=(void *) (cache_info->pixels+ in OpenPixelCache()
3645 number_pixels*cache_info->number_channels); in OpenPixelCache()
3649 status=ClonePixelCacheRepository(cache_info,&source_info, in OpenPixelCache()
3655 (void) FormatMagickSize(cache_info->length,MagickTrue,"B", in OpenPixelCache()
3658 cache_info->type); in OpenPixelCache()
3661 cache_info->filename,cache_info->cache_filename, in OpenPixelCache()
3662 cache_info->file,type,(double) cache_info->columns,(double) in OpenPixelCache()
3663 cache_info->rows,(double) cache_info->number_channels, in OpenPixelCache()
3671 RelinquishMagickResource(MapResource,cache_info->length); in OpenPixelCache()
3676 status=ClonePixelCacheRepository(cache_info,&source_info,exception); in OpenPixelCache()
3681 (void) FormatMagickSize(cache_info->length,MagickFalse,"B", in OpenPixelCache()
3684 cache_info->type); in OpenPixelCache()
3686 "open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",cache_info->filename, in OpenPixelCache()
3687 cache_info->cache_filename,cache_info->file,type,(double) in OpenPixelCache()
3688 cache_info->columns,(double) cache_info->rows,(double) in OpenPixelCache()
3689 cache_info->number_channels,format); in OpenPixelCache()
3737 *magick_restrict cache_info, in PersistPixelCache() local
3757 cache_info=(CacheInfo *) image->cache; in PersistPixelCache()
3758 assert(cache_info->signature == MagickCoreSignature); in PersistPixelCache()
3760 CopyOpenCLBuffer(cache_info); in PersistPixelCache()
3770 (void) CopyMagickString(cache_info->cache_filename,filename, in PersistPixelCache()
3772 cache_info->type=DiskCache; in PersistPixelCache()
3773 cache_info->offset=(*offset); in PersistPixelCache()
3776 *offset+=cache_info->length+page_size-(cache_info->length % page_size); in PersistPixelCache()
3779 if ((cache_info->mode != ReadMode) && in PersistPixelCache()
3780 ((cache_info->type == DiskCache) || (cache_info->type == MapCache)) && in PersistPixelCache()
3781 (cache_info->reference_count == 1)) in PersistPixelCache()
3783 LockSemaphoreInfo(cache_info->semaphore); in PersistPixelCache()
3784 if ((cache_info->mode != ReadMode) && in PersistPixelCache()
3785 ((cache_info->type == DiskCache) || (cache_info->type == MapCache)) && in PersistPixelCache()
3786 (cache_info->reference_count == 1)) in PersistPixelCache()
3791 if (rename_utf8(cache_info->cache_filename, filename) == 0) in PersistPixelCache()
3793 (void) CopyMagickString(cache_info->cache_filename,filename, in PersistPixelCache()
3795 *offset+=cache_info->length+page_size-(cache_info->length % in PersistPixelCache()
3797 UnlockSemaphoreInfo(cache_info->semaphore); in PersistPixelCache()
3798 cache_info=(CacheInfo *) ReferencePixelCache(cache_info); in PersistPixelCache()
3805 UnlockSemaphoreInfo(cache_info->semaphore); in PersistPixelCache()
3812 image->cache=ClonePixelCache(cache_info); in PersistPixelCache()
3813 cache_info=(CacheInfo *) ReferencePixelCache(image->cache); in PersistPixelCache()
3814 (void) CopyMagickString(cache_info->cache_filename,filename,MagickPathExtent); in PersistPixelCache()
3815 cache_info->type=DiskCache; in PersistPixelCache()
3816 cache_info->offset=(*offset); in PersistPixelCache()
3817 cache_info=(CacheInfo *) image->cache; in PersistPixelCache()
3820 status=ClonePixelCacheRepository(cache_info,clone_info,exception); in PersistPixelCache()
3821 *offset+=cache_info->length+page_size-(cache_info->length % page_size); in PersistPixelCache()
3869 *magick_restrict cache_info; in QueueAuthenticPixelCacheNexus() local
3889 cache_info=(CacheInfo *) GetImagePixelCache(image,clone,exception); in QueueAuthenticPixelCacheNexus()
3890 if (cache_info == (Cache) NULL) in QueueAuthenticPixelCacheNexus()
3892 assert(cache_info->signature == MagickCoreSignature); in QueueAuthenticPixelCacheNexus()
3893 if ((cache_info->columns == 0) || (cache_info->rows == 0) || (x < 0) || in QueueAuthenticPixelCacheNexus()
3894 (y < 0) || (x >= (ssize_t) cache_info->columns) || in QueueAuthenticPixelCacheNexus()
3895 (y >= (ssize_t) cache_info->rows)) in QueueAuthenticPixelCacheNexus()
3901 offset=(MagickOffsetType) y*cache_info->columns+x; in QueueAuthenticPixelCacheNexus()
3904 number_pixels=(MagickSizeType) cache_info->columns*cache_info->rows; in QueueAuthenticPixelCacheNexus()
3905 offset+=(MagickOffsetType) (rows-1)*cache_info->columns+columns-1; in QueueAuthenticPixelCacheNexus()
3915 pixels=SetPixelCacheNexusPixels(cache_info,WriteMode,&region,nexus_info, in QueueAuthenticPixelCacheNexus()
3958 *magick_restrict cache_info; in QueueAuthenticPixelsCache() local
3969 cache_info=(CacheInfo *) image->cache; in QueueAuthenticPixelsCache()
3970 assert(cache_info->signature == MagickCoreSignature); in QueueAuthenticPixelsCache()
3971 assert(id < (int) cache_info->number_threads); in QueueAuthenticPixelsCache()
3973 cache_info->nexus_info[id],exception); in QueueAuthenticPixelsCache()
4038 *magick_restrict cache_info; in QueueAuthenticPixels() local
4049 cache_info=(CacheInfo *) image->cache; in QueueAuthenticPixels()
4050 assert(cache_info->signature == MagickCoreSignature); in QueueAuthenticPixels()
4051 if (cache_info->methods.queue_authentic_pixels_handler != in QueueAuthenticPixels()
4054 pixels=cache_info->methods.queue_authentic_pixels_handler(image,x,y, in QueueAuthenticPixels()
4058 assert(id < (int) cache_info->number_threads); in QueueAuthenticPixels()
4060 cache_info->nexus_info[id],exception); in QueueAuthenticPixels()
4094 const CacheInfo *magick_restrict cache_info,const MagickOffsetType offset, in ReadPixelCacheRegion() argument
4104 if (lseek(cache_info->file,offset,SEEK_SET) < 0) in ReadPixelCacheRegion()
4111 count=read(cache_info->file,buffer+i,(size_t) MagickMin(length-i,(size_t) in ReadPixelCacheRegion()
4114 count=pread(cache_info->file,buffer+i,(size_t) MagickMin(length-i,(size_t) in ReadPixelCacheRegion()
4128 CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info, in ReadPixelCacheMetacontent() argument
4148 if (cache_info->metacontent_extent == 0) in ReadPixelCacheMetacontent()
4152 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in ReadPixelCacheMetacontent()
4155 cache_info->metacontent_extent; in ReadPixelCacheMetacontent()
4160 switch (cache_info->type) in ReadPixelCacheMetacontent()
4171 if ((cache_info->columns == nexus_info->region.width) && in ReadPixelCacheMetacontent()
4177 p=(unsigned char *) cache_info->metacontent+offset* in ReadPixelCacheMetacontent()
4178 cache_info->metacontent_extent; in ReadPixelCacheMetacontent()
4182 p+=cache_info->metacontent_extent*cache_info->columns; in ReadPixelCacheMetacontent()
4183 q+=cache_info->metacontent_extent*nexus_info->region.width; in ReadPixelCacheMetacontent()
4192 LockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCacheMetacontent()
4193 if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse) in ReadPixelCacheMetacontent()
4196 cache_info->cache_filename); in ReadPixelCacheMetacontent()
4197 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCacheMetacontent()
4200 if ((cache_info->columns == nexus_info->region.width) && in ReadPixelCacheMetacontent()
4206 extent=(MagickSizeType) cache_info->columns*cache_info->rows; in ReadPixelCacheMetacontent()
4209 count=ReadPixelCacheRegion(cache_info,cache_info->offset+extent* in ReadPixelCacheMetacontent()
4210 cache_info->number_channels*sizeof(Quantum)+offset* in ReadPixelCacheMetacontent()
4211 cache_info->metacontent_extent,length,(unsigned char *) q); in ReadPixelCacheMetacontent()
4214 offset+=cache_info->columns; in ReadPixelCacheMetacontent()
4215 q+=cache_info->metacontent_extent*nexus_info->region.width; in ReadPixelCacheMetacontent()
4218 (void) ClosePixelCacheOnDisk(cache_info); in ReadPixelCacheMetacontent()
4219 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCacheMetacontent()
4230 LockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCacheMetacontent()
4232 if ((cache_info->columns != nexus_info->region.width) || in ReadPixelCacheMetacontent()
4243 cache_info->server_info,&region,length,(unsigned char *) q); in ReadPixelCacheMetacontent()
4246 q+=cache_info->metacontent_extent*nexus_info->region.width; in ReadPixelCacheMetacontent()
4249 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCacheMetacontent()
4258 cache_info->cache_filename); in ReadPixelCacheMetacontent()
4261 if ((cache_info->debug != MagickFalse) && in ReadPixelCacheMetacontent()
4262 (CacheTick(nexus_info->region.y,cache_info->rows) != MagickFalse)) in ReadPixelCacheMetacontent()
4264 "%s[%.20gx%.20g%+.20g%+.20g]",cache_info->filename,(double) in ReadPixelCacheMetacontent()
4299 CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info, in ReadPixelCachePixels() argument
4322 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns; in ReadPixelCachePixels()
4323 if ((ssize_t) (offset/cache_info->columns) != nexus_info->region.y) in ReadPixelCachePixels()
4326 number_channels=cache_info->number_channels; in ReadPixelCachePixels()
4337 switch (cache_info->type) in ReadPixelCachePixels()
4348 if ((cache_info->columns == nexus_info->region.width) && in ReadPixelCachePixels()
4354 p=cache_info->pixels+offset*cache_info->number_channels; in ReadPixelCachePixels()
4358 p+=cache_info->number_channels*cache_info->columns; in ReadPixelCachePixels()
4359 q+=cache_info->number_channels*nexus_info->region.width; in ReadPixelCachePixels()
4368 LockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCachePixels()
4369 if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse) in ReadPixelCachePixels()
4372 cache_info->cache_filename); in ReadPixelCachePixels()
4373 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCachePixels()
4376 if ((cache_info->columns == nexus_info->region.width) && in ReadPixelCachePixels()
4384 count=ReadPixelCacheRegion(cache_info,cache_info->offset+offset* in ReadPixelCachePixels()
4385 cache_info->number_channels*sizeof(*q),length,(unsigned char *) q); in ReadPixelCachePixels()
4388 offset+=cache_info->columns; in ReadPixelCachePixels()
4389 q+=cache_info->number_channels*nexus_info->region.width; in ReadPixelCachePixels()
4392 (void) ClosePixelCacheOnDisk(cache_info); in ReadPixelCachePixels()
4393 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCachePixels()
4404 LockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCachePixels()
4406 if ((cache_info->columns != nexus_info->region.width) || in ReadPixelCachePixels()
4417 cache_info->server_info,&region,length,(unsigned char *) q); in ReadPixelCachePixels()
4420 q+=cache_info->number_channels*nexus_info->region.width; in ReadPixelCachePixels()
4423 UnlockSemaphoreInfo(cache_info->file_semaphore); in ReadPixelCachePixels()
4432 cache_info->cache_filename); in ReadPixelCachePixels()
4435 if ((cache_info->debug != MagickFalse) && in ReadPixelCachePixels()
4436 (CacheTick(nexus_info->region.y,cache_info->rows) != MagickFalse)) in ReadPixelCachePixels()
4438 "%s[%.20gx%.20g%+.20g%+.20g]",cache_info->filename,(double) in ReadPixelCachePixels()
4470 *magick_restrict cache_info; in ReferencePixelCache() local
4473 cache_info=(CacheInfo *) cache; in ReferencePixelCache()
4474 assert(cache_info->signature == MagickCoreSignature); in ReferencePixelCache()
4475 LockSemaphoreInfo(cache_info->semaphore); in ReferencePixelCache()
4476 cache_info->reference_count++; in ReferencePixelCache()
4477 UnlockSemaphoreInfo(cache_info->semaphore); in ReferencePixelCache()
4478 return(cache_info); in ReferencePixelCache()
4531 *magick_restrict cache_info; in SetPixelCacheMethods() local
4544 cache_info=(CacheInfo *) cache; in SetPixelCacheMethods()
4545 assert(cache_info->signature == MagickCoreSignature); in SetPixelCacheMethods()
4546 if (cache_info->debug != MagickFalse) in SetPixelCacheMethods()
4548 cache_info->filename); in SetPixelCacheMethods()
4550 cache_info->methods.get_virtual_pixel_handler= in SetPixelCacheMethods()
4553 cache_info->methods.destroy_pixel_handler= in SetPixelCacheMethods()
4557 cache_info->methods.get_virtual_metacontent_from_handler= in SetPixelCacheMethods()
4561 cache_info->methods.get_authentic_pixels_handler= in SetPixelCacheMethods()
4565 cache_info->methods.queue_authentic_pixels_handler= in SetPixelCacheMethods()
4569 cache_info->methods.sync_authentic_pixels_handler= in SetPixelCacheMethods()
4573 cache_info->methods.get_authentic_pixels_from_handler= in SetPixelCacheMethods()
4577 cache_info->methods.get_authentic_metacontent_from_handler= in SetPixelCacheMethods()
4580 cache_info->methods.get_one_virtual_pixel_from_handler; in SetPixelCacheMethods()
4583 cache_info->methods.get_one_virtual_pixel_from_handler= in SetPixelCacheMethods()
4589 cache_info->methods.get_one_authentic_pixel_from_handler= in SetPixelCacheMethods()
4629 const CacheInfo *magick_restrict cache_info,NexusInfo *nexus_info, in AcquireCacheNexusPixels() argument
4647 cache_info->filename); in AcquireCacheNexusPixels()
4654 const CacheInfo *magick_restrict cache_info, in IsPixelCacheAuthentic() argument
4666 if (cache_info->type == PingCache) in IsPixelCacheAuthentic()
4668 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in IsPixelCacheAuthentic()
4670 status=nexus_info->pixels == (cache_info->pixels+offset* in IsPixelCacheAuthentic()
4671 cache_info->number_channels) ? MagickTrue : MagickFalse; in IsPixelCacheAuthentic()
4686 static Quantum *SetPixelCacheNexusPixels(const CacheInfo *cache_info, in SetPixelCacheNexusPixels() argument
4697 assert(cache_info != (const CacheInfo *) NULL); in SetPixelCacheNexusPixels()
4698 assert(cache_info->signature == MagickCoreSignature); in SetPixelCacheNexusPixels()
4699 if (cache_info->type == UndefinedCache) in SetPixelCacheNexusPixels()
4702 if ((cache_info->type == MemoryCache) || (cache_info->type == MapCache)) in SetPixelCacheNexusPixels()
4710 if (((nexus_info->region.x >= 0) && (x < (ssize_t) cache_info->columns) && in SetPixelCacheNexusPixels()
4711 (nexus_info->region.y >= 0) && (y < (ssize_t) cache_info->rows)) && in SetPixelCacheNexusPixels()
4713 ((nexus_info->region.width == cache_info->columns) || in SetPixelCacheNexusPixels()
4714 ((nexus_info->region.width % cache_info->columns) == 0))))) in SetPixelCacheNexusPixels()
4722 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in SetPixelCacheNexusPixels()
4724 nexus_info->pixels=cache_info->pixels+cache_info->number_channels* in SetPixelCacheNexusPixels()
4727 if (cache_info->metacontent_extent != 0) in SetPixelCacheNexusPixels()
4728 nexus_info->metacontent=(unsigned char *) cache_info->metacontent+ in SetPixelCacheNexusPixels()
4729 offset*cache_info->metacontent_extent; in SetPixelCacheNexusPixels()
4731 nexus_info->authentic_pixel_cache=IsPixelCacheAuthentic(cache_info, in SetPixelCacheNexusPixels()
4741 length=number_pixels*cache_info->number_channels*sizeof(Quantum); in SetPixelCacheNexusPixels()
4742 if (cache_info->metacontent_extent != 0) in SetPixelCacheNexusPixels()
4743 length+=number_pixels*cache_info->metacontent_extent; in SetPixelCacheNexusPixels()
4747 status=AcquireCacheNexusPixels(cache_info,nexus_info,exception); in SetPixelCacheNexusPixels()
4759 status=AcquireCacheNexusPixels(cache_info,nexus_info,exception); in SetPixelCacheNexusPixels()
4768 if (cache_info->metacontent_extent != 0) in SetPixelCacheNexusPixels()
4770 cache_info->number_channels); in SetPixelCacheNexusPixels()
4772 nexus_info->authentic_pixel_cache=IsPixelCacheAuthentic(cache_info, in SetPixelCacheNexusPixels()
4811 *magick_restrict cache_info; in SetCacheAlphaChannel() local
4827 cache_info=(CacheInfo *) image->cache; in SetCacheAlphaChannel()
4828 assert(cache_info->signature == MagickCoreSignature); in SetCacheAlphaChannel()
4867 *magick_restrict cache_info; in SetPixelCacheVirtualMethod() local
4877 cache_info=(CacheInfo *) image->cache; in SetPixelCacheVirtualMethod()
4878 assert(cache_info->signature == MagickCoreSignature); in SetPixelCacheVirtualMethod()
4879 method=cache_info->virtual_pixel_method; in SetPixelCacheVirtualMethod()
4880 cache_info->virtual_pixel_method=virtual_pixel_method; in SetPixelCacheVirtualMethod()
4930 static void CopyOpenCLBuffer(CacheInfo *magick_restrict cache_info) in CopyOpenCLBuffer() argument
4932 assert(cache_info != (CacheInfo *) NULL); in CopyOpenCLBuffer()
4933 assert(cache_info->signature == MagickCoreSignature); in CopyOpenCLBuffer()
4934 if ((cache_info->type != MemoryCache) || in CopyOpenCLBuffer()
4935 (cache_info->opencl == (MagickCLCacheInfo) NULL)) in CopyOpenCLBuffer()
4940 LockSemaphoreInfo(cache_info->semaphore); in CopyOpenCLBuffer()
4941 cache_info->opencl=(MagickCLCacheInfo) CopyMagickCLCacheInfo( in CopyOpenCLBuffer()
4942 cache_info->opencl); in CopyOpenCLBuffer()
4943 UnlockSemaphoreInfo(cache_info->semaphore); in CopyOpenCLBuffer()
4949 *magick_restrict cache_info; in SyncAuthenticOpenCLBuffer() local
4952 cache_info=(CacheInfo *) image->cache; in SyncAuthenticOpenCLBuffer()
4953 CopyOpenCLBuffer(cache_info); in SyncAuthenticOpenCLBuffer()
4990 *magick_restrict cache_info; in SyncAuthenticPixelCacheNexus() local
5002 cache_info=(CacheInfo *) image->cache; in SyncAuthenticPixelCacheNexus()
5003 assert(cache_info->signature == MagickCoreSignature); in SyncAuthenticPixelCacheNexus()
5004 if (cache_info->type == UndefinedCache) in SyncAuthenticPixelCacheNexus()
5011 assert(cache_info->signature == MagickCoreSignature); in SyncAuthenticPixelCacheNexus()
5012 status=WritePixelCachePixels(cache_info,nexus_info,exception); in SyncAuthenticPixelCacheNexus()
5013 if ((cache_info->metacontent_extent != 0) && in SyncAuthenticPixelCacheNexus()
5014 (WritePixelCacheMetacontent(cache_info,nexus_info,exception) == MagickFalse)) in SyncAuthenticPixelCacheNexus()
5052 *magick_restrict cache_info; in SyncAuthenticPixelsCache() local
5063 cache_info=(CacheInfo *) image->cache; in SyncAuthenticPixelsCache()
5064 assert(cache_info->signature == MagickCoreSignature); in SyncAuthenticPixelsCache()
5065 assert(id < (int) cache_info->number_threads); in SyncAuthenticPixelsCache()
5066 status=SyncAuthenticPixelCacheNexus(image,cache_info->nexus_info[id], in SyncAuthenticPixelsCache()
5102 *magick_restrict cache_info; in SyncAuthenticPixels() local
5113 cache_info=(CacheInfo *) image->cache; in SyncAuthenticPixels()
5114 assert(cache_info->signature == MagickCoreSignature); in SyncAuthenticPixels()
5115 if (cache_info->methods.sync_authentic_pixels_handler != in SyncAuthenticPixels()
5118 status=cache_info->methods.sync_authentic_pixels_handler(image, in SyncAuthenticPixels()
5122 assert(id < (int) cache_info->number_threads); in SyncAuthenticPixels()
5123 status=SyncAuthenticPixelCacheNexus(image,cache_info->nexus_info[id], in SyncAuthenticPixels()
5159 *magick_restrict cache_info; in SyncImagePixelCache() local
5163 cache_info=(CacheInfo *) GetImagePixelCache(image,MagickTrue,exception); in SyncImagePixelCache()
5164 return(cache_info == (CacheInfo *) NULL ? MagickFalse : MagickTrue); in SyncImagePixelCache()
5195 static MagickBooleanType WritePixelCacheMetacontent(CacheInfo *cache_info, in WritePixelCacheMetacontent() argument
5215 if (cache_info->metacontent_extent == 0) in WritePixelCacheMetacontent()
5219 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in WritePixelCacheMetacontent()
5222 cache_info->metacontent_extent; in WritePixelCacheMetacontent()
5227 switch (cache_info->type) in WritePixelCacheMetacontent()
5238 if ((cache_info->columns == nexus_info->region.width) && in WritePixelCacheMetacontent()
5244 q=(unsigned char *) cache_info->metacontent+offset* in WritePixelCacheMetacontent()
5245 cache_info->metacontent_extent; in WritePixelCacheMetacontent()
5249 p+=nexus_info->region.width*cache_info->metacontent_extent; in WritePixelCacheMetacontent()
5250 q+=cache_info->columns*cache_info->metacontent_extent; in WritePixelCacheMetacontent()
5259 LockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCacheMetacontent()
5260 if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse) in WritePixelCacheMetacontent()
5263 cache_info->cache_filename); in WritePixelCacheMetacontent()
5264 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCacheMetacontent()
5267 if ((cache_info->columns == nexus_info->region.width) && in WritePixelCacheMetacontent()
5273 extent=(MagickSizeType) cache_info->columns*cache_info->rows; in WritePixelCacheMetacontent()
5276 count=WritePixelCacheRegion(cache_info,cache_info->offset+extent* in WritePixelCacheMetacontent()
5277 cache_info->number_channels*sizeof(Quantum)+offset* in WritePixelCacheMetacontent()
5278 cache_info->metacontent_extent,length,(const unsigned char *) p); in WritePixelCacheMetacontent()
5281 p+=cache_info->metacontent_extent*nexus_info->region.width; in WritePixelCacheMetacontent()
5282 offset+=cache_info->columns; in WritePixelCacheMetacontent()
5285 (void) ClosePixelCacheOnDisk(cache_info); in WritePixelCacheMetacontent()
5286 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCacheMetacontent()
5297 LockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCacheMetacontent()
5299 if ((cache_info->columns != nexus_info->region.width) || in WritePixelCacheMetacontent()
5310 cache_info->server_info,&region,length,(const unsigned char *) p); in WritePixelCacheMetacontent()
5313 p+=cache_info->metacontent_extent*nexus_info->region.width; in WritePixelCacheMetacontent()
5316 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCacheMetacontent()
5325 cache_info->cache_filename); in WritePixelCacheMetacontent()
5328 if ((cache_info->debug != MagickFalse) && in WritePixelCacheMetacontent()
5329 (CacheTick(nexus_info->region.y,cache_info->rows) != MagickFalse)) in WritePixelCacheMetacontent()
5331 "%s[%.20gx%.20g%+.20g%+.20g]",cache_info->filename,(double) in WritePixelCacheMetacontent()
5366 CacheInfo *magick_restrict cache_info,NexusInfo *magick_restrict nexus_info, in WritePixelCachePixels() argument
5388 offset=(MagickOffsetType) nexus_info->region.y*cache_info->columns+ in WritePixelCachePixels()
5390 length=(MagickSizeType) cache_info->number_channels*nexus_info->region.width* in WritePixelCachePixels()
5396 switch (cache_info->type) in WritePixelCachePixels()
5407 if ((cache_info->columns == nexus_info->region.width) && in WritePixelCachePixels()
5413 q=cache_info->pixels+offset*cache_info->number_channels; in WritePixelCachePixels()
5417 p+=cache_info->number_channels*nexus_info->region.width; in WritePixelCachePixels()
5418 q+=cache_info->columns*cache_info->number_channels; in WritePixelCachePixels()
5427 LockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCachePixels()
5428 if (OpenPixelCacheOnDisk(cache_info,IOMode) == MagickFalse) in WritePixelCachePixels()
5431 cache_info->cache_filename); in WritePixelCachePixels()
5432 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCachePixels()
5435 if ((cache_info->columns == nexus_info->region.width) && in WritePixelCachePixels()
5443 count=WritePixelCacheRegion(cache_info,cache_info->offset+offset* in WritePixelCachePixels()
5444 cache_info->number_channels*sizeof(*p),length,(const unsigned char *) in WritePixelCachePixels()
5448 p+=cache_info->number_channels*nexus_info->region.width; in WritePixelCachePixels()
5449 offset+=cache_info->columns; in WritePixelCachePixels()
5452 (void) ClosePixelCacheOnDisk(cache_info); in WritePixelCachePixels()
5453 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCachePixels()
5464 LockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCachePixels()
5466 if ((cache_info->columns != nexus_info->region.width) || in WritePixelCachePixels()
5477 cache_info->server_info,&region,length,(const unsigned char *) p); in WritePixelCachePixels()
5480 p+=cache_info->number_channels*nexus_info->region.width; in WritePixelCachePixels()
5483 UnlockSemaphoreInfo(cache_info->file_semaphore); in WritePixelCachePixels()
5492 cache_info->cache_filename); in WritePixelCachePixels()
5495 if ((cache_info->debug != MagickFalse) && in WritePixelCachePixels()
5496 (CacheTick(nexus_info->region.y,cache_info->rows) != MagickFalse)) in WritePixelCachePixels()
5498 "%s[%.20gx%.20g%+.20g%+.20g]",cache_info->filename,(double) in WritePixelCachePixels()