MC8x8B

Performs motion compensation for bi-predicted 8X8 block.

Syntax

IppStatus ippiMC8x8B_8u_C1(const Ipp8u* pSrcRefF, Ipp32s srcStepF, Ipp32s mcTypeF, const Ipp8u* pSrcRefB, Ipp32s srcStepB, Ipp32s mcTypeB, const Ipp16s* pSrcYData, Ipp32s srcYDataStep, Ipp8u* pDst, Ipp32s dstStep, Ipp32s roundControl);

IppStatus ippiMC8x8B_16s8u_P2C2R(const Ipp8u* pSrcRefF, Ipp32s srcRefFStep, Ipp32s mcTypeF, const Ipp8u* pSrcRefB, Ipp32s srcRefBStep, Ipp32s mcTypeB, const Ipp16s* pSrcU, const Ipp16s* pSrcV, Ipp32s srcUVStep, Ipp8u* pDst, Ipp32s dstStep, Ipp32s roundControl);

Parameters

pSrcRefF

Pointer to the forward reference block.

For ippiMC8x8B_16s8u_P2C2R, pointer to the chrominance part of the NV12 plane:

0 UV UV UV UV UV UV UV UV 1 UV UV UV UV UV UV UV UV ... 7 UV UV UV UV UV UV UV UV

srcStepF, srcRefFStep

Size of the row in bytes, specifying the aligned forward reference frame width. A negative value is acceptable.

mcTypeF

Forward MC type IPPVC_MC_APX

pSrcRefB

Pointer to the backward reference block. For ippiMC8x8B_16s8u_P2C2R, pointer to the chrominance part of the NV12 plane.

srcStepB, srcRefBStep

Size of the row in bytes, specifying the aligned backward reference frame width

mcTypeB

Backward MC type IPPVC_MC_APX

pSrcYData

Pointer to the data obtained after inverse DCT.

pSrcU

Pointer to the buffer that contains U coefficients obtained after inverse DCT

pSrcV

Pointer to the buffer that contains V coefficients obtained after inverse DCT

srcYDataStep

Number of bytes, specifying the width of the aligned data obtained after inverse DCT

srcUVStep

Number of bytes, specifying the width of the source block. A negative value is acceptable.

pDst

Pointer to the destination predicted block. For ippiMC8x8B_16s8u_P2C2R, pointer to the chrominance part of the NV12 plane.

dstStep

Size of the row in bytes, specifying the aligned destination frame width. A negative value is acceptable.

roundControl

Parameter that determines type of rounding for half-pixel approximation; may be 0 or 1

Description

This function is declared in the ippvc.h header file. The function ippiMC8x8B_8u_C1 calculates sum of 8x8 residual block and 8x8 predicted block, which is calculated as average of two 8x8 predictions (F-prediction and B-prediction) (See Figure Motion Compensation Scheme for Bi-Predicted Block). Each prediction is calculated on the basis of the corresponding reference block and corresponding mcType (see IPPVC_MC_APX).

ippiMC8x8B_16s8u_P2C2R performs motion compemsation for an NV12 chrominance plane:

NV12 Plane:

YY YY YY YY YY YY YY YY UV UV UV UV

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one input pointer is NULL.


Submit feedback on this help topic

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