This chapter describes the Intel® IPP functions for data compression that support a number of different compression methods: Huffman and variable-length coding, dictionary-based coding methods (including support of ZLIB compression), and methods based on Burrows-Wheeler Transform.
These functions are grouped into the following sections:
VLC and Huffman Coding Functions
Dictionary-Based Compression Functions
BWT-Based Compression Functions
The full lists of this functions with the brief description of operations that these functions perform are given in the tables below. The functions are described in more detail later in the corresponding sections.
Function Short Name | Description |
---|---|
VLC Functions | |
VLCEncodeInitAlloc | Allocates memory and initializes the VLC encoder structure. |
VLCEncodeFree | Frees memory allocated for the VLC encoder structure. |
VLCEncodeInit | Initializes the VLC encoder structure. |
VLCEncodeGetSize | Computes the size of the VLC encode structure. |
VLCEncodeBlock | Performs VLC encoding of a block of data. |
VLCEncodeOne | Performs VLC encoding of a single element. |
VLCCountBits | Computes a number of bits required to encode the source block. |
VLCDecodeInitAlloc | Allocates memory and initializes the VLC decoder structure. |
VLCDecodeFree | Frees memory allocated for the VLC decoder structure. |
VLCDecodeInit | Initializes the VLC decoder structure. |
VLCDecodeGetSize | Computes the size of the VLC decoder structure. |
VLCDecodeBlock | Decodes a block of VLC encoded data. |
VLCDecodeOne | Decodes a single VLC encoded element. |
VLCDecodeUTupleInitAlloc | Allocates memory and initializes the VLCDecodeUTuple structure based on the input parameters. |
VLCDecodeUTupleFree | Frees memory allocated for the VLCDecodeUTuple structure. |
VLCDecodeUTupleInit | Initializes the VLCDecodeUTuple structure based on the input parameters. |
VLCDecodeUTupleGetSize | Computes the size of the VLCDecodUTuple structure. |
VLCDecodeUTupleBlock | Decodes a block of VLC encoded data. |
VLCDecodeUTupleOne | Decodes a single VLC encoded tuple. |
Huffman Encoding and Decoding Functions | |
EncodeHuffInitAlloc | Allocates memory and initializes the Huffman encoding structure. |
HuffFree | Frees memory allocated for the Huffman encoding and decoding structures. |
EncodeHuffInit | Initializes the Huffman encoding structure. |
HuffGetSize | Computes size of the external buffer for the Huffman encoding structure. |
EncodeHuffOne | Performs Huffman encoding of a single element. |
EncodeHuff | Performs Huffman encoding. |
EncodeHuffFinal | Performs Huffman encoding of the remainder. |
HuffGetLenCodeTable | Returns the table containing lengths of Huffman codes. |
DecodeHuffInitAlloc | Allocates memory and initializes the Huffman decoding structure. |
DecodeHuffInit | Initializes the Huffman decoding structure. |
DecodeHuffOne | Performs Huffman decoding of a single code word. |
DecodeHuff | Performs Huffman decoding. |
HuffGetDstBuffSize | Computes the size of a destination buffer for Huffman encoding and decoding by blocks |
HuffLenCodeTablePack | Packs the table containing lengths of Huffman codes. |
HuffLenCodeTableUnpack | Unpacks the table containing lengths of Huffman codes. |
Function Short Name | Description |
---|---|
LZSS Coding | |
EncodeLZSSInitAlloc | Allocates memory and initializes the LZSS state structure. |
LZSSFree | Frees memory allocated for the LZSS state structure. |
EncodeLZSSInit | Initializes the LZSS state structure. |
LZSSGetSize | Computes the size of the LZSS state structure. |
EncodeLZSS | Performs LZSS encoding. |
EncodeLZSSFlush | Flushes the last few bits in the bitstream and aligns the output data on a byte boundary. |
DecodeLZSSInitAlloc | Allocates memory and initializes the LZSS state structure. |
DecodeLZSSInit | Initializes the LZSS state structure. |
DecodeLZSS | Performs LZSS decoding |
ZLIB Coding | |
EncodeLZ77Init | Initializes the encoding LZ77 state structure. |
EncodeLZ77GetSize | Computes the size of the encoding LZ77 state structure. |
EncodeLZ77InitAlloc | Allocates memory and initializes the encoding LZ77 state structure. |
LZ77Free | Frees memory allocated for the encoding or decoding LZ77 state structures. |
EncodeLZ77 | Performs LZ77 encoding. |
EncodeLZ77SelectHuffMode | Determines the optimal encoding mode. |
EncodeLZ77FixedHuff | Performs encoding with the fixed Huffman codes. |
EncodeLZ77DynamicHuff | Performs encoding with the dynamic Huffman codes. |
EncodeLZ77StoredBlock | Stores the data block without compression. |
EncodeLZ77Flush | Writes the checksum and total length of the input data to the end of the output stream. |
EncodeLZ77GetPairs | Retrieves pair data from the encoding state structure. |
EncodeLZ77SetPairs | Sets pair data to the encoding state structure. |
EncodeLZ77GetStatus | Reads the deflate status value from the encoding state structure. |
EncodeLZ77SetStatus | Writes the deflate status value to the encoding state structure. |
EncodeLZ77Reset | Resets the internal encoding state structure to the initial state. |
DecodeLZ77Init | Initializes the LZ77 decoding structure. |
DecodeLZ77GetSize | Computes the size of the decoding LZ77 state structure. |
DecodeLZ77InitAlloc | Allocates memory and initializes the decoding LZ77 state structure. |
DecodeLZ77 | Performs LZ77 decoding. |
DecodeLZ77GetBlockType | Determines the type of encoded data block. |
DecodeLZ77FixedHuff | Performs fixed Huffman decoding. |
DecodeLZ77DynamicHuff | Performs dynamic Huffman decoding. |
DecodeLZ77StoredBlock | Performs decoding of the block stored without compression. |
DecodeLZ77GetPairs | Retrieves pair data from the decoding state structure. |
DecodeLZ77SetPairs | Sets pair data to the decoding state structure. |
DecodeLZ77GetStatus | Reads the inflate status value from the LZ77 decoding state structure. |
DecodeLZ77SetStatus | Sets the inflate status to the desired value in the LZ77 decoding state structure |
DecodeLZ77Reset | Resets the internal decoding state structure to the initial state. |
Adler32 | Computes theAdler32 checksum for the source data buffer. |
CRC32, CRC32C | Computes the CRC32 checksum for the source data buffer. |
DeflateLZ77 | Performs LZ77 encoding according to the specified compression level. |
DeflateDictionarySet | Presets the user's dictionary for LZ77 encoding. |
DeflateUpdateHash | Updates hash tables according to the source context. |
DeflateHuff | Performs Huffman encoding. |
InflateBuildHuffTable | Builds the Huffman code table for the data encoded in the “deflate” format. |
Inflate | Decodes the data encoded in the “deflate” format. |
LZO Coding | |
EncodeLZOGetSize | Calculates the size of LZO encoding structure. |
EncodeLZOInit | Initializes LZO encoding structure. |
EncodeLZO | Compresses input data, returns the length of the compressed data. |
DecodeLZO | Decompresses input data, returns the length of the decompressed data. |
DecodeLZOSafe | Decompresses input data with constantly checking integrity of output. |
Function Short Name | Description |
---|---|
BWT Functions | |
BWTFwdGetSize | Computes the size of the external buffer for the forward BWT transform. |
BWTFwd | Performs the forward BWT transform. |
BWTFwdGetBufSize_SelectSort | Computes the size of the external buffer for the forward BWT transform with specified sort algorithm. |
BWTFwd_SelectSort | Performs the forward BWT transform with specified sort algorithm. |
BWTInvGetSize | Computes the size of the external buffer for the inverse BWT transform. |
BWTInv | Performs the inverse BWT transform. |
BWTGetSize_SmallBlock | Computes the size of the external buffer for the BWT transforms for small data block. |
BWTFwd_SmallBlock | Performs the forward BWT transform for small data block. |
BWTInv_SmallBlock | Performs the inverse BWT transform for small data block. |
GIT Functions | |
EncodeGITInitAlloc | Allocates memory and initializes the GIT encoding state structure. |
GITFree | Frees memory allocated by the function EncodeGITInitAlloc or DecodeGITInitAlloc. |
EncodeGITInit | Initializes the GIT encoding state structure. |
EncodeGITGetSize | Computes the size of the GIT encoding state structure. |
EncodeGIT | Performs GIT encoding. |
DecodeGITInitAlloc | Allocates memory and initializes the GIT decoding state structure. |
DecodeGITInit | Initializes the GIT decoding state structure. |
DecodeGITGetSize | Computes the size of the GIT decoding state structure. |
DecodeGIT | Performs GIT decoding. |
MTF Functions | |
MTFInitAlloc | Allocates memory and initializes the MTF structure. |
MTFFree | Frees memory allocated for the MTF structure. |
MTFInit | Initializes the MTF structure. |
MTFGetSize | Computes the size of the MTF structure. |
MTFFwd | Performs the forward MTF transform. |
MTFInv | Performs the inverse MTF transform. |
RLE Functions | |
EncodeRLE | Performs RLE encoding. |
DecodeRLE | Performs RLE decoding. |
bzip2 Compatible Functions | |
EncodeRLEInitAlloc_BZ2 | Allocates memory and initializes the bzip2-specific RLE structure. |
RLEFree_BZ2 | Frees memory allocated for the bzip2-specific RLE structure. |
EncodeRLEInit_BZ2 | Initializes the bzip2-specific RLE structure. |
RLEGetSize_BZ2 | Compute the size of the state structure for the bzip2-specific RLE. |
EncodeRLE_BZ2 | Performs the bzip2-specific RLE. |
EncodeRLEFlush_BZ2 | Flushes the remaining data after RLE. |
RLEGetInUseTable | Gets the pointer to the inUse vector from the RLE state structure. |
DecodeRLE_BZ2 | Performs the bzip2-specific RLE decoding. |
DecodeRLEStateInit_BZ2 | Initializes the bzip2-specific RLE structure. |
DecodeRLEState_BZ2 | Performs the bzip2-specific RLE decoding with structure. |
DecodeRLEStateFlush_BZ2 | Flushes the remaining data after RLE decoding. |
EncodeZ1Z2_BZ2 | Performs the bzip2-specific Z1Z2 encoding. |
DecodeZ1Z2_BZ2 | Performs the bzip2-specific Z1Z2 decoding. |
ReduceDictionary | Performs the dictionary reducing. |
ExpandDictionary | Performs the dictionary expanding. |
CRC32_BZ2 | Computes the CRC32 checksum for the source data buffer. |
EncodeHuffInitAlloc_BZ2 | Allocated memory an initializes the elements of the bzip2-specific internal state for Huffman encoding. |
EncodeHuffFree_BZ2 | Frees memory allocated for the bzip2-specific Huffman encoding structure. |
EncodeHuffInit_BZ2 | Initializes the elements of the bzip2-specific internal state for Huffman encoding. |
EncodeHuffGetSize_BZ2 | Computes the size of the internal state for bzip2-specific Huffman encoding. |
PackHuffContext_BZ2 | Performs the bzip2-specific encoding of Huffman context. |
EncodeHuff_BZ2 | Performs the bzip2-specific Huffman encoding. |
DecodeHuffInitAlloc_BZ2 | Allocated memory an initializes the elements of the bzip2-specific internal state for Huffman decoding. |
DecodeHuffFree_BZ2 | Frees memory allocated for the bzip2-specific Huffman decoding structure. |
DecodeHuffInit_BZ2 | Initializes the elements of the bzip2-specific internal state for Huffman decoding. |
DecodeHuffGetSize_BZ2 | Computes the size of the internal state for bzip2-specific Huffman decoding. |
UnpackHuffContext_BZ2 | Performs the bzip2-specific decoding of Huffman context. |
DecodeHuff_BZ2 | Performs the bzip2-specific Huffman decoding. |
DecodeBlockGetSize_BZ2 | Computes the size of the additional buffer for bzip2-specific block decoding. |
DecodeBlock_BZ2 | Performs the bzip2-specific block decoding. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.