MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
stream.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2019 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.
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 image stream methods.
17 */
18 #ifndef MAGICKCORE_STREAM_H
19 #define MAGICKCORE_STREAM_H
20 
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24 
25 typedef size_t
26  (*StreamHandler)(const Image *,const void *,const size_t);
27 
28 extern MagickExport Image
30 
33 
34 #if defined(__cplusplus) || defined(c_plusplus)
35 }
36 #endif
37 
38 #endif
_Image::colorspace
ColorspaceType colorspace
Definition: image.h:158
_StreamInfo::image
const Image * image
Definition: stream.c:74
CloneString
MagickExport char * CloneString(char **destination, const char *source)
Definition: string.c:284
QuantumScale
#define QuantumScale
Definition: magick-type.h:120
LockSemaphoreInfo
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:345
DestroyQuantumInfo
MagickExport QuantumInfo * DestroyQuantumInfo(QuantumInfo *quantum_info)
Definition: quantum.c:214
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_Image::debug
MagickBooleanType debug
Definition: image.h:290
policy.h
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
_Image::background_color
PixelPacket background_color
Definition: image.h:181
_RectangleInfo::x
ssize_t x
Definition: geometry.h:129
_StreamInfo::y
ssize_t y
Definition: stream.c:95
QuantumPixel
@ QuantumPixel
Definition: constitute.h:33
GetPixelCacheStorageClass
MagickExport ClassType GetPixelCacheStorageClass(const Cache)
Definition: cache.c:2613
RelinquishAlignedMemory
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1040
RelinquishStreamPixels
static void RelinquishStreamPixels(CacheInfo *cache_info)
Definition: stream.c:201
magick_unused
#define magick_unused(x)
Definition: method-attribute.h:105
_StreamInfo::pixels
unsigned char * pixels
Definition: stream.c:89
GetOneVirtualPixelFromStream
static MagickBooleanType GetOneVirtualPixelFromStream(const Image *image, const VirtualPixelMethod virtual_pixel_method, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
Definition: stream.c:493
GetAuthenticPixelQueue
MagickExport PixelPacket * GetAuthenticPixelQueue(const Image *image)
Definition: cache.c:1548
_CacheInfo::length
MagickSizeType length
Definition: cache-private.h:179
MissingDelegateError
@ MissingDelegateError
Definition: exception.h:59
QueueAuthenticPixelsStream
static PixelPacket * QueueAuthenticPixelsStream(Image *, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
Definition: stream.c:849
magick_unreferenced
#define magick_unreferenced(x)
Definition: method-attribute.h:106
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
VirtualPixelMethod
VirtualPixelMethod
Definition: cache-view.h:28
StreamImagePixels
static MagickBooleanType StreamImagePixels(const StreamInfo *, const Image *, ExceptionInfo *)
Definition: stream.c:1300
RedQuantum
@ RedQuantum
Definition: quantum.h:69
_CacheMethods::get_authentic_indexes_from_handler
GetAuthenticIndexesFromHandler get_authentic_indexes_from_handler
Definition: cache-private.h:86
_CacheInfo::pixels
PixelPacket * pixels
Definition: cache-private.h:194
_StreamInfo::quantum_info
QuantumInfo * quantum_info
Definition: stream.c:80
AcquireStreamInfo
MagickExport StreamInfo * AcquireStreamInfo(const ImageInfo *image_info)
Definition: stream.c:158
geometry.h
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
_CacheInfo::rows
size_t rows
Definition: cache-private.h:173
GetPixelCacheMethods
MagickExport void GetPixelCacheMethods(CacheMethods *)
CloseBlob
MagickExport MagickBooleanType CloseBlob(Image *)
_StreamInfo
Definition: stream.c:69
_RectangleInfo::height
size_t height
Definition: geometry.h:126
_NexusInfo
Definition: cache-private.h:105
stream-private.h
_StreamInfo::extract_info
RectangleInfo extract_info
Definition: stream.c:92
GetAuthenticIndexesFromStream
static IndexPacket * GetAuthenticIndexesFromStream(const Image *image)
Definition: stream.c:315
memory-private.h
_CacheMethods::get_virtual_pixels_handler
GetVirtualPixelsHandler get_virtual_pixels_handler
Definition: cache-private.h:74
_RectangleInfo
Definition: geometry.h:123
_CacheInfo::storage_class
ClassType storage_class
Definition: cache-private.h:153
_CacheInfo::indexes
IndexPacket * indexes
Definition: cache-private.h:197
_StreamInfo::map
char * map
Definition: stream.c:83
_ImageInfo::client_data
void * client_data
Definition: image.h:454
_CacheMethods::get_authentic_pixels_from_handler
GetAuthenticPixelsFromHandler get_authentic_pixels_from_handler
Definition: cache-private.h:92
quantum-private.h
_CacheInfo::mapped
MagickBooleanType mapped
Definition: cache-private.h:169
AcquireStreamPixels
static MagickBooleanType AcquireStreamPixels(CacheInfo *cache_info, ExceptionInfo *exception)
Definition: stream.c:652
UnmapBlob
MagickExport MagickBooleanType UnmapBlob(void *, const size_t)
Definition: blob.c:4682
_Image::columns
size_t columns
Definition: image.h:174
SetStreamInfoClientData
MagickExport void SetStreamInfoClientData(StreamInfo *stream_info, const void *client_data)
Definition: stream.c:1039
OpenBlob
MagickExport MagickBooleanType OpenBlob(const ImageInfo *, Image *, const BlobMode, ExceptionInfo *)
AlphaQuantum
@ AlphaQuantum
Definition: quantum.h:56
MagickSizeType
size_t MagickSizeType
Definition: magick-type.h:136
LongPixel
@ LongPixel
Definition: constitute.h:32
AcquirePixelCache
MagickExport Cache AcquirePixelCache(const size_t)
_CacheInfo::nexus_info
NexusInfo ** nexus_info
Definition: cache-private.h:191
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
WriteBlob
MagickExport ssize_t WriteBlob(Image *, const size_t, const unsigned char *)
GetPixelRed
#define GetPixelRed(pixel)
Definition: pixel-accessor.h:50
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
_CacheMethods::destroy_pixel_handler
DestroyPixelHandler destroy_pixel_handler
Definition: cache-private.h:101
pixel.h
_CacheInfo::active_index_channel
MagickBooleanType active_index_channel
Definition: cache-private.h:200
_ImageInfo::cache
void * cache
Definition: image.h:455
GreenQuantum
@ GreenQuantum
Definition: quantum.h:64
DestroyPixelCacheNexus
MagickExport NexusInfo ** DestroyPixelCacheNexus(NexusInfo **, const size_t)
Definition: cache.c:1242
string_.h
YellowQuantum
@ YellowQuantum
Definition: quantum.h:74
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:820
quantum.h
WriteStream
MagickExport MagickBooleanType WriteStream(const ImageInfo *, Image *, StreamHandler)
Definition: stream.c:2751
SetStreamInfoStorageType
MagickExport void SetStreamInfoStorageType(StreamInfo *stream_info, const StorageType storage_type)
Definition: stream.c:1103
GetVirtualPixelsStream
static const PixelPacket * GetVirtualPixelsStream(const Image *image)
Definition: stream.c:565
_CacheInfo::reference_count
ssize_t reference_count
Definition: cache-private.h:229
OpenStream
MagickExport MagickBooleanType OpenStream(const ImageInfo *image_info, StreamInfo *stream_info, const char *filename, ExceptionInfo *exception)
Definition: stream.c:807
_Image::client_data
void * client_data
Definition: image.h:267
UndefinedQuantum
@ UndefinedQuantum
Definition: quantum.h:55
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
blob.h
FloatPixel
@ FloatPixel
Definition: constitute.h:30
semaphore.h
_RectangleInfo::y
ssize_t y
Definition: geometry.h:130
_CacheMethods::get_one_authentic_pixel_from_handler
GetOneAuthenticPixelFromHandler get_one_authentic_pixel_from_handler
Definition: cache-private.h:89
_CacheInfo::semaphore
SemaphoreInfo * semaphore
Definition: cache-private.h:232
_CacheInfo::filename
char filename[MaxTextExtent]
Definition: cache-private.h:206
WriteBinaryBlobMode
@ WriteBinaryBlobMode
Definition: blob-private.h:41
GetPixelAlpha
#define GetPixelAlpha(pixel)
Definition: pixel-accessor.h:36
IOMode
@ IOMode
Definition: blob.h:34
GetPixelIndex
#define GetPixelIndex(indexes)
Definition: pixel-accessor.h:44
GetVirtualIndexesFromStream
static const IndexPacket * GetVirtualIndexesFromStream(const Image *image)
Definition: stream.c:602
CopyMagickString
MagickExport size_t CopyMagickString(char *destination, const char *source, const size_t length)
Definition: string.c:752
blob-private.h
ParseAbsoluteGeometry
MagickExport MagickStatusType ParseAbsoluteGeometry(const char *geometry, RectangleInfo *region_info)
Definition: geometry.c:707
ClampToQuantum
static Quantum ClampToQuantum(const MagickRealType quantum)
Definition: quantum.h:88
AcquireImage
MagickExport Image * AcquireImage(const ImageInfo *image_info)
Definition: image.c:152
_QuantumInfo
Definition: quantum-private.h:46
TraceEvent
@ TraceEvent
Definition: log.h:38
GetOneAuthenticPixelFromStream
static MagickBooleanType GetOneAuthenticPixelFromStream(Image *image, const ssize_t x, const ssize_t y, PixelPacket *pixel, ExceptionInfo *exception)
Definition: stream.c:444
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
cache-private.h
CloneImageInfo
MagickExport ImageInfo * CloneImageInfo(const ImageInfo *image_info)
Definition: image.c:944
SemaphoreInfo
Definition: semaphore.c:60
GetPixelCacheColorspace
MagickExport ColorspaceType GetPixelCacheColorspace(const Cache)
Definition: cache.c:2408
_Image
Definition: image.h:153
CyanQuantum
@ CyanQuantum
Definition: quantum.h:61
_CacheInfo::number_threads
size_t number_threads
Definition: cache-private.h:188
GetStreamInfoClientData
MagickExport const void * GetStreamInfoClientData(StreamInfo *stream_info)
Definition: stream.c:532
ImageError
@ ImageError
Definition: exception.h:69
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
_CacheMethods::get_one_virtual_pixel_from_handler
GetOneVirtualPixelFromHandler get_one_virtual_pixel_from_handler
Definition: cache-private.h:80
SetPixelCacheMethods
MagickExport void SetPixelCacheMethods(Cache, CacheMethods *)
Definition: cache.c:4996
MagickAssumeAligned
#define MagickAssumeAligned(address)
Definition: memory-private.h:43
OptionError
@ OptionError
Definition: exception.h:57
stream.h
MagentaQuantum
@ MagentaQuantum
Definition: quantum.h:67
_CacheMethods
Definition: cache-private.h:69
_ImageInfo
Definition: image.h:362
_Image::cache
void * cache
Definition: image.h:268
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
_ImageInfo::magick
char magick[MaxTextExtent]
Definition: image.h:470
GetPixelBlue
#define GetPixelBlue(pixel)
Definition: pixel-accessor.h:38
BlueQuantum
@ BlueQuantum
Definition: quantum.h:58
ReadStream
MagickExport Image * ReadStream(const ImageInfo *image_info, StreamHandler stream, ExceptionInfo *exception)
Definition: stream.c:969
_ImageInfo::filename
char filename[MaxTextExtent]
Definition: image.h:473
GetPixelOpacity
#define GetPixelOpacity(pixel)
Definition: pixel-accessor.h:49
GetImageExtent
MagickExport MagickSizeType GetImageExtent(const Image *image)
Definition: cache.c:1714
_StreamInfo::stream
Image * stream
Definition: stream.c:77
_CacheMethods::get_authentic_pixels_handler
GetAuthenticPixelsHandler get_authentic_pixels_handler
Definition: cache-private.h:83
cache_anonymous_memory
static ssize_t cache_anonymous_memory
Definition: stream.c:134
AcquireAlignedMemory
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:243
ShortPixel
@ ShortPixel
Definition: constitute.h:34
GetBlobStreamHandler
MagickExport StreamHandler GetBlobStreamHandler(const Image *image)
Definition: blob.c:1614
_StreamInfo::client_data
const void * client_data
Definition: stream.c:101
WriteImage
MagickExport MagickBooleanType WriteImage(const ImageInfo *image_info, Image *image)
Definition: constitute.c:1038
WriteStreamImage
static size_t WriteStreamImage(const Image *image, const void *pixels, const size_t columns)
Definition: stream.c:1144
color-private.h
DestroyImageInfo
MagickExport ImageInfo * DestroyImageInfo(ImageInfo *image_info)
Definition: image.c:1260
_ImageInfo::extract
char * extract
Definition: image.h:377
_StreamInfo::storage_type
StorageType storage_type
Definition: stream.c:86
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
CMYKColorspace
@ CMYKColorspace
Definition: colorspace.h:39
GetVirtualIndexQueue
MagickExport const IndexPacket * GetVirtualIndexQueue(const Image *image)
Definition: cache.c:2809
_Image::rows
size_t rows
Definition: image.h:175
cache.h
DestroySemaphoreInfo
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:293
_CacheMethods::get_virtual_pixel_handler
GetVirtualPixelHandler get_virtual_pixel_handler
Definition: cache-private.h:71
_ImageInfo::debug
MagickBooleanType debug
Definition: image.h:476
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
QuantumType
QuantumType
Definition: quantum.h:54
ConstantString
MagickExport char * ConstantString(const char *source)
Definition: string.c:697
constitute.h
UndefinedClass
@ UndefinedClass
Definition: magick-type.h:186
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:192
composite-private.h
_StreamInfo::image_info
const ImageInfo * image_info
Definition: stream.c:71
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
IntegerPixel
@ IntegerPixel
Definition: constitute.h:31
_ExceptionInfo
Definition: exception.h:103
_ImageInfo::signature
size_t signature
Definition: image.h:489
StreamImage
MagickExport Image * StreamImage(const ImageInfo *image_info, StreamInfo *stream_info, ExceptionInfo *exception)
Definition: stream.c:1235
_StreamInfo::signature
size_t signature
Definition: stream.c:104
_RectangleInfo::width
size_t width
Definition: geometry.h:125
studio.h
_Image::storage_class
ClassType storage_class
Definition: image.h:155
CharPixel
@ CharPixel
Definition: constitute.h:28
GetVirtualPixelStream
static const PixelPacket * GetVirtualPixelStream(const Image *, const VirtualPixelMethod, const ssize_t, const ssize_t, const size_t, const size_t, ExceptionInfo *)
_CacheInfo::signature
size_t signature
Definition: cache-private.h:239
PseudoClass
@ PseudoClass
Definition: magick-type.h:188
_ImageInfo::stream
StreamHandler stream
Definition: image.h:458
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1187
WriteStream
MagickExport MagickBooleanType WriteStream(const ImageInfo *image_info, Image *image, StreamHandler stream)
Definition: stream.c:2751
_CacheMethods::queue_authentic_pixels_handler
QueueAuthenticPixelsHandler queue_authentic_pixels_handler
Definition: cache-private.h:95
StorageType
StorageType
Definition: constitute.h:26
SetImageInfo
MagickExport MagickBooleanType SetImageInfo(ImageInfo *image_info, const unsigned int frames, ExceptionInfo *exception)
Definition: image.c:2756
BlackQuantum
@ BlackQuantum
Definition: quantum.h:57
memory_.h
AcquireQuantumInfo
MagickExport QuantumInfo * AcquireQuantumInfo(const ImageInfo *image_info, Image *image)
Definition: quantum.c:109
_CacheInfo
Definition: cache-private.h:151
_CacheInfo::file_semaphore
SemaphoreInfo * file_semaphore
Definition: cache-private.h:233
exception-private.h
DestroyStreamInfo
MagickExport StreamInfo * DestroyStreamInfo(StreamInfo *stream_info)
Definition: stream.c:270
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1068
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
UnlockSemaphoreInfo
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:450
exception.h
GetPixelIntensity
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2301
_CacheMethods::get_virtual_indexes_from_handler
GetVirtualIndexesFromHandler get_virtual_indexes_from_handler
Definition: cache-private.h:77
_CacheMethods::sync_authentic_pixels_handler
SyncAuthenticPixelsHandler sync_authentic_pixels_handler
Definition: cache-private.h:98
GetPixelGreen
#define GetPixelGreen(pixel)
Definition: pixel-accessor.h:43
_CacheInfo::columns
size_t columns
Definition: cache-private.h:172
GetPolicyValue
MagickExport char * GetPolicyValue(const char *name)
Definition: policy.c:500
ReadImage
MagickExport Image * ReadImage(const ImageInfo *image_info, ExceptionInfo *exception)
Definition: constitute.c:415
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1399
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
StreamHandler
size_t(* StreamHandler)(const Image *, const void *, const size_t)
Definition: stream.h:26
GetAuthenticPixelsFromStream
static PixelPacket * GetAuthenticPixelsFromStream(const Image *image)
Definition: stream.c:399
_QuantumInfo::minimum
double minimum
Definition: quantum-private.h:55
GetAuthenticPixelsStream
static PixelPacket * GetAuthenticPixelsStream(Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: stream.c:361
_QuantumInfo::scale
double scale
Definition: quantum-private.h:57
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
IndexQuantum
@ IndexQuantum
Definition: quantum.h:66
_StreamInfo::exception
ExceptionInfo * exception
Definition: stream.c:98
ReadStream
MagickExport Image * ReadStream(const ImageInfo *, StreamHandler, ExceptionInfo *)
Definition: stream.c:969
DoublePixel
@ DoublePixel
Definition: constitute.h:29
DestroyPixelStream
static void DestroyPixelStream(Image *image)
Definition: stream.c:214
OpacityQuantum
@ OpacityQuantum
Definition: quantum.h:68
_PixelPacket
Definition: pixel.h:132
_CacheInfo::colorspace
ColorspaceType colorspace
Definition: cache-private.h:156
MapBlob
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2346
SyncAuthenticPixelsStream
static MagickBooleanType SyncAuthenticPixelsStream(Image *, ExceptionInfo *)
Definition: stream.c:2696
StreamError
@ StreamError
Definition: exception.h:63
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
Quantum
unsigned short Quantum
Definition: magick-type.h:85
SetStreamInfoMap
MagickExport void SetStreamInfoMap(StreamInfo *stream_info, const char *map)
Definition: stream.c:1071