Decodes DCT coefficients, performs inverse scan and inverse quantization for inter coded block.
IppStatus ippiReconstructCoeffsInter_MPEG4_1u16s(Ipp8u** ppBitStream, int* pBitOffset, Ipp16s* pCoeffs, int* pIndxLastNonZero, int rvlcFlag, int scan, const IppiQuantInvInterSpec_MPEG4* pQuantInvInterSpec, int QP);
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 last non-zero coefficient. In case of error during decoding, the index of the previous successfully decoded coefficient is stored in this parameter. |
rvlcFlag |
Flag, which when set to ‘0' indicates that VLC tables B.17, B.18, B.20 and B.22 [ISO14496] are used when decoding DCT coefficients, otherwise the reversible variable length tables B.23, B.24 and B.25 [ISO14496] are used. |
scan |
Type of the inverse scan, takes one of the following values: 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. |
|
pQuantInvInterSpec |
Pointer to the IppiQuantInvInterSpec_MPEG4 that was initialized by ippiQuantInvInterInit_MPEG4. |
QP |
Quantization parameter |
The function ippiReconstructCoeffsInter_MPEG4_1u16s is declared in the ippvc.h header file. This function performs VLC decoding, inverse scan and inverse quantization of the DCT coefficients for one inter coded block. Inter DCT VLC decoding process is specified in [ISO14496], subclause 7.4.1. Inverse scan process is specified in [ISO14496], subclause 7.4.2. Inverse quantization process is specified in [ISO14496], subclause 7.4.4. This function supports video data precision 4-12 bits per pixel, that is, after inverse quantization the coefficients are saturated to lie in the range: [-2bitsPerPixel+3; 2bitsPerPixel+3 - 1].
This function is used in the MPEG-4 decoder included into Intel IPP Samples. See introduction to MPEG-4.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when at least one input pointer (except pQuantMatrix) 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. |
ippStsQPErr |
Indicates an error condition if QP is out of the range [1; 2bitsPerPixel-3 - 1]. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.