Performs dequantization, integer inverse transformation, shift for a 4x4 block of residuals with subsequent intra prediction or motion compensation.
IppStatus ippiDequantTransformResidualAndAdd_H264_16s_C1I(const Ipp8u* pPred, Ipp16s* pSrcDst, Ipp16s* pDC, Ipp8u* pDst, Ipp32s PredStep, Ipp32s DstStep, Ipp32s QP, Ipp32s AC);
pPred |
Pointer to the reference 4x4 block, which is used for intra prediction or motion compensation. |
||||
pSrcDst |
If not equal to 0, pointer to the initial residual 4x4 block (AC luma or AC chroma or luma) and resultant transformed 4x4 block - array of size 16. If all coefficients of the residual AC block are equal to 0, pSrcDst should be 0 (for chroma block or luma block of 16x16 intra nacroblock type. |
||||
pDC |
Pointer to the DC coefficient. If luma block is not intra 16x16 macroblock type, pDC is set to NULL. |
||||
pDst |
Pointer to the destination 4x4 block. |
||||
PredStep |
Distance in bytes between starts of the consecutive lines in the reference frame. |
||||
DstStep |
Distance in bytes between starts of the consecutive lines in the destintion frame. |
||||
QP |
Quantization parameter for luma and for chroma. |
||||
AC |
Flag that is not equal to zero, if at least one AC coefficient exists, and is equal to zero otherwise. In the case of luma block, which is not intra 16x16 macroblock type, AC should be:
|
The function ippiDequantTransformResidualAndAdd_H264_16s_C1I is declared in the ippvc.h file and performs scaling, transformation, and shift for a residual 4x4 block described in 8.5.8 of [JVTG050] with subsequent intra prediction or motion compensation (the formula 8-245 of [JVTG050]).
For transformation of a chroma block this function is called after TransformDequantChromaDC_H264. In the case of the 16x16 intra prediction mode, this function should be called after TransformDequantLumaDC_H264 for transforming a luma block.
If pDC is not equal to NULL, the function, before starting the scaling and transformation process, places the DC coefficient specified by pDC in the top left corner of the initial coefficients block, which is designated as c00 in JVT-G050. Also during the scaling and transformation process the formula 8-266 ([JVTG050]) is used when calculating w00.
If the pointer pDC is NULL, DC coefficient is dequantized like all the other coefficients. During the scaling and transformation process the formula 8-267 ([JVTG050]) is used when calculating w00.
When calling the function, the argument QP, which is designated as qP in JVT-G050, should be calculated from the formulas 8-262 through 8-265 ([JVTG050]).
If AC is not equal to zero, formulas 8-278 through 8-277 ([JVTG050]) are applied to perform Inverse Transformations.
If AC = 0, all the coefficients are set equal to DC. The final shift is specified by formula 8-278.
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 condition if QP is less than 1 or greater than 51. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.