Evaluate bi-predicted 8X16 block
|FwStatus||fwiGetDiff8x16B_8u16s_C1||(||const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl );|
|dstDiffStep||Destination block step size (width of the block in bytes).|
|mcTypeB||Specifies the type of prediction used for backward frame motion compensation.|
|mcTypeF||Specifies the type of prediction used for forward frame motion compensation.|
|pDstDiff||Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.|
|pSrcCur||Pointer to a block in the current plane.|
|pSrcRefB||Pointer to a backward block in the reference plane.|
|pSrcRefF||Pointer to a forward block in the reference plane.|
|roundControl||Specifies the type of rounding used for half-pixel approximation.|
|srcCurStep||Source current block step size (width of the block in bytes)|
|srcRefStepB||Source backward reference block step size (width of the block in bytes)|
|srcRefStepF||Source forward reference block step size (width of the block in bytes)|
This function compares an 8X16 source block to two 8X16 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.
Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.
When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.
When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.
When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.
Encoding has half-pixel accuracy, and a rounding method must be specified.