Decodes DCT coefficients for intra coded block.
IppStatus ippiDecodeCoeffsIntra_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. pCoef[0] is the DC coefficient. |
||||
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. |
||||
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 ippiDecodeCoeffsIntra_H261_1u16s is declared in the ippvc.h header file. This function performs decoding and, optionally, inverse scan of the DCT coefficients (DC and AC) for one intra coded block. DC fixed length and AC VLC decoding processes are specified in [ITUH261], subclause 4.2.4.1. 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 stream processing. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.