CABACEncodeResidualBlock_H264

Encodes block of residual coefficients with CABAC.

Syntax

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);

Parameters

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.

Description

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.

Return Values

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.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.