SqrDiff16x16B

Evaluate sum of squares, bi-predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSqrDiff16x16B_8u32s ( const Fw8u * pSrcFw32s srcStepconst Fw8u * pRefFFw32s refStepFFw32s mcTypeFconst Fw8u * pRefBFw32s refStepBFw32s mcTypeBFw32s * pSqrDiff );

Parameters

mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pRefB   Pointer to a backward-reference block of specified size.
pRefF   Pointer to a forward-reference block of specified size.
pSqrDiff   Pointer to a sum of square differences between the current and reference blocks.
pSrc   Pointer to a block of DCT coefficients.
refStepB   Backward reference frame reference block step size (width of the block in bytes).
refStepF   Forward reference frame reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the sum of squares variance between all the elements of a bi-predicted 16X16 source block and the corresponding elements of a 16X16 forward reference block and a 16X16 backward reference block. Integer results are written to a location specified by pSqrDiff.

Compensation types for the forward and backward reference blocks are specified by the mcTypeF and mcTypeB parameters.

When mcType = FWVC_MC_APX_FF, each element of the reference block is used.

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

When mcType = FWVC_MC_APX_HH, the average of four reference block elements is used.