Decodes DCT coefficients for inter coded block.
IppStatus ippiDecodeCoeffsInter_H261_1u16s(Ipp8u** ppBitStream, int* pBitOffset, Ipp16s* pCoef, int* pIndxLastNonZero, int scan);
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, * pIndxLastNonZer is set to -1. |
||||
scan |
Type of the inverse scan, takes one of the following values:
See the corresponding enumerator in the introduction to the General Functions. |
The function ippiDecodeCoeffsInter_H261_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 as specified in [ITUH261], subclause 4.2.4.1 (Table 4). If scan is not set to IPPVC_SCAN_NONE, the DCT coefficients, encoded in the bitstream in the classical zigzag scan order ([[ITUH261], Figure12), are reordered in the function into the normal order, that is, the order in which the coefficients are arranged on DCT output.
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]. |
ippStsVLCCodeErr |
Indicates an error condition if an illegal code is detected through the VLC stream processing. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.