DecodeCoeffsInter_MPEG4

Decodes DCT coefficients for inter coded block.

Syntax

IppStatus ippiDecodeCoeffsInter_MPEG4_1u16s(Ipp8u** ppBitStream, int* pBitOffset, Ipp16s* pCoeffs, int* pIndxLastNonZero, int rvlcFlagint, int scan);

Parameters

ppBitStream

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

pBitOffset

Pointer to the bit position in the byte pointed by **ppBitStream. The pointer is updated by the function.

pCoeffs

Pointer to the output coefficients.

pIndxLastNonZero

Pointer to the index of the last non-zero coefficient. In case of error during decoding, the index of the previous successfully decoded coefficient is stored in it.

rvlcFlag

Flag, when set to ‘0' indicates that VLC tables B.17, B.18, B.19, and B.21 [ISO14496] are used in decoding DCT coefficients, otherwise the reversible variable length tables B.23, B.24, and B.25 [ISO14496] are used.

scan

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

IPPVC_SCAN_NONE,

indicating that no inverse scan is performed,

IPPVC_SCAN_ZIGZAG,

indicating the classical zigzag scan,

IPPVC_SCAN_VERTICAL,

indicating the alternate-vertical scan.

See the corresponding enumerator in the introduction to the General Functions

Description

The function ippiDecodeCoefInter_MPEG4_1u16s is declared in the ippvc.h header file. This function performs VLC decoding of the DCT coefficients for one inter coded block. Inter DCT VLC decoding process is specified in [ISO14496], subclause 7.4.1. Additionally, the function can perform inverse scan.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one input pointer is NULL.

ippStsBitOffsetErr

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

ippStsVLCCodeErr

Indicates an error condition if an illegal code is detected through the DCT decoding.


Submit feedback on this help topic

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