TransformQuantResidual_H264

Performs forward transform and quantization for 4X4 residual blocks.

Syntax

IppStatus ippiTransformQuantResidual_H264_16s_C1I(Ipp16s* pSrcDst, Ipp32s QP, Ipp8s* NumLevels, Ipp8u Intra, const Ipp16s* pScanMatrix, Ipp8u* LastCoeff);

Parameters

pSrcDst

Pointer to a 4x4 residual block - source and destination array of size 16.

QP

Quantization parameter for luma or for chroma, in range [0, 51] or [0, 39].

NumLevels

Pointer to a value that contains:

  • a negative value of a number of non-zero elements in block after quantization (when the first quantized element in block is not equal to zero),

  • a number of non-zero elements in block after quantization (when the first quantized element in block is equal to zero).

This value is calculated by the function.

Intra

Flag equal to 1 in the case of intra slice, 0 otherwise.

pScanMatrix

Scan matrix for coefficients in block (array of size 16).

LastCoeff

Position of the last (in order of pScanMatrix) non-zero coefficient in block after quantization. This value is calculated by the function.

Description

The function ippiTransformQuantResidual_H264_16s_C1I is declared in the ippvc.h file. This function performs forward transform and quantization for a 4x4 residual block.

A 4x4 residual block (pSrcDst) is transformed. Then quatization process is performed on the transformed residual block.

If all coefficients after quantization are not greater than MAX_CAVLC_LEVEL_VALUE, they are saved in pSrcDst. Otherwise, the function returns error.

This function is used in the H.264 encoder included into Intel IPP Samples. See introduction to H.264.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if at least one of the specified pointers is NULL.

ippStsOutOfRangeErr

Indicates an error if QP > 51 or QP < 0.

ippStsScaleRangeErr

Indicates an error condition if any coefficient after quantization is greater than MAX_CAVLC_LEVEL_VALUE.


Submit feedback on this help topic

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