MagickCore 6.9.11-60
Convert, Edit, Or Compose Bitmap Images
cache-private.h
Go to the documentation of this file.
1/*
2 Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore cache private methods.
17*/
18#ifndef MAGICKCORE_CACHE_PRIVATE_H
19#define MAGICKCORE_CACHE_PRIVATE_H
20
21#include <time.h>
22#include "magick/cache.h"
25#include "magick/random_.h"
27#include "magick/semaphore.h"
28
29#if defined(__cplusplus) || defined(c_plusplus)
30extern "C" {
31#endif
32
33typedef void
35
36typedef const IndexPacket
37 *(*GetVirtualIndexesFromHandler)(const Image *);
38
40 *(*GetAuthenticIndexesFromHandler)(const Image *);
41
43 (*GetOneAuthenticPixelFromHandler)(Image *,const ssize_t,const ssize_t,
46 const ssize_t,const ssize_t,PixelPacket *,ExceptionInfo *),
48
49typedef const PixelPacket
50 *(*GetVirtualPixelHandler)(const Image *,const VirtualPixelMethod,
51 const ssize_t,const ssize_t,const size_t,const size_t,ExceptionInfo *),
52 *(*GetVirtualPixelsHandler)(const Image *);
53
55 *(*GetAuthenticPixelsHandler)(Image *,const ssize_t,const ssize_t,
56 const size_t,const size_t,ExceptionInfo *);
57
59 *(*GetAuthenticPixelsFromHandler)(const Image *);
60
62 *(*QueueAuthenticPixelsHandler)(Image *,const ssize_t,const ssize_t,
63 const size_t,const size_t,ExceptionInfo *);
64
65typedef void
67
68typedef struct _CacheMethods
69{
72
75
78
81
84
87
90
93
96
99
103
104typedef struct _NexusInfo
105{
108
111
114
118
121
124
125 size_t
127
128 struct _NexusInfo
131
132typedef struct _OpenCLCacheInfo
133{
136
137 cl_mem
139
140 cl_uint
142
145
148
152
153typedef struct _CacheInfo
154{
157
160
161 size_t
163
166
167 MapMode
170
173
174 size_t
177
180
183
186
189
190 size_t
192
195
198
201
204
205 int
207
208 char
211
214
217
218 size_t
220
221 void
223
227
230
231 ssize_t
233
237
238 time_t
240
241 size_t
243
246
251
252extern MagickExport Cache
253 AcquirePixelCache(const size_t),
257
259 GetPixelCacheType(const Image *);
260
263
266
267extern MagickExport const IndexPacket
269
270extern MagickExport const PixelPacket
272 const ssize_t,const ssize_t,const size_t,const size_t,NexusInfo *,
275
279
282
284 **AcquirePixelCacheNexus(const size_t),
285 **DestroyPixelCacheNexus(NexusInfo **,const size_t);
286
288 *GetAuthenticPixelCacheNexus(Image *,const ssize_t,const ssize_t,
289 const size_t,const size_t,NexusInfo *,ExceptionInfo *) magick_hot_spot,
290 *QueueAuthenticPixel(Image *,const ssize_t,const ssize_t,const size_t,
291 const size_t,const MagickBooleanType,NexusInfo *,ExceptionInfo *),
292 *QueueAuthenticPixelCacheNexus(Image *,const ssize_t,const ssize_t,
293 const size_t,const size_t,const MagickBooleanType,NexusInfo *,
295
296extern MagickExport size_t
298
299extern MagickExport void
301 GetPixelCacheTileSize(const Image *,size_t *,size_t *),
304
305extern MagickPrivate void
307
310
311#if defined(MAGICKCORE_OPENCL_SUPPORT)
313 *GetOpenCLEvents(const Image *,cl_uint *);
314
316 GetAuthenticOpenCLBuffer(const Image *,ExceptionInfo *);
317
318extern MagickPrivate void
319 AddOpenCLEvent(const Image *,cl_event),
320 SyncAuthenticOpenCLBuffer(const Image *);
321#endif
322
323#if defined(__cplusplus) || defined(c_plusplus)
324}
325#endif
326
327#endif
#define magick_restrict
Definition: MagickCore.h:41
MapMode
Definition: blob.h:32
MagickBooleanType(* GetOneAuthenticPixelFromHandler)(Image *, const ssize_t, const ssize_t, PixelPacket *, ExceptionInfo *)
Definition: cache-private.h:43
MagickExport PixelPacket * QueueAuthenticPixel(Image *, const ssize_t, const ssize_t, const size_t, const size_t, const MagickBooleanType, NexusInfo *, ExceptionInfo *)
struct _NexusInfo NexusInfo
MagickBooleanType(*)(*)(* SyncAuthenticPixelsHandler)(Image *, ExceptionInfo *)
Definition: cache-private.h:47
MagickExport NexusInfo ** DestroyPixelCacheNexus(NexusInfo **, const size_t)
Definition: cache.c:1251
MagickExport PixelPacket * QueueAuthenticPixelCacheNexus(Image *, const ssize_t, const ssize_t, const size_t, const size_t, const MagickBooleanType, NexusInfo *, ExceptionInfo *) magick_hot_spot
Definition: cache.c:4361
MagickExport size_t GetPixelCacheChannels(const Cache)
Definition: cache.c:2382
MagickExport const PixelPacket * GetVirtualPixelCacheNexus(const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, const size_t, const size_t, NexusInfo *, ExceptionInfo *) magick_hot_spot
PixelPacket *(* QueueAuthenticPixelsHandler)(Image *, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
Definition: cache-private.h:62
MagickExport void GetPixelCacheTileSize(const Image *, size_t *, size_t *)
MagickExport Cache AcquirePixelCache(const size_t)
MagickExport const PixelPacket * GetVirtualPixelsNexus(const Cache, NexusInfo *)
Definition: cache.c:3538
PixelPacket *(* GetAuthenticPixelsFromHandler)(const Image *)
Definition: cache-private.h:59
MagickExport Cache DestroyPixelCache(Cache)
MagickExport Cache ClonePixelCache(const Cache)
struct _CacheInfo CacheInfo
MagickExport void SetPixelCacheMethods(Cache, CacheMethods *)
Definition: cache.c:5002
MagickExport MagickSizeType GetPixelCacheNexusExtent(const Cache, NexusInfo *)
Definition: cache.c:2533
MagickExport ClassType GetPixelCacheStorageClass(const Cache)
Definition: cache.c:2623
MagickExport Cache ReferencePixelCache(Cache)
Definition: cache.c:4941
MagickPrivate void ResetPixelCacheEpoch(void)
Definition: cache.c:4973
MagickExport NexusInfo ** AcquirePixelCacheNexus(const size_t)
struct _OpenCLCacheInfo OpenCLCacheInfo
MagickBooleanType(*)(* GetOneVirtualPixelFromHandler)(const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, PixelPacket *, ExceptionInfo *)
Definition: cache-private.h:45
void(* DestroyPixelHandler)(Image *)
Definition: cache-private.h:66
const PixelPacket *(* GetVirtualPixelHandler)(const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
Definition: cache-private.h:50
MagickExport CacheType GetPixelCacheType(const Image *)
Definition: cache.c:1972
void * Cache
Definition: cache-private.h:34
PixelPacket *(* GetAuthenticPixelsHandler)(Image *, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
Definition: cache-private.h:55
MagickExport ColorspaceType GetPixelCacheColorspace(const Cache)
Definition: cache.c:2418
MagickExport const IndexPacket * GetVirtualIndexesFromNexus(const Cache, NexusInfo *)
Definition: cache.c:2780
MagickPrivate MagickBooleanType SyncImagePixelCache(Image *, ExceptionInfo *)
Definition: cache.c:5681
struct _CacheMethods CacheMethods
const IndexPacket *(* GetVirtualIndexesFromHandler)(const Image *)
Definition: cache-private.h:37
MagickExport void GetPixelCacheMethods(CacheMethods *)
const PixelPacket *(*) *(* GetVirtualPixelsHandler)(const Image *)
Definition: cache-private.h:52
IndexPacket *(* GetAuthenticIndexesFromHandler)(const Image *)
Definition: cache-private.h:40
MagickExport MagickBooleanType SyncAuthenticPixelCacheNexus(Image *, NexusInfo *magick_restrict, ExceptionInfo *) magick_hot_spot
MagickExport void ClonePixelCacheMethods(Cache, const Cache)
MagickExport PixelPacket * GetAuthenticPixelCacheNexus(Image *, const ssize_t, const ssize_t, const size_t, const size_t, NexusInfo *, ExceptionInfo *) magick_hot_spot
VirtualPixelMethod
Definition: cache-view.h:28
CacheType
Definition: cache.h:28
ColorspaceType
Definition: colorspace.h:26
ssize_t MagickOffsetType
Definition: magick-type.h:139
ClassType
Definition: magick-type.h:196
size_t MagickSizeType
Definition: magick-type.h:140
MagickBooleanType
Definition: magick-type.h:203
#define MagickPrivate
Definition: method-attribute.h:81
#define MagickExport
Definition: method-attribute.h:80
#define MaxTextExtent
Definition: method-attribute.h:89
#define magick_hot_spot
Definition: method-attribute.h:122
void * cl_mem
Definition: opencl-private.h:33
void * cl_uint
Definition: opencl-private.h:34
void * cl_event
Definition: opencl-private.h:32
Quantum IndexPacket
Definition: pixel.h:129
Definition: semaphore.c:61
Definition: cache-private.h:154
MagickPixelPacket virtual_pixel_color
Definition: cache-private.h:188
time_t timestamp
Definition: cache-private.h:239
size_t channels
Definition: cache-private.h:162
ssize_t reference_count
Definition: cache-private.h:232
MagickSizeType height_limit
Definition: cache-private.h:249
size_t rows
Definition: cache-private.h:176
ColorspaceType colorspace
Definition: cache-private.h:159
PixelPacket * pixels
Definition: cache-private.h:197
MagickSizeType length
Definition: cache-private.h:182
CacheMethods methods
Definition: cache-private.h:213
MagickThreadType id
Definition: cache-private.h:229
IndexPacket * indexes
Definition: cache-private.h:200
SemaphoreInfo * file_semaphore
Definition: cache-private.h:236
SemaphoreInfo * semaphore
Definition: cache-private.h:235
size_t signature
Definition: cache-private.h:242
size_t columns
Definition: cache-private.h:175
RandomInfo * random_info
Definition: cache-private.h:216
char cache_filename[MaxTextExtent]
Definition: cache-private.h:210
MagickSizeType width_limit
Definition: cache-private.h:248
OpenCLCacheInfo * opencl
Definition: cache-private.h:245
void * server_info
Definition: cache-private.h:222
ClassType storage_class
Definition: cache-private.h:156
MapMode disk_mode
Definition: cache-private.h:169
MagickBooleanType mapped
Definition: cache-private.h:172
MagickBooleanType active_index_channel
Definition: cache-private.h:203
MagickOffsetType offset
Definition: cache-private.h:179
char filename[MaxTextExtent]
Definition: cache-private.h:209
size_t number_threads
Definition: cache-private.h:191
NexusInfo ** nexus_info
Definition: cache-private.h:194
VirtualPixelMethod virtual_pixel_method
Definition: cache-private.h:185
size_t number_connections
Definition: cache-private.h:219
CacheType type
Definition: cache-private.h:165
MagickBooleanType synchronize
Definition: cache-private.h:225
int file
Definition: cache-private.h:206
MagickBooleanType debug
Definition: cache-private.h:226
MapMode mode
Definition: cache-private.h:168
Definition: cache-private.h:69
GetOneAuthenticPixelFromHandler get_one_authentic_pixel_from_handler
Definition: cache-private.h:89
GetAuthenticIndexesFromHandler get_authentic_indexes_from_handler
Definition: cache-private.h:86
GetAuthenticPixelsFromHandler get_authentic_pixels_from_handler
Definition: cache-private.h:92
GetOneVirtualPixelFromHandler get_one_virtual_pixel_from_handler
Definition: cache-private.h:80
GetVirtualIndexesFromHandler get_virtual_indexes_from_handler
Definition: cache-private.h:77
GetVirtualPixelHandler get_virtual_pixel_handler
Definition: cache-private.h:71
SyncAuthenticPixelsHandler sync_authentic_pixels_handler
Definition: cache-private.h:98
GetVirtualPixelsHandler get_virtual_pixels_handler
Definition: cache-private.h:74
QueueAuthenticPixelsHandler queue_authentic_pixels_handler
Definition: cache-private.h:95
DestroyPixelHandler destroy_pixel_handler
Definition: cache-private.h:101
GetAuthenticPixelsHandler get_authentic_pixels_handler
Definition: cache-private.h:83
Definition: exception.h:103
Definition: image.h:153
Definition: pixel.h:105
Definition: cache-private.h:105
MagickBooleanType mapped
Definition: cache-private.h:107
RectangleInfo region
Definition: cache-private.h:110
PixelPacket * pixels
Definition: cache-private.h:117
PixelPacket * cache
Definition: cache-private.h:116
MagickBooleanType authentic_pixel_cache
Definition: cache-private.h:120
struct _NexusInfo * virtual_nexus
Definition: cache-private.h:128
IndexPacket * indexes
Definition: cache-private.h:123
size_t signature
Definition: cache-private.h:126
MagickSizeType length
Definition: cache-private.h:113
Definition: cache-private.h:133
MagickSizeType length
Definition: cache-private.h:144
SemaphoreInfo * events_semaphore
Definition: cache-private.h:150
PixelPacket * pixels
Definition: cache-private.h:147
cl_mem buffer
Definition: cache-private.h:138
cl_uint event_count
Definition: cache-private.h:141
cl_event * events
Definition: cache-private.h:135
Definition: pixel.h:132
Definition: random.c:78
Definition: geometry.h:124
pid_t MagickThreadType
Definition: thread_.h:34