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