MagickCore  6.9.1
cache.c File Reference
Include dependency graph for cache.c:

Go to the source code of this file.

Data Structures

struct  _MagickModulo
 

Macros

#define CacheTick(offset, extent)   QuantumTick((MagickOffsetType) offset,extent)
 
#define IsFileDescriptorLimitExceeded()
 
#define MaxCacheThreads   2
 
#define cache_threads(source, destination, chunk)
 

Typedefs

typedef struct _MagickModulo MagickModulo
 

Functions

static Cache GetImagePixelCache (Image *, static PixelPacket *GetAuthenticPixelsCache(Image const MagickBooleanType, ExceptionInfo *)
 
MagickExport NexusInfo ** AcquirePixelCacheNexus (const size_t number_threads)
 
MagickExport const void * AcquirePixelCachePixels (const Image *image, MagickSizeType *length, ExceptionInfo *exception)
 
MagickExport MagickBooleanType CacheComponentGenesis (void)
 
MagickExport void CacheComponentTerminus (void)
 
static MagickBooleanType ClipPixelCacheNexus (Image *image, NexusInfo *nexus_info, ExceptionInfo *exception)
 
MagickExport Cache ClonePixelCache (const Cache cache)
 
MagickExport void ClonePixelCacheMethods (Cache clone, const Cache cache)
 
static MagickBooleanType ClonePixelCacheRepository (CacheInfo *restrict clone_info, CacheInfo *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)
 
MagickExport Cache DestroyPixelCache (Cache cache)
 
static void RelinquishCacheNexusPixels (NexusInfo *nexus_info)
 
MagickExport NexusInfo ** DestroyPixelCacheNexus (NexusInfo **nexus_info, const size_t number_threads)
 
static IndexPacketGetAuthenticIndexesFromCache (const Image *image)
 
MagickExport IndexPacketGetAuthenticIndexQueue (const Image *image)
 
MagickExport PixelPacketGetAuthenticPixelCacheNexus (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, NexusInfo *nexus_info, ExceptionInfo *exception)
 
static PixelPacketGetAuthenticPixelsFromCache (const Image *image)
 
MagickExport PixelPacketGetAuthenticPixelQueue (const Image *image)
 
MagickExport PixelPacketGetAuthenticPixels (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
 
static PixelPacketGetAuthenticPixelsCache (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 *restrict image)
 
static Cache GetImagePixelCache (Image *image, const MagickBooleanType clone, ExceptionInfo *exception)
 
MagickExport CacheType GetPixelCacheType (const Image *image)
 
MagickExport CacheType GetImagePixelCacheType (const Image *image)
 
MagickExport MagickBooleanType GetOneAuthenticPixel (Image *image, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
 
static MagickBooleanType GetOneAuthenticPixelFromCache (Image *image, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetOneVirtualMagickPixel (const Image *image, const ssize_t x, const ssize_t y, MagickPixelPacket *pixel, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetOneVirtualMethodPixel (const Image *image, const VirtualPixelMethod virtual_pixel_method, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetOneVirtualPixel (const Image *image, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
 
static MagickBooleanType GetOneVirtualPixelFromCache (const Image *image, const VirtualPixelMethod virtual_pixel_method, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
 
MagickExport size_t GetPixelCacheChannels (const Cache cache)
 
MagickExport ColorspaceType GetPixelCacheColorspace (const Cache cache)
 
MagickExport void GetPixelCacheMethods (CacheMethods *cache_methods)
 
MagickExport MagickSizeType GetPixelCacheNexusExtent (const Cache cache, NexusInfo *nexus_info)
 
MagickExport void * GetPixelCachePixels (Image *image, MagickSizeType *length, ExceptionInfo *exception)
 
MagickExport ClassType GetPixelCacheStorageClass (const Cache cache)
 
MagickExport void GetPixelCacheTileSize (const Image *image, size_t *width, size_t *height)
 
MagickExport VirtualPixelMethod GetPixelCacheVirtualMethod (const Image *image)
 
static const IndexPacketGetVirtualIndexesFromCache (const Image *image)
 
MagickExport const IndexPacketGetVirtualIndexesFromNexus (const Cache cache, NexusInfo *nexus_info)
 
MagickExport const IndexPacketGetVirtualIndexQueue (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)
 
MagickExport const PixelPacketGetVirtualPixelsFromNexus (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)
 
static const PixelPacketGetVirtualPixelCache (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)
 
MagickExport const PixelPacketGetVirtualPixelQueue (const Image *image)
 
MagickExport const PixelPacketGetVirtualPixels (const Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
 
static const PixelPacketGetVirtualPixelsCache (const Image *image)
 
MagickExport const PixelPacketGetVirtualPixelsNexus (const Cache cache, NexusInfo *nexus_info)
 
static void MagickPixelCompositeMask (const MagickPixelPacket *p, const MagickRealType alpha, const MagickPixelPacket *q, const MagickRealType beta, MagickPixelPacket *composite)
 
static MagickBooleanType MaskPixelCacheNexus (Image *image, NexusInfo *nexus_info, ExceptionInfo *exception)
 
static void AllocatePixelCachePixels (CacheInfo *cache_info)
 
static MagickBooleanType OpenPixelCacheOnDisk (CacheInfo *cache_info, const MapMode mode)
 
static MagickOffsetType WritePixelCacheRegion (const CacheInfo *restrict cache_info, const MagickOffsetType offset, const MagickSizeType length, const unsigned char *restrict buffer)
 
static MagickBooleanType SetPixelCacheExtent (Image *image, MagickSizeType length)
 
static MagickBooleanType OpenPixelCache (Image *image, const MapMode mode, ExceptionInfo *exception)
 
MagickExport MagickBooleanType PersistPixelCache (Image *image, const char *filename, const MagickBooleanType attach, MagickOffsetType *offset, ExceptionInfo *exception)
 
MagickExport PixelPacketQueueAuthenticPixel (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 PixelPacketQueueAuthenticPixelCacheNexus (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)
 
static PixelPacketQueueAuthenticPixelsCache (Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
 
MagickExport PixelPacketQueueAuthenticPixels (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 *restrict cache_info, const MagickOffsetType offset, const MagickSizeType length, unsigned char *restrict buffer)
 
static MagickBooleanType ReadPixelCacheIndexes (CacheInfo *restrict cache_info, NexusInfo *restrict nexus_info, ExceptionInfo *exception)
 
static MagickBooleanType ReadPixelCachePixels (CacheInfo *restrict cache_info, NexusInfo *restrict nexus_info, ExceptionInfo *exception)
 
MagickExport Cache ReferencePixelCache (Cache cache)
 
MagickExport void SetPixelCacheMethods (Cache cache, CacheMethods *cache_methods)
 
static MagickBooleanType AcquireCacheNexusPixels (const CacheInfo *restrict cache_info, NexusInfo *nexus_info, ExceptionInfo *exception)
 
static MagickBooleanType IsAuthenticPixelCache (const CacheInfo *restrict cache_info, const NexusInfo *restrict nexus_info)
 
static void PrefetchPixelCacheNexusPixels (const NexusInfo *nexus_info, const MapMode mode)
 
static PixelPacketSetPixelCacheNexusPixels (const CacheInfo *cache_info, const MapMode mode, const RectangleInfo *region, const MagickBooleanType buffered, NexusInfo *nexus_info, ExceptionInfo *exception)
 
static MagickBooleanType SetCacheAlphaChannel (Image *image, const Quantum opacity)
 
MagickExport VirtualPixelMethod SetPixelCacheVirtualMethod (const Image *image, const VirtualPixelMethod virtual_pixel_method)
 
MagickExport MagickBooleanType SyncAuthenticPixelCacheNexus (Image *image, NexusInfo *restrict nexus_info, ExceptionInfo *exception)
 
static MagickBooleanType SyncAuthenticPixelsCache (Image *image, ExceptionInfo *exception)
 
MagickExport MagickBooleanType SyncAuthenticPixels (Image *image, ExceptionInfo *exception)
 
MagickPrivate MagickBooleanType SyncImagePixelCache (Image *image, ExceptionInfo *exception)
 
static MagickBooleanType WritePixelCacheIndexes (CacheInfo *cache_info, NexusInfo *restrict nexus_info, ExceptionInfo *exception)
 
static MagickBooleanType WritePixelCachePixels (CacheInfo *cache_info, NexusInfo *restrict nexus_info, ExceptionInfo *exception)
 

Variables

static ssize_t DitherMatrix [64]
 

Macro Definition Documentation

#define cache_threads (   source,
  destination,
  chunk 
)
Value:
num_threads((chunk) < (16*GetMagickResourceLimit(ThreadResource)) ? 1 : \
#define MaxCacheThreads
MagickExport MagickSizeType GetMagickResourceLimit(const ResourceType type)
Definition: resource.c:675
#define CacheTick (   offset,
  extent 
)    QuantumTick((MagickOffsetType) offset,extent)
#define IsFileDescriptorLimitExceeded ( )
Value:
MagickExport MagickSizeType GetMagickResourceLimit(const ResourceType type)
Definition: resource.c:675
MagickExport MagickSizeType GetMagickResource(const ResourceType type)
Definition: resource.c:587

Definition at line 86 of file cache.c.

Referenced by ReadPixelCacheIndexes(), ReadPixelCachePixels(), WritePixelCacheIndexes(), and WritePixelCachePixels().

#define MaxCacheThreads   2

Typedef Documentation

typedef struct _MagickModulo MagickModulo

Function Documentation

static MagickBooleanType AcquireCacheNexusPixels ( const CacheInfo *restrict  cache_info,
NexusInfo nexus_info,
ExceptionInfo exception 
)
inlinestatic
MagickExport const void* AcquirePixelCachePixels ( const Image image,
MagickSizeType length,
ExceptionInfo exception 
)
static void AllocatePixelCachePixels ( CacheInfo cache_info)
inlinestatic
MagickExport MagickBooleanType CacheComponentGenesis ( void  )

Definition at line 330 of file cache.c.

References AllocateSemaphoreInfo(), and MagickTrue.

Referenced by MagickCoreGenesis().

MagickExport void CacheComponentTerminus ( void  )
MagickExport Cache ClonePixelCache ( const Cache  cache)
MagickExport void ClonePixelCacheMethods ( Cache  clone,
const Cache  cache 
)

Definition at line 540 of file cache.c.

References GetMagickModule, LogMagickEvent(), MagickFalse, MagickSignature, and TraceEvent.

static void DestroyImagePixelCache ( Image image)
static
static ssize_t DitherX ( const ssize_t  x,
const size_t  columns 
)
inlinestatic

Definition at line 2471 of file cache.c.

References DitherMatrix.

Referenced by GetVirtualPixelsFromNexus().

static ssize_t DitherY ( const ssize_t  y,
const size_t  rows 
)
inlinestatic

Definition at line 2484 of file cache.c.

References DitherMatrix.

Referenced by GetVirtualPixelsFromNexus().

static ssize_t EdgeX ( const ssize_t  x,
const size_t  columns 
)
inlinestatic

Definition at line 2497 of file cache.c.

Referenced by GetVirtualPixelsFromNexus().

static ssize_t EdgeY ( const ssize_t  y,
const size_t  rows 
)
inlinestatic

Definition at line 2506 of file cache.c.

Referenced by GetVirtualPixelsFromNexus().

static IndexPacket* GetAuthenticIndexesFromCache ( const Image image)
static

Definition at line 1035 of file cache.c.

References _Image::cache, GetOpenMPThreadId(), MagickSignature, and _Image::signature.

Referenced by GetPixelCacheMethods().

MagickExport PixelPacket* 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 PixelPacket* GetAuthenticPixelQueue ( const Image image)
static PixelPacket* GetAuthenticPixelsCache ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static
static PixelPacket* GetAuthenticPixelsFromCache ( const Image image)
static

Definition at line 1186 of file cache.c.

References _Image::cache, GetOpenMPThreadId(), MagickSignature, and _Image::signature.

Referenced by GetPixelCacheMethods().

static Cache GetImagePixelCache ( Image ,
static PixelPacket *GetAuthenticPixelsCache(Image  const MagickBooleanType,
ExceptionInfo  
)
static

Definition at line 107 of file cache.c.

Referenced by QueueAuthenticPixelCacheNexus(), and SyncImagePixelCache().

MagickExport CacheType GetImagePixelCacheType ( const Image image)

Definition at line 1592 of file cache.c.

References _Image::cache, MagickSignature, and _Image::signature.

Referenced by GetPixelCacheTileSize(), and GetPixelCacheType().

MagickExport MagickBooleanType GetOneAuthenticPixel ( Image image,
const ssize_t  x,
const ssize_t  y,
PixelPacket pixel,
ExceptionInfo exception 
)
static MagickBooleanType GetOneAuthenticPixelFromCache ( Image image,
const ssize_t  x,
const ssize_t  y,
PixelPacket pixel,
ExceptionInfo exception 
)
static
MagickExport MagickBooleanType GetOneVirtualMethodPixel ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
PixelPacket pixel,
ExceptionInfo exception 
)
MagickExport MagickBooleanType GetOneVirtualPixel ( const Image image,
const ssize_t  x,
const ssize_t  y,
PixelPacket pixel,
ExceptionInfo exception 
)
static MagickBooleanType GetOneVirtualPixelFromCache ( const Image image,
const VirtualPixelMethod  virtual_pixel_method,
const ssize_t  x,
const ssize_t  y,
PixelPacket pixel,
ExceptionInfo exception 
)
static
MagickExport size_t GetPixelCacheChannels ( const Cache  cache)

Definition at line 1999 of file cache.c.

References GetMagickModule, LogMagickEvent(), MagickFalse, MagickSignature, and TraceEvent.

Referenced by GetCacheViewChannels().

MagickExport ColorspaceType GetPixelCacheColorspace ( const Cache  cache)
MagickExport MagickSizeType GetPixelCacheNexusExtent ( const Cache  cache,
NexusInfo nexus_info 
)
MagickExport void* GetPixelCachePixels ( Image image,
MagickSizeType length,
ExceptionInfo exception 
)
MagickExport ClassType GetPixelCacheStorageClass ( const Cache  cache)
MagickExport void GetPixelCacheTileSize ( const Image image,
size_t *  width,
size_t *  height 
)
MagickExport CacheType GetPixelCacheType ( const Image image)

Definition at line 1587 of file cache.c.

References GetImagePixelCacheType().

MagickExport VirtualPixelMethod GetPixelCacheVirtualMethod ( const Image image)
static const IndexPacket* GetVirtualIndexesFromCache ( const Image image)
static
MagickExport const IndexPacket* GetVirtualIndexesFromNexus ( const Cache  cache,
NexusInfo nexus_info 
)
static const PixelPacket* 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
MagickExport const PixelPacket* GetVirtualPixelQueue ( const Image image)
static const PixelPacket* GetVirtualPixelsCache ( const Image image)
static
MagickExport const PixelPacket* GetVirtualPixelsFromNexus ( 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 
)

Definition at line 2545 of file cache.c.

References AcquirePixelCacheNexus(), AcquireRandomInfo(), _NexusInfo::authentic_pixel_cache, _Image::background_color, BackgroundVirtualPixelMethod, BlackVirtualPixelMethod, _Image::cache, CacheError, CheckerTileVirtualPixelMethod, _Image::clip_mask, CMYKColorspace, ConstantVirtualPixelMethod, DestroyPixelCacheNexus(), DitherVirtualPixelMethod, DitherX(), DitherY(), EdgeVirtualPixelMethod, EdgeX(), EdgeY(), _Image::filename, GetMagickModule, GetVirtualIndexesFromNexus(), GrayVirtualPixelMethod, _RectangleInfo::height, HorizontalTileEdgeVirtualPixelMethod, HorizontalTileVirtualPixelMethod, _NexusInfo::indexes, MagickFalse, MagickMin, MagickSignature, MagickTrue, _Image::mask, MaskVirtualPixelMethod, MirrorVirtualPixelMethod, OpaqueOpacity, PseudoClass, QuantumRange, _MagickModulo::quotient, RandomVirtualPixelMethod, RandomX(), RandomY(), ReadMode, ReadPixelCacheIndexes(), ReadPixelCachePixels(), _NexusInfo::region, _MagickModulo::remainder, SetPixelBlue, SetPixelCacheNexusPixels(), SetPixelGreen, SetPixelOpacity, SetPixelRed, _Image::signature, ThrowMagickException(), TileVirtualPixelMethod, TransparentOpacity, TransparentVirtualPixelMethod, UndefinedCache, UndefinedVirtualPixelMethod, VerticalTileEdgeVirtualPixelMethod, VerticalTileVirtualPixelMethod, VirtualPixelModulo(), WhiteVirtualPixelMethod, _RectangleInfo::width, _RectangleInfo::x, and _RectangleInfo::y.

Referenced by ClipPixelCacheNexus(), GetOneVirtualMagickPixel(), GetOneVirtualMethodPixel(), GetOneVirtualPixel(), GetOneVirtualPixelFromCache(), GetVirtualPixelCache(), GetVirtualPixels(), and MaskPixelCacheNexus().

MagickExport const PixelPacket* GetVirtualPixelsNexus ( const Cache  cache,
NexusInfo nexus_info 
)
static MagickBooleanType IsAuthenticPixelCache ( const CacheInfo *restrict  cache_info,
const NexusInfo *restrict  nexus_info 
)
inlinestatic

Definition at line 4664 of file cache.c.

References MagickFalse, MagickTrue, and PingCache.

Referenced by SetPixelCacheNexusPixels().

static void MagickPixelCompositeMask ( const MagickPixelPacket p,
const MagickRealType  alpha,
const MagickPixelPacket q,
const MagickRealType  beta,
MagickPixelPacket composite 
)
inlinestatic
static void PrefetchPixelCacheNexusPixels ( const NexusInfo nexus_info,
const MapMode  mode 
)
inlinestatic

Definition at line 4685 of file cache.c.

References magick_unreferenced, MagickCachePrefetch, _NexusInfo::pixels, and ReadMode.

Referenced by SetPixelCacheNexusPixels().

MagickExport PixelPacket* QueueAuthenticPixel ( 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 
)

Definition at line 3910 of file cache.c.

References QueueAuthenticPixelCacheNexus().

MagickExport PixelPacket* QueueAuthenticPixels ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static PixelPacket* QueueAuthenticPixelsCache ( Image image,
const ssize_t  x,
const ssize_t  y,
const size_t  columns,
const size_t  rows,
ExceptionInfo exception 
)
static
static ssize_t RandomX ( RandomInfo random_info,
const size_t  columns 
)
inlinestatic

Definition at line 2515 of file cache.c.

References GetPseudoRandomValue().

Referenced by GetVirtualPixelsFromNexus().

static ssize_t RandomY ( RandomInfo random_info,
const size_t  rows 
)
inlinestatic

Definition at line 2520 of file cache.c.

References GetPseudoRandomValue().

Referenced by GetVirtualPixelsFromNexus().

static MagickOffsetType ReadPixelCacheRegion ( const CacheInfo *restrict  cache_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
unsigned char *restrict  buffer 
)
inlinestatic

Definition at line 4138 of file cache.c.

References MagickMin.

Referenced by ReadPixelCacheIndexes(), and ReadPixelCachePixels().

MagickExport Cache ReferencePixelCache ( Cache  cache)

Definition at line 4498 of file cache.c.

References LockSemaphoreInfo(), MagickSignature, and UnlockSemaphoreInfo().

Referenced by CloneImage(), CloneImageInfo(), and PersistPixelCache().

static void RelinquishCacheNexusPixels ( NexusInfo nexus_info)
inlinestatic
static MagickBooleanType SyncAuthenticPixelsCache ( Image image,
ExceptionInfo exception 
)
static
static MagickBooleanType ValidatePixelCacheMorphology ( const Image *restrict  image)
inlinestatic

Definition at line 1441 of file cache.c.

References MagickFalse, and MagickTrue.

Referenced by GetImagePixelCache().

static MagickModulo VirtualPixelModulo ( const ssize_t  offset,
const size_t  extent 
)
inlinestatic

Definition at line 2532 of file cache.c.

References _MagickModulo::quotient, and _MagickModulo::remainder.

Referenced by GetVirtualPixelsFromNexus().

static MagickOffsetType WritePixelCacheRegion ( const CacheInfo *restrict  cache_info,
const MagickOffsetType  offset,
const MagickSizeType  length,
const unsigned char *restrict  buffer 
)
inlinestatic

Definition at line 3388 of file cache.c.

References MagickMin.

Referenced by SetPixelCacheExtent(), WritePixelCacheIndexes(), and WritePixelCachePixels().

Variable Documentation

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
}

Definition at line 2459 of file cache.c.

Referenced by DitherX(), and DitherY().