DisassembleLumaIntra_AVS

Disassembles intra luma macroblocks.

Syntax

IppStatus ippiDisassembleLumaIntra_AVS_16s8u_C1R(const Ipp8u* pSrcPlane, Ipp32s srcStep, Ipp8u* pDstPlane, Ipp32s dstStep, Ipp16s** ppDstCoeff, const IppIntra8x8PredMode_AVS* pPredModes, Ipp32u* pLumaCBP, Ipp32u QP, Ipp32u edgeType);

Parameters

pSrcPlane

Pointer to the source macroblock that is being coded in Y-plane.

srcStep

Source Y-plane step.

pDstPlane

Pointer to the current macroblock that is reconstructed in Y-plane.

dstStep

Destination Y-plane step.

ppDstCoeff

Pointer to the order of 8x8 blocks of residual coefficients for the macroblock. The pointer is updated by the function and points to free space for the blocks for the next macroblock.

pPredModes

Array of Intra_8x8 luma prediction modes for each subblock.

pLumaCBP

Pointer to the variable to store a coded block pattern. This value is calculated by the function.

QP

Quantization parameter (CurrentQP in [AVS] ), must be in the range [0;63].

edgeType

Flag that specifies the availability of the macroblocks used for prediction.

If the upper macroblock is not available for 8x8 intra prediction, edgeType&IPPVC_TOP_EDGE must be non-zero.

If the left macroblock is not available for 8x8 intra prediction, edgeType&IPPVC_LEFT_EDGE must be non-zero.

If the upper-left macroblock is not available for 8x8Intra prediction, edgeType&IPPVC_TOP_LEFT_EDGE must be non-zero.

If the upper-right macroblock is not available for 8x8Intra prediction, edgeType&IPPVC_TOP_RIGHT_EDGE must be non-zero.

Description

The function ippiDisassembleLumaIntra_AVS_16s8u_C1R is declared in the ippvc.h file. This function disassembles intra luma macroblocks. The residual coefficients are taken as a result of intra-prediction, forward transforming, and forward quantization (8x8 luminance intra blocks, if the block is not zero-filled) in the same order as is shown in Figure 6-7 of [AVS]. The process for the 8x8 blocks is described below:

The function calculates the best prediction mode for each subblock, trying to save as much of visual information as possible. pPredModes [i] is defined in the same order as the coded subblocks go.

If *pLumaCBP & (1<<(1+i)) is not equal to 0 (0 ≤ i < 4), i-th 8x8 AC luma block is not zero-filled and it exists in ppDstCoeff.

Return Values

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 63.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.