Evaluate sum of squares, bi-predicted 16X16 block
SSE2
FwStatus | fwiSqrDiff16x16B_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRefF, Fw32s refStepF, Fw32s mcTypeF, const Fw8u * pRefB, Fw32s refStepB, Fw32s mcTypeB, Fw32s * pSqrDiff ); |
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). |
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.