DecodeCoeffsInter_H263

Decodes DCT coefficients for inter coded block.

Syntax

IppStatus ippiDecodeCoeffsInter_H263_1u16s(Ipp8u** ppBitStream, int* pBitOffset, Ipp16s* pCoef, int* pIndxLastNonZero, int modQuantFlag, int scan);

Parameters

ppBitStream

Pointer to pointer to the current byte in the bitstream buffer. **ppBitStream is updated by the function.

pBitOffset

Pointer to the bit position in the byte pointed by **ppBitStream. Valid within the range 0 to 7. *pBitOffset is updated by the function.

pCoef

Pointer to the output coefficients.

pIndxLastNonZero

Pointer to the index of the last non-zero coefficient in the scanning order. If an error is detected while decoding a coefficient, the index of the last decoded coefficient is returned in *pIndxLastNonZero. If the block has no correctly decoded coefficients, *pIndxLastNonZero is set to -1.

modQuantFlag

Flag equal to a non-zero value when Modified Quantization mode is in use, equal to 0 otherwise.

scan

Type of the inverse scan, takes one of the following values:

IPPVC_SCAN_ZIGZAG,

indicating the classical zigzag scan,

IPPVC_SCAN_NONE,

indicating that no inverse scan is to be performed.

See the corresponding enumerator in the introduction to the General Functions.

Description

The function ippiDecodeCoeffsInter_H263_1u16s is declared in the ippvc.h header file. This function performs VLC decoding and, optionally, inverse scan of the DCT coefficients for one inter coded block. Inter DCT VLC decoding process is specified in [ITUH263], subclause 5.4.2 (Table 16), and is modified as specified in [ITUH263] Annex T, clause T.4, when Modified Quantization mode is in use. If scan is not set to IPPVC_SCAN_NONE, the DCT coefficients, encoded in the bitstream in the classical zigzag scan order, are reordered in the function into the normal order, that is, the order in which the coefficients are arranged on DCT output. The zigzag scan pattern is shown in [ITUH263], Figure14.

This function is used in the H.263 decoder included into Intel IPP Samples. See introduction to H.263.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsBitOffsetErr

Indicates an error condition if *pBitOffset is out of the range [0, 7].

ippStsVLCErr

Indicates an error condition if an illegal code is detected through the VLC stream processing.


Submit feedback on this help topic

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