MC16x8UV

Motion compensation for predicted 16X8 UV block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x8UV_8u_C1 ( const Fw8u * pSrcRefFw32s srcStepconst Fw16s * pSrcYDataFw32s srcYDataStepFw8u * pDstFw32s dstStepFw32s mcTypeFw32s roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X8 predicted UV block to a 16X8 decoded residual UV block to reconstruct a source UV block. Prediction is based on the values in a reference UV block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.