cache.c File Reference

#include "MagickCore/studio.h"
#include "MagickCore/blob.h"
#include "MagickCore/blob-private.h"
#include "MagickCore/cache.h"
#include "MagickCore/cache-private.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colorspace-private.h"
#include "MagickCore/composite-private.h"
#include "MagickCore/distribute-cache-private.h"
#include "MagickCore/exception.h"
#include "MagickCore/exception-private.h"
#include "MagickCore/geometry.h"
#include "MagickCore/list.h"
#include "MagickCore/log.h"
#include "MagickCore/magick.h"
#include "MagickCore/memory_.h"
#include "MagickCore/memory-private.h"
#include "MagickCore/nt-base-private.h"
#include "MagickCore/option.h"
#include "MagickCore/pixel.h"
#include "MagickCore/pixel-accessor.h"
#include "MagickCore/policy.h"
#include "MagickCore/quantum.h"
#include "MagickCore/random_.h"
#include "MagickCore/registry.h"
#include "MagickCore/resource_.h"
#include "MagickCore/semaphore.h"
#include "MagickCore/splay-tree.h"
#include "MagickCore/string_.h"
#include "MagickCore/string-private.h"
#include "MagickCore/timer-private.h"
#include "MagickCore/thread-private.h"
#include "MagickCore/utility.h"
#include "MagickCore/utility-private.h"

Data Structures

struct  _MagickModulo

Defines

#define CacheTick(offset, extent)   QuantumTick((MagickOffsetType) offset,extent)
#define IsFileDescriptorLimitExceeded()
#define MaxCacheThreads   ((size_t) GetMagickResourceLimit(ThreadResource))
#define cache_number_threads(source, destination, chunk, multithreaded)

Typedefs

typedef struct _MagickModulo MagickModulo

Functions

static Cache GetImagePixelCache (Image *, const MagickBooleanType, ExceptionInfo *) magick_hot_spot
static const QuantumGetVirtualPixelCache (const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
static const Quantum ** GetVirtualPixelsCache (const Image *)
static const void * GetVirtualMetacontentFromCache (const Image *)
static MagickBooleanType GetOneAuthenticPixelFromCache (Image *, const ssize_t, const ssize_t, Quantum *, ExceptionInfo *)
static MagickBooleanType GetOneVirtualPixelFromCache (const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, Quantum *, ExceptionInfo *)
static MagickBooleanType OpenPixelCache (Image *, const MapMode, ExceptionInfo *)
static MagickBooleanType OpenPixelCacheOnDisk (CacheInfo *, const MapMode)
static MagickBooleanType ReadPixelCachePixels (CacheInfo *magick_restrict, NexusInfo *magick_restrict, ExceptionInfo *)
static MagickBooleanType ReadPixelCacheMetacontent (CacheInfo *magick_restrict, NexusInfo *magick_restrict, ExceptionInfo *)
static MagickBooleanType SyncAuthenticPixelsCache (Image *, ExceptionInfo *)
static MagickBooleanType WritePixelCachePixels (CacheInfo *magick_restrict, NexusInfo *magick_restrict, ExceptionInfo *)
static MagickBooleanType WritePixelCacheMetacontent (CacheInfo *, NexusInfo *magick_restrict, ExceptionInfo *)
static QuantumGetAuthenticPixelsCache (Image *, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
static Quantum ** QueueAuthenticPixelsCache (Image *, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
static Quantum *** SetPixelCacheNexusPixels (const CacheInfo *magick_restrict, const MapMode, const ssize_t, const ssize_t, const size_t, const size_t, const MagickBooleanType, NexusInfo *magick_restrict, ExceptionInfo *) magick_hot_spot
MagickPrivate Cache AcquirePixelCache (const size_t number_threads)
MagickPrivate NexusInfo ** AcquirePixelCacheNexus (const size_t number_threads)
MagickExport void * AcquirePixelCachePixels (const Image *image, size_t *length, ExceptionInfo *exception)
MagickPrivate MagickBooleanType CacheComponentGenesis (void)
MagickPrivate void CacheComponentTerminus (void)
static MagickBooleanType ClipPixelCacheNexus (Image *image, NexusInfo *nexus_info, ExceptionInfo *exception)
MagickPrivate Cache ClonePixelCache (const Cache cache)
MagickPrivate void ClonePixelCacheMethods (Cache clone, const Cache cache)
static MagickBooleanType ClonePixelCacheOnDisk (CacheInfo *magick_restrict cache_info, CacheInfo *magick_restrict clone_info)
static MagickBooleanType ClonePixelCacheRepository (CacheInfo *magick_restrict clone_info, CacheInfo *magick_restrict cache_info, ExceptionInfo *exception)
static void DestroyImagePixelCache (Image *image)
MagickExport void DestroyImagePixels (Image *image)
static MagickBooleanType ClosePixelCacheOnDisk (CacheInfo *cache_info)
static void RelinquishPixelCachePixels (CacheInfo *cache_info)
MagickPrivate Cache DestroyPixelCache (Cache cache)
static void RelinquishCacheNexusPixels (NexusInfo *nexus_info)
MagickPrivate NexusInfo ** DestroyPixelCacheNexus (NexusInfo **nexus_info, const size_t number_threads)
MagickExport void * GetAuthenticMetacontent (const Image *image)
static void * GetAuthenticMetacontentFromCache (const Image *image)
MagickPrivate QuantumGetAuthenticPixelCacheNexus (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, NexusInfo *nexus_info, ExceptionInfo *exception)
static QuantumGetAuthenticPixelsFromCache (const Image *image)
MagickExport QuantumGetAuthenticPixelQueue (const Image *image)
MagickExport QuantumGetAuthenticPixels (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
MagickExport MagickSizeType GetImageExtent (const Image *image)
static MagickBooleanType ValidatePixelCacheMorphology (const Image *magick_restrict image)
MagickExport CacheType GetImagePixelCacheType (const Image *image)
static MagickBooleanType CopyPixel (const Image *image, const Quantum *source, Quantum *destination)
MagickExport MagickBooleanType GetOneAuthenticPixel (Image *image, const ssize_t x, const ssize_t y, Quantum *pixel, ExceptionInfo *exception)
MagickExport MagickBooleanType GetOneVirtualPixel (const Image *image, const ssize_t x, const ssize_t y, Quantum *pixel, ExceptionInfo *exception)
MagickExport MagickBooleanType GetOneVirtualPixelInfo (const Image *image, const VirtualPixelMethod virtual_pixel_method, const ssize_t x, const ssize_t y, PixelInfo *pixel, ExceptionInfo *exception)
MagickPrivate ColorspaceType GetPixelCacheColorspace (const Cache cache)
MagickExport const char * GetPixelCacheFilename (const Image *image)
MagickPrivate void GetPixelCacheMethods (CacheMethods *cache_methods)
MagickPrivate MagickSizeType GetPixelCacheNexusExtent (const Cache cache, NexusInfo *magick_restrict nexus_info)
MagickExport void * GetPixelCachePixels (Image *image, MagickSizeType *length, ExceptionInfo *exception)
MagickPrivate ClassType GetPixelCacheStorageClass (const Cache cache)
MagickPrivate void GetPixelCacheTileSize (const Image *image, size_t *width, size_t *height)
MagickPrivate VirtualPixelMethod GetPixelCacheVirtualMethod (const Image *image)
MagickPrivate const void * GetVirtualMetacontentFromNexus (const Cache cache, NexusInfo *magick_restrict nexus_info)
MagickExport const void * GetVirtualMetacontent (const Image *image)
static ssize_t DitherX (const ssize_t x, const size_t columns)
static ssize_t DitherY (const ssize_t y, const size_t rows)
static ssize_t EdgeX (const ssize_t x, const size_t columns)
static ssize_t EdgeY (const ssize_t y, const size_t rows)
static ssize_t RandomX (RandomInfo *random_info, const size_t columns)
static ssize_t RandomY (RandomInfo *random_info, const size_t rows)
static MagickModulo VirtualPixelModulo (const ssize_t offset, const size_t extent)
MagickPrivate const QuantumGetVirtualPixelCacheNexus (const Image *image, const VirtualPixelMethod virtual_pixel_method, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, NexusInfo *nexus_info, ExceptionInfo *exception)
MagickExport const QuantumGetVirtualPixelQueue (const Image *image)
MagickExport const QuantumGetVirtualPixels (const Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
MagickPrivate const QuantumGetVirtualPixelsNexus (const Cache cache, NexusInfo *magick_restrict nexus_info)
static Quantum ApplyPixelCompositeMask (const Quantum p, const MagickRealType alpha, const Quantum q, const MagickRealType beta)
static MagickBooleanType MaskPixelCacheNexus (Image *image, NexusInfo *nexus_info, ExceptionInfo *exception)
static MagickOffsetType WritePixelCacheRegion (const CacheInfo *magick_restrict cache_info, const MagickOffsetType offset, const MagickSizeType length, const unsigned char *magick_restrict buffer)
static MagickBooleanType SetPixelCacheExtent (Image *image, MagickSizeType length)
MagickExport MagickBooleanType PersistPixelCache (Image *image, const char *filename, const MagickBooleanType attach, MagickOffsetType *offset, ExceptionInfo *exception)
MagickPrivate QuantumQueueAuthenticPixelCacheNexus (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, const MagickBooleanType clone, NexusInfo *nexus_info, ExceptionInfo *exception)
MagickExport QuantumQueueAuthenticPixels (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
static MagickOffsetType ReadPixelCacheRegion (const CacheInfo *magick_restrict cache_info, const MagickOffsetType offset, const MagickSizeType length, unsigned char *magick_restrict buffer)
static MagickBooleanType ReadPixelCacheMetacontent (CacheInfo *magick_restrict cache_info, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
static MagickBooleanType ReadPixelCachePixels (CacheInfo *magick_restrict cache_info, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
MagickPrivate Cache ReferencePixelCache (Cache cache)
MagickPrivate void ResetPixelCacheChannels (Image *image)
MagickPrivate void ResetCacheAnonymousMemory (void)
MagickPrivate void ResetPixelCacheEpoch (void)
MagickPrivate void SetPixelCacheMethods (Cache cache, CacheMethods *cache_methods)
static MagickBooleanType AcquireCacheNexusPixels (const CacheInfo *magick_restrict cache_info, const MagickSizeType length, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
static void PrefetchPixelCacheNexusPixels (const NexusInfo *nexus_info, const MapMode mode)
static QuantumSetPixelCacheNexusPixels (const CacheInfo *magick_restrict cache_info, const MapMode mode, const ssize_t x, const ssize_t y, const size_t width, const size_t height, const MagickBooleanType buffered, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
static MagickBooleanType SetCacheAlphaChannel (Image *image, const Quantum alpha, ExceptionInfo *exception)
MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod (Image *image, const VirtualPixelMethod virtual_pixel_method, ExceptionInfo *exception)
MagickPrivate MagickBooleanType SyncAuthenticPixelCacheNexus (Image *image, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
MagickExport MagickBooleanType SyncAuthenticPixels (Image *image, ExceptionInfo *exception)
MagickPrivate MagickBooleanType SyncImagePixelCache (Image *image, ExceptionInfo *exception)
static MagickBooleanType WritePixelCacheMetacontent (CacheInfo *cache_info, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)
static MagickBooleanType WritePixelCachePixels (CacheInfo *magick_restrict cache_info, NexusInfo *magick_restrict nexus_info, ExceptionInfo *exception)

Variables

static SemaphoreInfocache_semaphore = (SemaphoreInfo *) NULL
static ssize_t cache_anonymous_memory = (-1)
static time_t cache_epoch = 0
static ssize_t DitherMatrix [64]

Define Documentation

#define cache_number_threads ( source,
destination,
chunk,
multithreaded   ) 
Value:
num_threads((multithreaded) == 0 ? 1 : \
    (((source)->type != MemoryCache) && ((source)->type != MapCache)) || \
    (((destination)->type != MemoryCache) && ((destination)->type != MapCache)) ? \
    MagickMax(MagickMin(GetMagickResourceLimit(ThreadResource),2),1) : \
    MagickMax(MagickMin((ssize_t) GetMagickResourceLimit(ThreadResource),(ssize_t) (chunk)/256),1))
#define CacheTick ( offset,
extent   )     QuantumTick((MagickOffsetType) offset,extent)
 
#define IsFileDescriptorLimitExceeded (  ) 
#define MaxCacheThreads   ((size_t) GetMagickResourceLimit(ThreadResource))

Typedef Documentation

typedef struct _MagickModulo MagickModulo

Function Documentation

static MagickBooleanType AcquireCacheNexusPixels ( const CacheInfo *magick_restrict  cache_info,
const MagickSizeType  length,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [inline, static]
MagickPrivate Cache AcquirePixelCache ( const size_t  number_threads  ) 
MagickPrivate NexusInfo** AcquirePixelCacheNexus ( const size_t  number_threads  ) 
MagickExport void* AcquirePixelCachePixels ( const Image image,
size_t *  length,
ExceptionInfo exception 
)
static Quantum ApplyPixelCompositeMask ( const Quantum  p,
const MagickRealType  alpha,
const Quantum  q,
const MagickRealType  beta 
) [inline, static]
MagickPrivate MagickBooleanType CacheComponentGenesis ( void   ) 
MagickPrivate void CacheComponentTerminus ( void   ) 
static MagickBooleanType ClipPixelCacheNexus ( Image image,
NexusInfo nexus_info,
ExceptionInfo exception 
) [static]
MagickPrivate Cache ClonePixelCache ( const Cache  cache  ) 
MagickPrivate void ClonePixelCacheMethods ( Cache  clone,
const Cache  cache 
)
static MagickBooleanType ClonePixelCacheOnDisk ( CacheInfo *magick_restrict  cache_info,
CacheInfo *magick_restrict  clone_info 
) [static]
static MagickBooleanType ClonePixelCacheRepository ( CacheInfo *magick_restrict  clone_info,
CacheInfo *magick_restrict  cache_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType ClosePixelCacheOnDisk ( CacheInfo cache_info  )  [static]
static MagickBooleanType CopyPixel ( const Image image,
const Quantum source,
Quantum destination 
) [inline, static]
static void DestroyImagePixelCache ( Image image  )  [static]
MagickExport void DestroyImagePixels ( Image image  ) 
MagickPrivate Cache DestroyPixelCache ( Cache  cache  ) 
MagickPrivate NexusInfo** DestroyPixelCacheNexus ( NexusInfo **  nexus_info,
const size_t  number_threads 
)
static ssize_t DitherX ( const ssize_t  x,
const size_t  columns 
) [inline, static]

References DitherMatrix.

Referenced by GetVirtualPixelCacheNexus().

static ssize_t DitherY ( const ssize_t  y,
const size_t  rows 
) [inline, static]

References DitherMatrix.

Referenced by GetVirtualPixelCacheNexus().

static ssize_t EdgeX ( const ssize_t  x,
const size_t  columns 
) [inline, static]
static ssize_t EdgeY ( const ssize_t  y,
const size_t  rows 
) [inline, static]
MagickExport void* GetAuthenticMetacontent ( const Image image  ) 
static void* GetAuthenticMetacontentFromCache ( const Image image  )  [static]
MagickPrivate Quantum* GetAuthenticPixelCacheNexus ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
NexusInfo nexus_info,
ExceptionInfo exception 
)
MagickExport Quantum* GetAuthenticPixelQueue ( const Image image  ) 
MagickExport Quantum* GetAuthenticPixels ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static Quantum * GetAuthenticPixelsCache ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
) [static]
static Quantum* GetAuthenticPixelsFromCache ( const Image image  )  [static]
MagickExport MagickSizeType GetImageExtent ( const Image image  ) 
static Cache GetImagePixelCache ( Image image,
const MagickBooleanType  clone,
ExceptionInfo exception 
) [static]
MagickExport CacheType GetImagePixelCacheType ( const Image image  ) 
MagickExport MagickBooleanType GetOneAuthenticPixel ( Image image,
const ssize_t  x,
const ssize_t  y,
Quantum pixel,
ExceptionInfo exception 
)
static MagickBooleanType GetOneAuthenticPixelFromCache ( Image image,
const ssize_t  x,
const ssize_t  y,
Quantum pixel,
ExceptionInfo exception 
) [static]
MagickExport MagickBooleanType GetOneVirtualPixel ( const Image image,
const ssize_t  x,
const ssize_t  y,
Quantum pixel,
ExceptionInfo exception 
)
static MagickBooleanType GetOneVirtualPixelFromCache ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
Quantum pixel,
ExceptionInfo exception 
)
MagickExport MagickBooleanType GetOneVirtualPixelInfo ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
PixelInfo pixel,
ExceptionInfo exception 
)
MagickPrivate ColorspaceType GetPixelCacheColorspace ( const Cache  cache  ) 
MagickExport const char* GetPixelCacheFilename ( const Image image  ) 
MagickPrivate void GetPixelCacheMethods ( CacheMethods cache_methods  ) 
MagickPrivate MagickSizeType GetPixelCacheNexusExtent ( const Cache  cache,
NexusInfo *magick_restrict  nexus_info 
)
MagickExport void* GetPixelCachePixels ( Image image,
MagickSizeType length,
ExceptionInfo exception 
)
MagickPrivate ClassType GetPixelCacheStorageClass ( const Cache  cache  ) 
MagickPrivate void GetPixelCacheTileSize ( const Image image,
size_t *  width,
size_t *  height 
)
MagickPrivate VirtualPixelMethod GetPixelCacheVirtualMethod ( const Image image  ) 
MagickExport const void* GetVirtualMetacontent ( const Image image  ) 
static const void * GetVirtualMetacontentFromCache ( const Image image  )  [static]
MagickPrivate const void* GetVirtualMetacontentFromNexus ( const Cache  cache,
NexusInfo *magick_restrict  nexus_info 
)
static const Quantum * GetVirtualPixelCache ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
) [static]
MagickPrivate const Quantum* GetVirtualPixelCacheNexus ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
NexusInfo nexus_info,
ExceptionInfo exception 
)

References AcquireQuantumMemory(), AcquireRandomInfo(), _PixelInfo::alpha, _NexusInfo::authentic_pixel_cache, _Image::background_color, BackgroundVirtualPixelMethod, _PixelInfo::black, BlackVirtualPixelMethod, _PixelInfo::blue, _Image::cache, CacheError, _Image::channels, CheckerTileVirtualPixelMethod, ClampToQuantum(), CompositeMaskChannel, DitherVirtualPixelMethod, DitherX(), DitherY(), EdgeVirtualPixelMethod, EdgeX(), EdgeY(), _Image::filename, GetMagickModule, GetVirtualMetacontentFromNexus(), GetVirtualPixelCacheNexus(), GrayVirtualPixelMethod, _PixelInfo::green, _RectangleInfo::height, HorizontalTileEdgeVirtualPixelMethod, HorizontalTileVirtualPixelMethod, magick_restrict, MagickCoreSignature, MagickFalse, MagickMin, MagickTrue, MaskVirtualPixelMethod, MaxPixelChannels, _NexusInfo::metacontent, MirrorVirtualPixelMethod, OpaqueAlpha, QuantumRange, _MagickModulo::quotient, RandomVirtualPixelMethod, RandomX(), RandomY(), ReadMode, ReadPixelCacheMetacontent(), ReadPixelCachePixels(), _PixelInfo::red, _NexusInfo::region, RelinquishMagickMemory(), _MagickModulo::remainder, SetPixelAlpha(), SetPixelBlack(), SetPixelBlue(), SetPixelCacheNexusPixels(), SetPixelChannel(), SetPixelGreen(), SetPixelRed(), _Image::signature, ThrowMagickException(), TileVirtualPixelMethod, TransparentAlpha, TransparentVirtualPixelMethod, UndefinedCache, UndefinedVirtualPixelMethod, VerticalTileEdgeVirtualPixelMethod, VerticalTileVirtualPixelMethod, _NexusInfo::virtual_nexus, VirtualPixelModulo(), WhiteVirtualPixelMethod, _RectangleInfo::width, WriteMaskChannel, _RectangleInfo::x, and _RectangleInfo::y.

MagickExport const Quantum* GetVirtualPixelQueue ( const Image image  ) 
MagickExport const Quantum* GetVirtualPixels ( const Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static const Quantum * GetVirtualPixelsCache ( const Image image  ) 
MagickPrivate const Quantum* GetVirtualPixelsNexus ( const Cache  cache,
NexusInfo *magick_restrict  nexus_info 
)
static MagickBooleanType MaskPixelCacheNexus ( Image image,
NexusInfo nexus_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType OpenPixelCache ( Image image,
const MapMode  mode,
ExceptionInfo exception 
)

References AcquireAlignedMemory(), AcquireDistributeCacheInfo(), AcquireMagickResource(), _Image::alpha_trait, AreaResource, _Image::cache, cache_anonymous_memory, CacheError, CacheEvent, _Image::channel_map, _Image::channels, ClonePixelCacheRepository(), ClosePixelCacheOnDisk(), _Image::colorspace, _Image::columns, CommandOptionToMnemonic(), _Image::debug, DestroyDistributeCacheInfo(), DestroyString(), DiskCache, DiskResource, DistributedCache, _Image::filename, FormatLocaleString(), FormatMagickSize(), GetDistributeCacheFile(), GetDistributeCacheHostname(), GetDistributeCachePort(), GetImageListLength(), GetImageRegistry(), GetMagickModule, GetPixelChannels(), GetPolicyValue(), ImageError, InitializePixelChannelMap(), IOMode, ListLengthResource, LocaleCompare(), LogMagickEvent(), magick_restrict, MagickAssumeAligned, MagickCacheOptions, MagickCoreSignature, MagickFalse, MagickPathExtent, MagickTrue, MapBlob(), MapCache, MapResource, MaxPixelChannels, MemoryCache, MemoryResource, _Image::metacontent_extent, MissingDelegateError, _Image::offset, OpenDistributePixelCache(), OpenPixelCacheOnDisk(), PersistMode, _Image::ping, PingCache, ReadMode, RelinquishMagickResource(), RelinquishPixelCachePixels(), ResourceLimitError, _Image::rows, _Image::scene, SetPixelCacheExtent(), _Image::signature, _Image::storage_class, StringRegistryType, ThrowBinaryException, ThrowFileException, ThrowMagickException(), TraceEvent, UndefinedCache, and UndefinedClass.

Referenced by GetImagePixelCache(), and PersistPixelCache().

static MagickBooleanType OpenPixelCacheOnDisk ( CacheInfo cache_info,
const MapMode  mode 
)
MagickExport MagickBooleanType PersistPixelCache ( Image image,
const char *  filename,
const MagickBooleanType  attach,
MagickOffsetType offset,
ExceptionInfo exception 
)
static void PrefetchPixelCacheNexusPixels ( const NexusInfo nexus_info,
const MapMode  mode 
) [inline, static]
MagickPrivate Quantum* QueueAuthenticPixelCacheNexus ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
const MagickBooleanType  clone,
NexusInfo nexus_info,
ExceptionInfo exception 
)
MagickExport Quantum* QueueAuthenticPixels ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static Quantum * QueueAuthenticPixelsCache ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static ssize_t RandomX ( RandomInfo random_info,
const size_t  columns 
) [inline, static]
static ssize_t RandomY ( RandomInfo random_info,
const size_t  rows 
) [inline, static]
static MagickBooleanType ReadPixelCacheMetacontent ( CacheInfo *magick_restrict  cache_info,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType ReadPixelCacheMetacontent ( CacheInfo magick_restrict,
NexusInfo magick_restrict,
ExceptionInfo  
)
static MagickBooleanType ReadPixelCachePixels ( CacheInfo *magick_restrict  cache_info,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType ReadPixelCachePixels ( CacheInfo magick_restrict,
NexusInfo magick_restrict,
ExceptionInfo  
)
static MagickOffsetType ReadPixelCacheRegion ( const CacheInfo *magick_restrict  cache_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
unsigned char *magick_restrict  buffer 
) [inline, static]
MagickPrivate Cache ReferencePixelCache ( Cache  cache  ) 
static void RelinquishCacheNexusPixels ( NexusInfo nexus_info  )  [inline, static]
static void RelinquishPixelCachePixels ( CacheInfo cache_info  )  [inline, static]
MagickPrivate void ResetCacheAnonymousMemory ( void   ) 
MagickPrivate void ResetPixelCacheChannels ( Image image  ) 
MagickPrivate void ResetPixelCacheEpoch ( void   ) 

References cache_epoch.

static MagickBooleanType SetCacheAlphaChannel ( Image image,
const Quantum  alpha,
ExceptionInfo exception 
) [static]
static MagickBooleanType SetPixelCacheExtent ( Image image,
MagickSizeType  length 
) [static]
MagickPrivate void SetPixelCacheMethods ( Cache  cache,
CacheMethods cache_methods 
)
static Quantum* SetPixelCacheNexusPixels ( const CacheInfo *magick_restrict  cache_info,
const MapMode  mode,
const ssize_t  x,
const ssize_t  y,
const size_t  width,
const size_t  height,
const MagickBooleanType  buffered,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [static]
static Quantum* * * SetPixelCacheNexusPixels ( const CacheInfo magick_restrict,
const   MapMode,
const   ssize_t,
const   ssize_t,
const   size_t,
const   size_t,
const   MagickBooleanType,
NexusInfo magick_restrict,
ExceptionInfo  
)
MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod ( Image image,
const VirtualPixelMethod  virtual_pixel_method,
ExceptionInfo exception 
)
MagickPrivate MagickBooleanType SyncAuthenticPixelCacheNexus ( Image image,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
)
MagickExport MagickBooleanType SyncAuthenticPixels ( Image image,
ExceptionInfo exception 
)
static MagickBooleanType SyncAuthenticPixelsCache ( Image image,
ExceptionInfo exception 
)
MagickPrivate MagickBooleanType SyncImagePixelCache ( Image image,
ExceptionInfo exception 
)
static MagickBooleanType ValidatePixelCacheMorphology ( const Image *magick_restrict  image  )  [inline, static]

References magick_restrict, MagickFalse, and MagickTrue.

Referenced by GetImagePixelCache().

static MagickModulo VirtualPixelModulo ( const ssize_t  offset,
const size_t  extent 
) [inline, static]
static MagickBooleanType WritePixelCacheMetacontent ( CacheInfo cache_info,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType WritePixelCacheMetacontent ( CacheInfo ,
NexusInfo magick_restrict,
ExceptionInfo  
)
static MagickBooleanType WritePixelCachePixels ( CacheInfo *magick_restrict  cache_info,
NexusInfo *magick_restrict  nexus_info,
ExceptionInfo exception 
) [static]
static MagickBooleanType WritePixelCachePixels ( CacheInfo magick_restrict,
NexusInfo magick_restrict,
ExceptionInfo  
)
static MagickOffsetType WritePixelCacheRegion ( const CacheInfo *magick_restrict  cache_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
const unsigned char *magick_restrict  buffer 
) [inline, static]

Variable Documentation

ssize_t cache_anonymous_memory = (-1) [static]
time_t cache_epoch = 0 [static]
ssize_t DitherMatrix[64] [static]
Initial value:
  {
     0,  48,  12,  60,   3,  51,  15,  63,
    32,  16,  44,  28,  35,  19,  47,  31,
     8,  56,   4,  52,  11,  59,   7,  55,
    40,  24,  36,  20,  43,  27,  39,  23,
     2,  50,  14,  62,   1,  49,  13,  61,
    34,  18,  46,  30,  33,  17,  45,  29,
    10,  58,   6,  54,   9,  57,   5,  53,
    42,  26,  38,  22,  41,  25,  37,  21
  }

Referenced by DitherX(), and DitherY().


Generated on 18 Feb 2020 for MagickCore by  doxygen 1.6.1