FilterDeblockingLuma_VerEdge_MBAFF_H264

Performs deblocking filtering on the external vertical edges of half of 16X16 luma macroblock.

Syntax

IppStatus ippiFilterDeblockingLuma_VerEdge_MBAFF_H264_8u_C1IR(Ipp8u* pSrcDst, Ipp32s srcdstStep, Ipp32u nAlpha, Ipp32u nBeta, const Ipp8u* pThresholds, const Ipp8u* pBs);

IppStatus ippiFilterDeblockingLumaVerEdgeMBAFF_H264_16u_C1IR(const IppiFilterDeblock_16u* pDeblockInfo);

Parameters

pSrcDst

Pointer to the initial and resultant coefficients.

srcdstStep

Distance in items between starts of the consecutive lines in the array.

pAlpha

Alpha Threshold.

pBeta

Beta Threshold.

pThresholds

Array of size 8 of Thresholds (Tc0) (two values for the left edge of each 4x4 block).

pBs

Array of size 8 of BS parameters (two values for the left edge of each 4x4 block).

pDeblockInfo

Pointer to the IppiFilterDeblock_16u structure.

Description

The functions ippiFilterDeblockingLuma_VerEdge_MBAFF_H264_8u_C1IR and ippiFilterDeblockingLumaVerEdgeMBAFF_H264_16u_C1IR are declared in the ippvc.h file. These functions perform Deblocking Filtering on the vertical edges of the 16x16 luma macroblock in accordance with 8.7.2 of [JVTG050].

In process of filling pThresholds and pBs parameters for deblocking of each 4x4 block, a number of parameters of the neighboring blocks are taken into account. In MBAFF mode, the edge blocks may border on two others when the left and the current macroblocks are coded differently: one as a field, the other as a frame, and vice versa. As a result, two values of pThresholds and pBs parameters are taken for each block. For higher flexibility, the function processes only half of the macroblock to fit both types of the macroblocks, that is, coded as a field and coded as a frame.

The functions use arrays nAlpha, nBeta, pBs, pThresholds as input arguments. See Figure "Arrangement of pThresholds Array Elements into a macroblock" for the arrangement of pThresholds and pBs array elements.

Values of the arrays are calculated as follows:

pBs values are calculated as per 8.7.2.1 of [JVTG050] and may take the following values: 0 - if no edge is filtered; [1,3] - if filtering is weak; 4 - if filtering is strong. nAlpha values are calculated from the formulas 8-326, 8-327 and Table 8-14 of [JVTG050]. nBeta values are calculated from the formulas 8-326, 8-328 and Table 8-14 of [JVTG050]. pThresholds[i] values are calculated from the formulas 8-326, 8-327, values of pBs array and Table 8-15 of [JVTG050].

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition if at least one of the specified pointers is NULL.


Submit feedback on this help topic

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