Developer Reference for Intel® Integrated Performance Primitives
Decodes data in the “deflate” format.
IppStatus ippsInflate_8u(Ipp8u** ppSrc, unsigned int* pSrcLen, Ipp32u* pCode, unsigned int* pCodeLenBits, unsigned int winIdx, Ipp8u** ppDst, unsigned int* pDstLen, unsigned int dstIdx, IppInflateMode* pMode, IppInflateState* pIppInflateState);
ippdc.h
Headers: ippcore.h, ippvm.h, ipps.h
Libraries: ippcore.lib, ippvm.lib, ipps.lib
ppSrc |
Double pointer to the source vector. |
pSrcLen |
Pointer to the length of source vector. |
pCode |
Pointer to the bit buffer. |
pCodeLenBits |
Number of valid bits in the bit buffer. |
winIdx |
Index of the start position of the sliding window. |
ppDst |
Double pointer to the destination vector. |
pDstLen |
Pointer to the length of destination vector. |
dstIdx |
Index of the current position in the destination vector. |
pMode |
Pointer to the current decode mode. Possible values are: |
ippTYPE - block decoding is completed; | |
ippLEN - decoding from the beginning of the sequence; | |
ippLENEXT - extra bits are required to decode the sequence. | |
pIppInflateState |
Pointer to the structure that contains parameters of decoding. |
This function decodes the data encoded in the "deflate" format [RFC1951] in accordance with the parameters set in the structure pIppInflateState. If the data is compressed using dynamic Huffman codes, the Huffman code tables must be built by the function ippsInflateBuildHuffTable beforehand. If the data is compressed using the fixed Huffman codes, the fileld tableType in the pIppInflateState must be set to 0, and code tables are not required to be built at all.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error if one of the pointers is NULL. |
ippStsSizeErr |
Indicates an error if pCodeLenBits is greater than 32, or if winIdx is greater than pIppInflateState->winSize, or if dstIdx is greater than pDstLen. |
ippStsSrcDataErr |
Indicates an error if a not valid literal/length and distance set occurs during decoding. |