Reconstructs two halves of intra chroma macroblock.
IppStatus ippiReconstructChromaIntraHalvesMB_H264_16s8u_P2R(Ipp16s** ppSrcCoeff, Ipp8u* pSrcDstUPlane, Ipp8u* pSrcDstVPlane, Ipp32u srcDstUVStep, IppIntraChromaPredMode_H264 intraChromaMode, Ipp32u cbp4x4, Ipp32u ChromaQP, Ipp8u edgeTypeTop, Ipp8u edgeTypeBottom);
IppStatus ippiReconstructChromaIntraHalvesMB_H264_16s8u_C2R(Ipp16s** ppSrcDstCoeff, Ipp8u* pSrcDstUVPlane, Ipp32u srcDstUVStep, IppIntraChromaPredMode_H264 intraChromaMode, Ipp32u cbp4x4, Ipp32u ChromaQP, Ipp8u edgeTypeTop, Ipp8u edgeTypeBottom);
ppSrcCoeff, ppSrcDstCoeff |
Pointer to the order of 4x4 blocks of residual coefficients for this macroblock, which are taken as a result of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled) in the same order as is shown in Figure 8-7 of [JVTG050]. Pointer is updated by the function and points to the blocks for the next macroblock. |
pSrcDstUPlane |
Pointer to current U plane that is reconstructed. |
pSrcDstVPlane |
Pointer to current V plane that is reconstructed. |
pSrcDstUVPlane |
Pointer to current U and V planes in the N12 format, which are reconstructed. |
srcDstUVStep |
Plane step. |
intraChromaMode |
Prediction mode of the Intra_chroma prediction process for chroma samples. It is defined in the same way as in PredictIntraChroma8x8_H264 function. |
cbp4x4 |
Coded block pattern. If cbp4x4 & (1<<(IPPVC_CBP_1ST_CHROMA_DC_BITPOS) is not equal to 0, 2x2 DC U-block is not zero-filled and exists in ppSrcCoeff. If cbp4x4 & (1<<(IPPVC_CBP_1ST_CHROMA_DC_BITPOS+ 1)) is not equal to 0, 2x2 DC U-block is not zero-filled and exists in ppSrcCoeff. If cbp4x4 & (1<<(IPPVC_CBP_1ST_CHROMA_AC_BITPOS+ i)) is not equal to 0, (0 ≤ i < 4), i-th 4x4 AC U-block is not zero-filled and exists in ppSrcCoeff. If cbp4x4 & (1<<(IPPVC_CBP_1ST_CHROMA_AC_BITPOS+ i+4)) is not equal to 0, (0 ≤ i < 4), i-th 4x4 AC U-block is not zero-filled and exists in ppSrcCoeff. |
ChromaQP |
Chroma quantizer ( QPC in [JVTG050]). It must be within the range [0;39]. |
edgeTypeTop, edgeTypeBottom |
Flags that specify the availability of the macroblocks used for prediction. Upper and lower halves of the macroblock may have different prediction vectors, so use two flags: one for the upper half of the macroblock, the other - for the lower half. |
The functions ippiReconstructChromaIntraHalvesMB_H264_16s8u_P2R and ippiReconstructChromaIntraHalvesMB_H264_16s8u_C2R are declared in the ippvc.h file.
ippiReconstructChromaIntraHalvesMB_H264_16s8u_P2R reconstructs an intra chroma macroblock (8x8 U macroblock and 8x8 V macroblock), divided into upper and lower halves, 16x8 each, differing only in prediction, that is, having independent prediction vectors. Otherwise their performance is the same.
ippiReconstructChromaIntraHalvesMB_H264_16s8u_C2R reconstructs an intra chroma macroblock in the N12 format (16x8 UV) divided into upper and lower halves, 16x4 each, differing only in prediction, that is, having independent prediction vectors. Otherwise their performance is the same.
Each of the functions works as follows:
These functions are used in the H.264 decoder 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 |
ChromaQP is less than 0 or greater than 39. |
ippStsStepErr |
Indicates an error condition if srcDstUVStep is less than 0. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.