Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

Inflate

Decodes data in the “deflate” format.

Syntax

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);

Include Files

ippdc.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib

Parameters

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.

Description

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.

Return Values

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.