InterpolateICBilinearBlock_VC1

Performs intensity compensation and bilinear quarter-pel interpolation for motion estimation of the luma or chroma component using an entire motion vector.

Syntax

IppStatus ippiInterpolateICBilinearBlock_VC1_8u_C1R( const IppVCInterpolateBlockIC_8u* interpolateInfo );

IppStatus ippiInterpolateICBilinearBlock_VC1_8u_C2R( const IppVCInterpolateBlockIC_8u* interpolateInfo );

Parameters

interpolateInfo

Pointer to an instance of the IppVCInterpolateBlockIC_8u structure that contains parameters for interpolation:

interpolateInfo->pSrc

Pointer to the start of the reference field (or, in the case of a reference frame, pointer to the start of the reference frame); for the _C2R function, in the NV12 format

interpolateInfo->srcStep

Step of the reference frame

interpolateInfo-> pDst

Pointer to the destination macroblock

interpolateInfo->dstStep

Step of the destination buffer

interpolateInfo->sizeFrame

Dimensions of the reference image planes

interpolateInfo->sizeBlock

Dimensions of the block to be interpolated; maximum size is 16 in all dimensions for the _C1R function and 8 for the _C2R function

interpolateInfo->pointRefBlockPos

Position inside reference frame calculated as sum of the current position and the integer part of motion vector

interpolateInfo->pointVectorQuarterPix

Fractional part of the motion vector size, can be 0, 1, 2 or 3

interpolateInfo-> pLUTTop

Pointer to Intensity Compensation (IC) LUT table calculated in accordance with sections 8.3.8 and 10.3.7 of [SMPTE421M] and applied to pixels of the top field. If equal to 0, IC is not applied to this field. If both pLUTTop and pLUTBottom are equal to 0, no IC is applied to this frame.

interpolateInfo-> pLUTBottom

Pointer to IC LUT table calculated in accordance with sections 8.3.8 and 10.3.7 of [SMPTE421M] and applied to pixels of the bottom field. If equal to 0, IC is not applied to this field.

interpolateInfo-> OppositePadding

Flag that specifies padding correspondence between the current frame and the reference frame. 1 - if the current frame is progressive and the reference frame is interlace, or if the current frame is interlace and the reference frame is progressive. 0 - if both (current and reference) are progressive or interlace.

interpolateInfo-> fieldPrediction

Flag that specifies prediction type for the current microblock: 0 - progressive, 1 - field. In a progressive frame all microblocks have progressive prediction type. In an interlace field all microblocks have field prediction type. In the case of an interlace frame, there are microblocks with progressive prediction type and field prediction type.

interpolateInfo-> roundControl

Type of rounding for the current frame as described in section 8.3.7 of [SMPTE421M]; can be equal to 0 or 1

interpolateInfo-> isPredBottom

Flag that specifies type of the reference field in the case of an interlace reference picture. 0 - if the reference field is Top, 1 - if the reference field is Bottom. 0 is for a progressive reference frame.

Description

The functions ippiInterpolateICBilinearBlock_VC1_8u_C1R and ippiInterpolateICBilinearBlock_VC1_8u_C2R are declared in the ippvc.h file. The functions perform intensity compensation and bilinear quarter-pel interpolation in accordance with 8.3.6.5.1 of [SMPTE421M].

The ippiInterpolateICBilinearBlock_VC1_8u_C2R function performs intensity compensation and bilinear quarter-pel interpolation for motion estimation of the chroma component in the NV12 format using an entire motion vector.

Note that in the case of progressive intensity compensation, top LUT and bottom LUT are the same.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition when at least one of the specified pointers interpolateInfo, interpolateInfo->pSrc, interpolateInfo->pDst is NULL.

ippStsBadArgErr

Indicates an error condition if dx or dy values fall outside [0,3].

ippStsSizeErr

Indicates an error condition in pParams->roiSize.


Submit feedback on this help topic

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