Reconstruct two independent halves of 4X4 intra chroma macroblock for high profile.
IppStatus ippiReconstructChromaIntraHalves4x4MB_H264_16s8u_P2R(Ipp16s** ppSrcDstCoeff, Ipp8u* pSrcDstUPlane, Ipp8u* pSrcDstVPlane, Ipp32u srcDstUVStep, IppIntraChromaPredMode_H264 intraChromaMode, Ipp32u cbp4x4, Ipp32s ChromaQPU, Ipp32u ChromaQPV, Ipp8u edgeTypeTop, Ipp8u edgeTypeBottom, const Ipp16s* pQuantTableU, const Ipp16s* pQuantTableV, Ipp8u bypassFlag);
IppStatus ippiReconstructChromaIntraHalf4x4_H264High_32s16u_IP2R(const IppiReconstructHighMB_32s16u* pReconstructInfo[2], IppIntraChromaPredMode_H264 intraChromaMode, Ipp32u edgeTypeTop, Ipp32u edgeTypeBottom);
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 [ITUH264]. 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. |
srcDstUVStep |
Plane step. |
intraChromaMode |
Prediction mode of the Intra_chroma prediction process for chroma samples. This mode 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 ppSrcDstCoeff. 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 ppSrcDstCoeff. 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 ppSrcDstCoeff. 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 ppSrcDstCoeff. |
ChromaQPU |
Chroma quantizer for U plane (QPC in [ITUH264]). It must be within the range [0;39]. |
ChromaQPV |
Chroma quantizer for V plane (QPC in [ITUH264]). 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. |
pQuantTableU |
Pointer to the quantization table for U plane (LevelScale(QPC,DC%6, 0, 0)) in [ITUH264]). |
pQuantTableV |
Pointer to the quantization table for V plane (LevelScale(QPC,DC%6, 0, 0)) in [ITUH264]). |
bypassFlag |
Flag enabling lossless coding. |
pReconstructInfo[2] |
Pointer to the IppiReconstructHighMB_32s16u structure. The first pointer pReconstructInfo[0] points to the structure with parameters for restructuring chroma macroblock of plane U, and the second pointer pReconstructInfo[1] points to the structure with parameters for restructuring Chroms macroblock of plane V. |
The functions ippiReconstructChromaIntraHalves4x4MB_H264_16s8u_P2R and ippiReconstructChromaIntraHalf4x4_H264High_32s16u_IP2R are declared in the ippvc.h file. These functions reconstruct 4x4 intra chroma macroblock (8x8 U macroblock and 8x8 V macroblock) for high profile. The macroblock is divided into upper and lower halves, 16x8 each. The halves differ only in prediction, that is, have independent prediction vectors. Otherwise their performance is the same:
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 |
ChromaQPU or ChromaQPV is less than 0 or greater than 39. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.