Interpolation

The interpolation VC-1 decoder functions use the following structures:

typedef struct _IppVCInterpolate_8u
{
    const Ipp8u* pSrc;
    Ipp32s      srcStep;
    Ipp8u*      pDst;
    Ipp32s      dstStep;
    Ipp32s      dx;
    Ipp32s      dy;
    IppiSize    roiSize;
    Ipp32s      roundControl;
} IppVCInterpolate_8u;

where

pSrc

Pointer to the source.

srcStep

Step of the source array pointer in bytes.

pDst

Pointer to the destination.

dstStep

Step of the destination array pointer in bytes.

dx, dy

Fractional parts of the motion vector in 1/4 pel units for luma (0, 1, 2, or 3) and 1/8 pel units for chroma (0, 1, ..., 7)

roiSize

Flag that specifies the dimensions of the region of interest (can be 16, 8, 4 or 2 in each dimension).

roundControl

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

The above structure is used by the InterpolateQPBilinear_VC1 and InterpolateQPBicubic_VC1 functions.

The intensity compensation interpolation functions use the following structure:

typedef struct _IppVCInterpolateBlockIC_8u {
    const Ipp8u* pSrc;
    Ipp32s      srcStep;
    Ipp8u*      pDst;
    IppiSize    sizeFrame;
    IppiSize    sizeBlock;
    IppiPoint   pointRefBlockPos;
    IppiPoint   pointVectorQuarterPix;
    Ipp8u*      pLUTTop;
    Ipp8u*      pLUTBottom;
    Ipp32u      OppositePadding;
    Ipp32u      fieldPrediction;
    Ipp32u      RoundControl;
    Ipp32u      isPredBottom;
} IppVCInterpolateBlockIC_8u;

See description of the above structure in the descriptions of the InterpolateICBilinearBlock_VC1 and InterpolateICBicubicBlock_VC1 functions.


Submit feedback on this help topic

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