EncodeHuffman8x8_JPEG

Performs Huffman baseline encoding of an 8x8 block of quantized DCT coefficients.

Syntax

IppStatus ippiEncodeHuffman8x8_JPEG_16s1u_C1(const Ipp16s* pSrc, Ipp8u* pDst, int dstLenBytes, int* pDstCurrPos, Ipp16s* pLastDC, const IppiEncodeHuffmanSpec* pDcTable, const IppiEncodeHuffmanSpec* pAcTable, IppiEncodeHuffmanState* pEncHuffState, int bFlushState);

Parameters

pSrc

Pointer to the 8x8 block of the quantized DCT coefficients.

pDst

Pointer to the buffer for the output bit stream.

dstLenBytes

Length in bytes of the buffer for the bit stream.

pDstCurrPos

Shift in bytes of the current byte in the output buffer.

pLastDC

Pointer to the DC coefficient of the previous 8x8 block.

pDcTable

Pointer to the Huffman table for the DC coefficients.

pAcTable

Pointer to the Huffman table for the AC coefficients.

pEncHuffState

Pointer to the IppiEncodeHuffmanState structure.

bFlushState

Set to 1 for the last 8x8 block in the scan.

Description

The function ippiEncodeHuffman8x8_JPEG is declared in the ippj.h file. This function performs encoding of an 8x8 block of the quantized DCT coefficients using pDcTable and pAcTable tables. Encoding procedure is specified in [ISO10918], Annex F.1.2, Baseline Huffman Encoding Procedures. Only full bytes are written to the output buffer. The IppiEncodeHuffmanState structure collects the bits that do not make up a complete byte. To force adding the bits accumulated in IppiEncodeHuffmanState to the output buffer, set the parameter bFlushState to 1 for the last 8x8 block in the scan or restart interval being encoded. In all other cases it must be set to zero.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if at least one of the specified pointers is NULL.

ippStsSizeErr

Indicates an error condition if dstLenBytes has a zero or negative value, or pDstCurrPos is outside the limit of dstLenBytes.

ippStsJPEGDCTRangeErr

Indicates an error condition if a DCT coefficient is out of the allowed range (-1023..1023).

Submit feedback on this help topic

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