Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

DeflateHuff

Performs Huffman encoding .

Syntax

IppStatus ippsDeflateHuff_8u(const Ipp8u*
pLitSrc
, const Ipp16u*
pDistSrc
, Ipp32u
srcLen
, Ipp16u*
pCode
, Ipp32u*
pCodeLenBits
, IppDeflateHuffCode
pLitHuffCodes
[286], IppDeflateHuffCode
pDistHuffCodes
[30], Ipp8u*
pDst
, Ipp32u*
pDstIdx
);
Include Files
ippdc.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
pLitSrc
Pointer to the literals/lengths source vector.
pDistSrc
Pointer to the distances source vector.
srcLen
Length of the source vectors.
pCode
Pointer to the bit buffer.
pCodeLenBits
Pointer to the number of valid bits in the bit buffer.
pLitHuffCodes
Pointer to the literals/lengths Huffman codes.
pDistHuffCodes
Pointer to the distances Huffman codes.
pDst
Pointer to the destination vector.
pDstIdx
Pointer to the index in the destination vector.
Description
This function performs Huffman encoding of source data.
The function parameter
pDstIdx
returns the index of the current position in the destination vector: zlib uses the intermediate buffer for the Huffman encoding and we need to know the indexes of the first (input parameter) and the last (output parameter) symbols, which are written by the function.
Return Values
ippStsNoErr
Indicates no error.
ippStsNullPtrErr
Indicates an error if one of the specified pointers is
NULL
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804