Reconstruct half of 4X4 intra luma macroblock for high profile.
IppStatus ippiReconstructLumaIntraHalf4x4MB_H264_16s8u_C1R(Ipp16s** ppSrcDstCoeff, Ipp8u* pSrcDstYPlane, Ipp32s srcDstYStep, IppIntra4x4PredMode_H264* pMBIntraTypes, Ipp32u cbp4x2, Ipp32s QP, Ipp8u edgeType, const Ipp16s* pQuantTable, Ipp8u bypassFlag);
IppStatus ippiReconstructLumaIntraHalf4x4_H264High_32s16u_IP1R(const IppiReconstructHighMB_32s16u* pReconstructInfo, const IppIntra4x4PredMode_H264* pMBIntraTypes, Ipp32u edgeType);
ppSrcDstCoeff |
Pointer to the order of 4x4 blocks of residual coefficients for this macroblock, which are taken as a result of Huffman decoding (4x4 luma blocks, if the block is not zero-filled) in the same order as is shown in Figure 6‑10 of [ITUH264]. Pointer is updated by the function and points to the blocks for the next macroblock. |
pSrcDstYPlane |
Pointer to the current macroblock that is reconstructed in Y-plane. |
srcDstYStep |
Y-plane step. |
pMBIntraTypes |
Array of Intra_4x4 luma prediction modes for eight subblocks. pMBIntraTypes[ i] is defined in the same way as in PredictIntra_4x4_H264 function (0 ≤ i < 8). |
cbp4x2 |
Coded block pattern. If cbp4x2 & (1<<(1+i)) is not equal to 0 (0 ≤ i < 8), i-th 4x4 AC luma block is not zero-filled and it exists in ppSrcDstCoeff. |
QP |
Quantization parameter ( QPY in [ITUH264]). It must be within the range [0;51]. |
edgeType |
Flag that specifies the availability of the macroblocks used for prediction. If the upper macroblock is not available for 4x4 intra prediction, edgeType&IPPVC_TOP_EDGE must be non-zero. If the left macroblock is not available for 4x4 intra prediction, edgeType&IPPVC_LEFT_EDGE must be non-zero. If the upper-left macroblock is not available for 4x4 intra prediction, edgeType&IPPVC_TOP_LEFT_EDGE must be non-zero. If the upper-right macroblock is not available for 4x4 intra prediction, edgeType&IPPVC_TOP_RIGHT_EDGE must be non-zero. |
pQuantTable |
Pointer to the quantization table (LevelScale(qP%6, i, j) in [ITUH264]). |
bypassFlag |
Flag enabling lossless coding. |
pReconstructInfo |
Pointer to the IppiReconstructHighMB_32s16u structure. |
The functions ippiReconstructLumaIntraHalf4x4MB_H264_16s8u_C1R and ippiReconstructLumaIntraHalf4x4_H264High_32s16u_IP1R are declared in the ippvc.h file. These functions reconstruct half of an intra luma macroblock for high profile. The process for eight 4x4 blocks (from 0 to 7 or from 8 to 15) in the same order as is shown in Figure 6-10 of [ITUH264] is described below:
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error condition if at least one of the specified pointers is NULL. |
ippStsOutOfRangeErr |
QP is less than 0 or greater than 51. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.