MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
compress.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 compression/decompression methods.
17 */
18 #ifndef MAGICKCORE_COMPRESS_H
19 #define MAGICKCORE_COMPRESS_H
20 
21 #if defined(__cplusplus) || defined(c_plusplus)
22 extern "C" {
23 #endif
24 
25 typedef enum
26 {
36  JPEG2000Compression, /* ISO/IEC std 15444-1 */
46  LZMACompression, /* Lempel-Ziv-Markov chain algorithm */
47  JBIG1Compression, /* ISO/IEC std 11544 / ITU-T rec T.82 */
48  JBIG2Compression, /* ISO/IEC std 14492 / ITU-T rec T.88 */
52 
53 typedef struct _Ascii85Info
55 
59  LZWEncodeImage(Image *,const size_t,unsigned char *magick_restrict),
60  PackbitsEncodeImage(Image *,const size_t,unsigned char *magick_restrict),
61  ZLIBEncodeImage(Image *,const size_t,unsigned char *magick_restrict);
62 
63 extern MagickExport void
64  Ascii85Encode(Image *,const unsigned char),
67 
68 #if defined(__cplusplus) || defined(c_plusplus)
69 }
70 #endif
71 
72 #endif
_Ascii85Info::buffer
unsigned char buffer[10]
Definition: compress.c:78
SetImageType
MagickExport MagickBooleanType SetImageType(Image *image, const ImageType type)
Definition: attribute.c:1262
HuffmanOutputCode
#define HuffmanOutputCode(entry)
MBTable
static const HuffmanTable MBTable[]
Definition: compress.c:101
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_Image::debug
MagickBooleanType debug
Definition: image.h:290
_Image::filename
char filename[MaxTextExtent]
Definition: image.h:278
GetPreviousImageInList
MagickExport Image * GetPreviousImageInList(const Image *images)
Definition: list.c:803
LZWClr
#define LZWClr
CloneImage
MagickExport Image * CloneImage(const Image *image, const size_t columns, const size_t rows, const MagickBooleanType detach, ExceptionInfo *exception)
Definition: image.c:788
BlobError
@ BlobError
Definition: exception.h:62
HuffmanDecodeImage
MagickExport MagickBooleanType HuffmanDecodeImage(Image *)
SetImageProgress
MagickExport MagickBooleanType SetImageProgress(const Image *image, const char *tag, const MagickOffsetType offset, const MagickSizeType extent)
Definition: monitor.c:136
JBIG1Compression
@ JBIG1Compression
Definition: compress.h:47
magick_unused
#define magick_unused(x)
Definition: method-attribute.h:105
compress.h
MissingDelegateError
@ MissingDelegateError
Definition: exception.h:59
HashSize
#define HashSize
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
DestroyCacheView
MagickExport CacheView * DestroyCacheView(CacheView *cache_view)
Definition: cache-view.c:256
LZWEod
#define LZWEod
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
MBHashB
#define MBHashB
Pxr24Compression
@ Pxr24Compression
Definition: compress.h:43
magick_restrict
#define magick_restrict
Definition: MagickCore.h:41
_Image::quality
size_t quality
Definition: image.h:164
FaxCompression
@ FaxCompression
Definition: compress.h:33
SetPixelRGBO
#define SetPixelRGBO(pixel, packet)
Definition: pixel-accessor.h:96
_Ascii85Info::line_break
ssize_t line_break
Definition: compress.c:75
image-private.h
monitor.h
MWHashB
#define MWHashB
_Image::columns
size_t columns
Definition: image.h:174
ResourceLimitWarning
@ ResourceLimitWarning
Definition: exception.h:32
LZMACompression
@ LZMACompression
Definition: compress.h:46
IndexPacket
Quantum IndexPacket
Definition: pixel.h:129
resource_.h
WriteBlob
MagickExport ssize_t WriteBlob(Image *, const size_t, const unsigned char *)
ZLIBEncodeImage
MagickExport MagickBooleanType ZLIBEncodeImage(Image *image, const size_t magick_unused(length), unsigned char *magick_unused(pixels))
Definition: compress.c:1297
PixelsPerInchResolution
@ PixelsPerInchResolution
Definition: image.h:93
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
HuffmanTable::code
size_t code
Definition: compress.c:85
_CacheView
Definition: cache-view.c:65
Ascii85Flush
MagickExport void Ascii85Flush(Image *image)
Definition: compress.c:282
OutputBit
#define OutputBit(count)
string_.h
ZLIBEncodeImage
MagickExport MagickBooleanType ZLIBEncodeImage(Image *, const size_t, unsigned char *magick_restrict)
_Ascii85Info::offset
ssize_t offset
Definition: compress.c:74
ThrowBinaryImageException
#define ThrowBinaryImageException(severity, tag, context)
Definition: exception-private.h:35
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
QueueCacheViewAuthenticPixels
MagickExport PixelPacket * QueueCacheViewAuthenticPixels(CacheView *cache_view, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache-view.c:883
blob.h
LZWEncodeImage
MagickExport MagickBooleanType LZWEncodeImage(Image *, const size_t, unsigned char *magick_restrict)
OutputCode
#define OutputCode(code)
HuffmanTable::length
size_t length
Definition: compress.c:86
SyncCacheViewAuthenticPixels
MagickExport MagickBooleanType SyncCacheViewAuthenticPixels(CacheView *magick_restrict cache_view, ExceptionInfo *exception)
Definition: cache-view.c:1000
Ascii85Tuple
static char * Ascii85Tuple(unsigned char *data)
Definition: compress.c:234
blob-private.h
CoderError
@ CoderError
Definition: exception.h:65
JBIG2Compression
@ JBIG2Compression
Definition: compress.h:48
B44ACompression
@ B44ACompression
Definition: compress.h:45
NoCompression
@ NoCompression
Definition: compress.h:28
WebPCompression
@ WebPCompression
Definition: compress.h:50
MWTable
static const HuffmanTable MWTable[]
Definition: compress.c:132
TraceEvent
@ TraceEvent
Definition: log.h:38
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
B44Compression
@ B44Compression
Definition: compress.h:44
_Image::colormap
PixelPacket * colormap
Definition: image.h:180
JPEG2000Compression
@ JPEG2000Compression
Definition: compress.h:36
HuffmanTable
Definition: compress.c:81
_BlobInfo
Definition: blob.c:114
HuffmanEncodeImage
MagickExport MagickBooleanType HuffmanEncodeImage(const ImageInfo *image_info, Image *image, Image *inject_image)
Definition: compress.c:681
TWTable
static const HuffmanTable TWTable[]
Definition: compress.c:178
_Image
Definition: image.h:152
LZWEncodeImage
MagickExport MagickBooleanType LZWEncodeImage(Image *image, const size_t length, unsigned char *magick_restrict pixels)
Definition: compress.c:927
EXId
#define EXId
Definition: compress.c:98
GetCacheViewAuthenticIndexQueue
MagickExport IndexPacket * GetCacheViewAuthenticIndexQueue(CacheView *cache_view)
Definition: cache-view.c:564
ZstdCompression
@ ZstdCompression
Definition: compress.h:49
_Image::blob
BlobInfo * blob
Definition: image.h:275
AcquireAuthenticCacheView
MagickExport CacheView * AcquireAuthenticCacheView(const Image *image, ExceptionInfo *exception)
Definition: cache-view.c:111
InputBit
#define InputBit(bit)
MagickMax
#define MagickMax(x, y)
Definition: image-private.h:29
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
attribute.h
_Image::y_resolution
double y_resolution
Definition: image.h:210
_Image::exception
ExceptionInfo exception
Definition: image.h:287
GetVirtualPixels
const MagickExport PixelPacket * GetVirtualPixels(const Image *image, const ssize_t x, const ssize_t y, const size_t columns, const size_t rows, ExceptionInfo *exception)
Definition: cache.c:3454
_Image::x_resolution
double x_resolution
Definition: image.h:209
_ImageInfo
Definition: image.h:361
BilevelType
@ BilevelType
Definition: image.h:52
LoadImageTag
const MagickExport char LoadImageTag[]
Definition: image-private.h:52
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
_ImageInfo::magick
char magick[MaxTextExtent]
Definition: image.h:470
Ascii85Initialize
MagickExport void Ascii85Initialize(Image *image)
Definition: compress.c:268
TWId
#define TWId
Definition: compress.c:94
HuffmanTable
struct HuffmanTable HuffmanTable
TBId
#define TBId
Definition: compress.c:96
HuffmanDecodeImage
MagickExport MagickBooleanType HuffmanDecodeImage(Image *image)
Definition: compress.c:368
color-private.h
MaxLineExtent
#define MaxLineExtent
Definition: compress.c:232
JPEGCompression
@ JPEGCompression
Definition: compress.h:35
QuantumRange
#define QuantumRange
Definition: magick-type.h:86
_Ascii85Info
Definition: compress.c:71
PackbitsEncodeImage
MagickExport MagickBooleanType PackbitsEncodeImage(Image *, const size_t, unsigned char *magick_restrict)
_Image::rows
size_t rows
Definition: image.h:175
WriteBlobByte
MagickExport ssize_t WriteBlobByte(Image *, const unsigned char)
cache.h
constitute.h
_Image::signature
size_t signature
Definition: image.h:307
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:191
LosslessJPEGCompression
@ LosslessJPEGCompression
Definition: compress.h:37
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
HuffmanTable::id
size_t id
Definition: compress.c:84
ZipCompression
@ ZipCompression
Definition: compress.h:40
UndefinedCompressionQuality
#define UndefinedCompressionQuality
Definition: image-private.h:42
_ExceptionInfo
Definition: exception.h:102
_ImageInfo::signature
size_t signature
Definition: image.h:489
UndefinedCompression
@ UndefinedCompression
Definition: compress.h:27
Ascii85Initialize
MagickExport void Ascii85Initialize(Image *)
Definition: compress.c:268
SetPixelIndex
#define SetPixelIndex(indexes, value)
Definition: pixel-accessor.h:78
studio.h
HuffmanTable::count
size_t count
Definition: compress.c:87
PizCompression
@ PizCompression
Definition: compress.h:42
PackbitsEncodeImage
MagickExport MagickBooleanType PackbitsEncodeImage(Image *image, const size_t length, unsigned char *magick_restrict pixels)
Definition: compress.c:1091
Ascii85Encode
MagickExport void Ascii85Encode(Image *image, const unsigned char code)
Definition: compress.c:306
MagickRealType
MagickDoubleType MagickRealType
Definition: magick-type.h:125
monitor-private.h
DXT1Compression
@ DXT1Compression
Definition: compress.h:30
DestroyImage
MagickExport Image * DestroyImage(Image *image)
Definition: image.c:1188
EXTable
static const HuffmanTable EXTable[]
Definition: compress.c:120
ZipSCompression
@ ZipSCompression
Definition: compress.h:41
memory_.h
_Image::ascii85
Ascii85Info * ascii85
Definition: image.h:272
LZWCompression
@ LZWCompression
Definition: compress.h:38
pixel-accessor.h
exception-private.h
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
exception.h
GetPixelIntensity
MagickExport MagickRealType GetPixelIntensity(const Image *image, const PixelPacket *magick_restrict pixel)
Definition: pixel.c:2301
option.h
CompressionType
CompressionType
Definition: compress.h:25
_Image::compression
CompressionType compression
Definition: image.h:161
list.h
MWHashA
#define MWHashA
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1399
InitializeHashTable
#define InitializeHashTable(hash, table, a, b)
TBTable
static const HuffmanTable TBTable[]
Definition: compress.c:151
_Image::units
ResolutionType units
Definition: image.h:198
MBHashA
#define MBHashA
DXT3Compression
@ DXT3Compression
Definition: compress.h:31
Ascii85Flush
MagickExport void Ascii85Flush(Image *)
Group4Compression
@ Group4Compression
Definition: compress.h:34
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
MagickMin
#define MagickMin(x, y)
Definition: image-private.h:30
DXT5Compression
@ DXT5Compression
Definition: compress.h:32
MWId
#define MWId
Definition: compress.c:95
HuffmanEncodeImage
MagickExport MagickBooleanType HuffmanEncodeImage(const ImageInfo *, Image *, Image *)
_PixelPacket
Definition: pixel.h:131
ThrowBinaryException
#define ThrowBinaryException(severity, tag, context)
Definition: exception-private.h:29
RLECompression
@ RLECompression
Definition: compress.h:39
AcquireQuantumMemory
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
BZipCompression
@ BZipCompression
Definition: compress.h:29
Ascii85Encode
MagickExport void Ascii85Encode(Image *, const unsigned char)
MBId
#define MBId
Definition: compress.c:97