Decode chroma DC coefficients CAVLC coded.
IppStatus ippiDecodeCAVLCChromaDcCoeffs_H264_1u16s(Ipp32u** ppBitStream, Ipp32s* pBitOffset, Ipp16s* pNumCoeff, Ipp16s** ppDstCoeffs, const Ipp32* pTblCoeffToken, const Ipp32s** ppTblTotalZerosCR, const Ipp32s** ppTblRunBefore);
IppStatus ippiDecodeCAVLCChromaDcCoeffs_H264_1u32s(Ipp32u** ppBitStream, Ipp32s* pBitOffset, Ipp16s* pNumCoeff, Ipp32s** ppDstCoeffs, const Ipp32s* pTblCoeffToken, const Ipp32s** ppTblTotalZerosCR, const Ipp32s** ppTblRunBefore);
IppStatus ippiDecodeCAVLCChroma422DcCoeffs_H264_1u16s(Ipp32u** ppBitStream, Ipp32s* pBitOffset, Ipp16s* pNumCoeff, Ipp16s** ppDstCoeffs, const Ipp32s* pTblCoeffToken, const Ipp32s** ppTblTotalZerosCR, const Ipp32s** ppTblRunBefore);
IppStatus ippiDecodeCAVLCChroma422DcCoeffs_H264_1u32s(Ipp32u** ppBitStream, Ipp32s* pBitOffset, Ipp16s* pNumCoeff, Ipp32s** ppDstCoeffs, const Ipp32s* pTblCoeffToken, const Ipp32s** ppTblTotalZerosCR, const Ipp32s** ppTblRunBefore);
ppBitStream |
Double pointer to the current position in the bitstream. The pointer is updated by the function. |
pBitOffset |
Pointer to offset between the bit that**ppBitStream points to and the start of the code. The pointer is updated by the function. |
pNumCoeff |
Pointer to the output number of coefficients. |
ppDstCoeffs |
Double pointer to a 2x2 or 2x4 (for chroma 422) block of coefficients. These coefficients are calculated by the function. The function shifts pointer **ppDstCoeffs by 4 or 8 (for chroma 422). |
pTblCoeffToken |
Pointer to chroma DC CoeffToken Table. |
ppTblTotalZerosCR |
Double pointer to chroma DC TotalZeros Tables. |
ppTblRunBefore |
Double pointer to RunBefore Tables. |
These functions are declared in the ippvc.h header file. The functions ippiDecodeCAVLCChromaDcCoeffs_H264_1u16s and ippiDecodeCAVLCChromaDcCoeffs_H264_1u32s decode chroma DC coefficients and ippiDecodeCAVLCChroma422DcCoeffs_H264_1u16s and ippiDecodeCAVLCChroma422DcCoeffs_H264_1u32s decode Chroma422 (4:2:2 chroma mode) DC coefficients, CAVLC-coded in accordance with 9.2 of [JVTG050] in the case of nC = -1 and nC = -2 (in Chroma422 case).
pTblCoeffToken is equal to ppTblCoeffToken[3] or ppTblCoeffToken[4] for chroma422. ppTblCoeffToken and ppTblRunBefore tables are defined in the same way as in DecodeCAVLCCoeffs_H264 function.
The table ppTblTotalZerosCR is an array of size 4 (size 8 for Chroma422). Each element of this array is a pointer to a table that contains codes and values (total_zeros in [JVTG050]) in accordance with tables 9-9 of [JVTG050].
For proper operation of the function, remove emulation_prevention_three_byte described in 7.4.1 of [JVTG050] from the stream that undergoes decoding.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when at least one input pointer is NULL. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.