Evaluates difference between current predicted and reference blocks of 8x8 elements.
IppStatus ippiGetDiff8x8_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 ippiGetDiff8x8_8u16s_C2P2(const Ipp8u* pSrcCur, Ipp32s srcCurStep, const Ipp8u* pSrcRef, Ipp32s srcRefStep, Ipp16s* pDstDiffU, Ipp32s dstDiffStepU, Ipp16s* pDstDiffV, Ipp32s dstDiffStepV, Ipp32s mcType, Ipp32s roundControl);
pSrcCur |
Pointer to the block of size 8x8 in the current plane. For ippiGetDiff8x8_8u16s_C2P2, pointer to the block of size 8x16 in the current plane in the NV12 format (or 8x8 for each U and V planes):
|
srcCurStep |
Step of the current block, specifying width of the plane in bytes. |
pSrcRef |
Pointer to the block of size 8x8 in the reference plane (for ippiGetDiff8x8_8u16s_C2P2, pointer to the block of size 8x16 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 8x8 in the destination plane, which contains difference between the current and reference blocks. |
pDstDiffU |
Pointer to the block of size 8x8
in the destination plane, which contains difference between the
current and reference blocks (U plane): |
pDstDiffV |
Pointer to the block of size 8x8
in the destination plane, which contains difference between the
current and reference blocks (V plane): |
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. |
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 ippiGetDiff8x8_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 ippiGetDiff8x8_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.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when at least one input pointer is NULL. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.