Evaluates variances and means of two 8x8 blocks of difference between two 16x8 blocks.
IppStatus ippiVarMeanDiff16x8_8u32s_C1R(const Ipp8u* pSrc, Ipp32s srcStep, const Ipp8u* pRef, Ipp32s srcStep, Ipp32s* pSrcSum, Ipp32s* pVar, Ipp32s* pMean, Ipp32s mcType);
pSrc |
Pointer to the current block 16x8. |
srcStep |
Current block step. |
pRef |
Pointer to the reference block 16x8. |
srcStep |
Reference block step. |
pSrcSum |
Pointer to the sum of pixel values for the current block. |
pVar |
Pointer to the variance. |
pMean |
Pointer to the mean value. |
mcType |
MC type IPPVC_MC_APX. |
This function is declared in the ippvc.h header file. The function ippiVarMeanDiff16x8_8u32s_C1R evaluates the means and variances of two 8x8 blocks of difference between two 16x8 blocks.
As the function is repeatedly called for the same current block, the parameter pSrcSum is used to avoid excessive computation. This parameter should point to an array of four 8x8 blocks comprising the current block. The parameters pVar, pMean should point to arrays of four elements, since the values of variance and mean are calculated separately for each 8x8 block.
Mean is evaluated by the following formula:
Variance is evaluated by the following formula:
This function is used in the MPEG-2 encoder included into Intel IPP Samples. See introduction to this section.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when at least one input pointer is NULL. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.