Encodes block of residual coefficients with CABAC.
IppStatus ippiCABACEncodeResidualBlock_H264_16s(const Ipp16* pResidualCoeffs, Ipp32u nLastNonZeroCoeff, Ipp32u ctxBloackCat, Ipp32u log2NumC8x8, Ipp32u bFrameBlock, IppvcCABACState* pCabacState);
IppStatus ippiCABACEncodeResidualBlock_H264_32s(const Ipp32* pResidualCoeffs, Ipp32u nLastNonZeroCoeff, Ipp32u ctxBloackCat, Ipp32u log2NumC8x8, Ipp32u bFrameBlock, IppvcCABACState* pCabacState);
pResidualCoeffs |
Pointer to an array of residual coefficients to encode. Size of an array must correspond ctxBloackCat and NumC8x8 parameters (see Table 9-42 of [ITUH264_07]) |
nLastNonZeroCoeff |
Index of the last non-zero coefficient in the array, pointed by pResidualCoeffs. |
ctxBloackCat |
Variable ctxBloackCat from the H.264 standard (for details, see Table 9-42 of [ITUH264_07]). |
log2NumC8x8 |
For ctxBloackCat = 3, base 2 logarithm of NumC8x8 variable from H.264 stadard; 0 for other values of ctxBloackCat. |
bFrameBlock |
Boolean value that specifies whether the frame (bFrameBlock = 1) or field (bFrameBlock = 0) is being encoded. |
pCabacState |
Pointer to CABAC state initialized with ippiCABACInit_H264 or ippiCABACInitAlloc_H264 function. |
The function ippiCABACEncodeResidualBlock_H264_16s and ippiCABACEncodeResidualBlock_H264_32s are declared in the ippvc.h file. These functions encode a block of residual coefficients with CABAC.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when any of the pointers is NULL. |
ippStsOutOfRangeErr |
ctxBloackCat is not in range [0; 5] or bFrameBlock is not in range [0; 1]. |
ippStsBadArgErr |
log2NumC8x8 is not zero, while ctxBloackCat is not 3. |
ippStsH264BufferFullErr |
Not enough free space in the bitstream. This error code can be returned if less than 8 free bytes remain in the bitstream. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.