DecodeHuffman8x8_Direct_JPEG

Directly performs Huffman baseline decoding of an 8x8 block of the quantized DCT coefficients.

Syntax

IppStatus ippiDecodeHuffman8x8_Direct_JPEG_1u16s_C1(const Ipp8u* pSrc, int* pSrcBitsLen, Ipp16s* pDst, Ipp16s* pLastDC, int* pMarker, Ipp32u* pPrefetchedBits, int* pNumValidPrefetchedBits, const IppiDecodeHuffmanSpec* pDcTable, const IppiDecodeHuffmanSpec* pAcTable);

Parameters

pSrc

Pointer to the source buffer with the JPEG bit stream.

pSrcBitsLen

Length in bits of the buffer for the bit stream.

pDst

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

pLastDC

Pointer to the DC coefficient of the previous 8x8 block of the same color component.

pMarker

Pointer to a variable that will receive JPEG marker detected during decoding.

pPrefetchedBits

Pointer to the prefetch buffer which contains the previously decoded bits.

pNumValidPrefetchedBits

Number of valid bits in the prefetch buffer.

pDcTable

Pointer to the Huffman table for the DC coefficients.

pAcTable

Pointer to the Huffman table for the AC coefficients.

Description

The function ippiDecodeHuffman8x8_Direct_JPEG is declared in the ippj.h file. This function directly decodes an 8x8 block of the quantized DCT coefficients using pDcTable and pAcTable tables. The function does not require any additional structure for operation. The decoding procedure conforms to [ISO10918], Annex F.2.2, Baseline Huffman Decoding Procedures. If a JPEG marker is detected during decoding, the function stops decoding and writes the marker to a location indicated by pMarker.

pLastDC should be set to 0 through the function initialization or after each restart interval. pMarker should be set to 0 through the function initialization or after the found marker has been processed. pNumValidPrefetchedBits should be set to 0 in the following cases: 1) through the function initialization; 2) after each restart interval; 3) after each found marker has been processed.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if one or all of the specified pointers are NULL.

ippStsSizeErr

Indicates an error condition if pSrcBitsLen or pNumValidPrefetchedBits has negative value.

ippStsJPEGDCTRangeErr

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

ippStsJPEGOutOfBufErr

Indicates an error condition if the buffer limits are exceeded.

Submit feedback on this help topic

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