InterpolateQPBilinear_VC1

Performs bilinear quarter-pel interpolation.

Syntax

IppStatus ippiInterpolateQPBilinear_VC1_8u_C1R( const IppVCInterpolate_8u* pParams );

IppStatus ippiInterpolateQPBilinear_VC1_8u_C2R( const IppVCInterpolate_8u* pParams );

Parameters

pParams

Pointer to the structure that contains parameters for interpolation:

pParams->pSrc

Pointer to the source (for the _C2R function, in the NV12 format)

pParams->srcStep

Distance in bytes between starts of the consecutive lines in the source block

pParams-> pDst

Pointer to the destination (for the _C2R function, in the NV12 format)

pParams ->dstStep

Distance in bytes between starts of the consecutive lines in the destination block

pParams->dx, pParams->dy

Fractional parts of the motion vector in 1/4 pel units (0, 1, 2, or 3)

pParams ->bitDepth

Not used by this function, should be equal to 0

pParams-> roundControl

Frame level rounding control value as described in section 8.3.7 of [SMPTE421M], should be equal to 0 or 1

pParams-> roiSize

Block size, should be

16x16:

  • Progressive frames/ 1-MV Macroblocks/ luma blocks

  • Interlace fields/ 1-MV Macroblocks/ luma blocks

8x8:

  • Progressive frames/ 4-MV Macroblocks/ luma and chroma blocks

  • Progressive frames/ 4-MV Macroblocks/ chroma blocks

  • Interlace fields/ 4-MV Macroblocks/ chroma blocks

  • Interlace fields/ 1-MV Macroblocks/ chroma blocks

  • Interlace frames/ 1-MV Macroblocks/ chroma blocks

8x4:

  • Interlace frames/ 2-MV Macroblocks/ chroma blocks

4x4:

  • Interlace frames/ 4-MV Macroblocks/ chroma blocks.

For the _C2R function, this block size should be 8x8, 8x4, 4x4 for each U or V component (actually, the real size of a combined UV block is 16x8, 16x4, 8x4).

Description

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

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error condition when at least one of the specified pointers 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.