Data Compression Functions

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.

Intel IPP VLC and Huffman Coding Functions 
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.
Intel IPP Dictionary-Based Data Compression Functions 
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.
Intel IPP BWT-Based Compression Functions 
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.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.