GetDiff8x4

Evaluates difference between current predicted and reference blocks of 8x4 elements.

Syntax

IppStatus ippiGetDiff8x4_8u16s_C1(const Ipp8u* pSrcCur, Ipp32s srcCurStep, const Ipp8u* pSrcRef, Ipp32s srcRefStep, Ipp16s* pDstDiff, Ipp32s dstDiffStep, Ipp16s* pDstPredictor, Ipp32s dstPredictorStep, Ipp32s mcType, Ipp32s roundControl);

IppStatus ippiGetDiff8x4_8u16s_C2P2(const Ipp8u* pSrcCur, Ipp32s srcCurStep, const Ipp8u* pSrcRef, Ipp32s srcRefStep, Ipp16s* pDstDiffU, Ipp32s dstDiffStepU, Ipp16s* pDstDiffV, Ipp32s dstDiffStepV, Ipp32s mcType, Ipp32s roundControl);

Parameters

pSrcCur

Pointer to the block of size 8x4 in the current plane.

For ippiGetDiff8x4_8u16s_C2P2, pointer to the block of size 8x8 in the current plane in the NV12 format (or 8x4 for each U and V planes):

0 UVUVUVUV 1 UVUVUVUV ... 7 UVUVUVUV

srcCurStep

Step of the current block, specifying width of the plane in bytes.

pSrcRef

Pointer to the block of size 8x4 in the reference plane (for ippiGetDiff8x4_8u16s_C2P2, pointer to the block of size 8x8 in the reference plane in the NV12 format).

srcRefStep

Step of the reference block, specifying width of the plane in bytes.

pDstDiff

Pointer to the block of size 8x4 in the destination plane, which contains difference between the current and reference blocks.

pDstDiffU

Pointer to the block of size 8x4 in the destination plane, which contains difference between the current and reference blocks (U plane):
0 UUUU 1 UUUU ... 7 UUUU

pDstDiffV

Pointer to the block of size 8x4 in the destination plane, which contains difference between the current and reference blocks (V plane):
0 VVVV 1 VVVV ... 7 VVVV

dstDiffStep

Step of the destination block, specifying width of the block in bytes.

dstDiffStepU

Step of the destination block, specifying width of the block in bytes (U plane).

dstDiffStepV

Step of the destination block, specifying width of the block in bytes (V plane).

mcType

Type of the following MC type IPPVC_MC_APX.

roundControl

Parameter that determines type of rounding for half a pel approximation; may be 0 or 1.

Description

This function is declared in the ippvc.h header file. The function ippiGetDiff8x4_8u16s evaluates the difference between the current block of specified size and the reference one.

For ippiGetDiff8x4_8u16s_C1, the result is stored in blocks pDstDiff and pDstPredictor. The latter stores some additional information about the coding block. This information is used for encoding next blocks that refer to the current one.

For ippiGetDiff8x4_8u16s_C2P2, the result is stored in blocks pDstDiffU and pDstDiffV.

This method helps to decrease the number of encoding errors. Encoding is performed accurate to half a pel and rounding must be specified.

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.