Reconstructs DCT coefficients for an intra coded block.
IppStatus ippiReconstructCoeffsIntra_H263_1u16s(Ipp8u** ppBitStream, int* pBitOffset, Ipp16s* pCoef, int* pIndxLastNonZero, int cbp, int QP, int advIntraFlag, int scan, int modQuantFlag);
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. |
cbp |
Coded block pattern, when set to 0 indicates that the block contains only intra DC coefficient. |
QP |
Quantization parameter. |
advIntraFlag |
Flag equal to a non-zero value when Advanced Intra Coding 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_HORIZONTAL, indicating the alternate-horizontal scan, IPPVC_SCAN_VERTICAL, indicating alternate-vertical scan. |
See the corresponding enumerator in the introduction to the General Functions. |
|
modQuantFlag |
Flag equal to a non-zero value when Modified Quantization mode is in use, equal to 0 otherwise. |
The function ippiReconstructCoeffsIntra_H263_1u16s is declared in the ippvc.h header file. This function performs decoding, dequantization, and inverse scan of the DCT coefficients for one intra coded block.
Intra DC decoding process is specified in [ITUH263], subclause 5.4.1. Intra AC VLC decoding process is specified in [ITUH263], subclause 5.4.2, and is modified as specified in [ITUH263] Annex T, clause T.4, when Modified Quantization mode is in use. When in Advanced Intra Coding mode, VLC Table I.2 from [ITUH263] Annex I is used for all intra DC and intra AC coefficients, otherwise Table 16 [ITUH263] is used to decode AC coefficients only (for blocks with non-zero cbp). When not in Advanced Intra Coding mode, the dequantization processes for the intra DC and for all other non-zero coefficients are specified in [ITUH263], subclause 6.2.1, otherwise all the coefficients are dequantized as specified in [ITUH263] Annex I, clause I.3. When not in Advanced Intra Coding mode and not in Modified Quantization mode, the output coefficients other than the intra DC one are clipped to the range [-2048, 2047] ([ITUH263], subclause 6.2.2).
The DCT coefficients, encoded in the bitstream in the classical zigzag, alternate-horizontal, or alternate-vertical 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 three scan patterns are shown in [ITUH263], Figure14 and [ITUH263], Annex I, Figure I.2.
This function is used in the H.263 and MPEG-4 decoders included into Intel IPP Samples. See introduction to H.263.
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 stream processing. |
ippStsQPErr |
Indicates an error condition if QP is out of the range [1, 31]. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.