Performs forward transform and quantization for 4X4 residual blocks.
IppStatus ippiTransformQuantResidual_H264_16s_C1I(Ipp16s* pSrcDst, Ipp32s QP, Ipp8s* NumLevels, Ipp8u Intra, const Ipp16s* pScanMatrix, Ipp8u* LastCoeff);
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:
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. |
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.
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. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.