Finds optimal indexes with minimal distortion.
IppStatus ippsVQMainSelect_32f(const Ipp32f* pSrc, const Ipp32f* pWeights, int nDiv, const Ipp32s* pLengths, int nCand, Ipp32s** ppIndexCand, Ipps32s** ppSignCand, Ipp32s** ppIndx, Ipp32s** ppSign, IppsVQCodeBookState_32f** ppCodeBooks, int nCodeBooks);
pSrc |
Pointer to the source vector. |
pWeights |
Pointer to the vector of weights. |
nDiv |
Number of fragmentations of the pSrc and pWeights vectors. |
pLengths |
Pointer to an array of lengths of fragmentations. |
nCand |
Number of input candidates. |
ppIndexCand |
Double pointer to the input vectors of indexes of nCand minimum candidates. |
ppSignCand |
Double pointer to the input vectors of signs of nCand minimum candidates. |
ppIndx |
Double pointer to the output vectors of indexes. |
ppSign |
Double pointer to the output vectors of signs. |
ppCodeBooks |
Double pointer to the initialized codebook state structures. |
nCodeBooks |
Number of codebooks. |
This function is declared in the ippac.h header file. The function restores vectors for all possible combinations of indexes across the specified number of codebooks then computes the distortion against the source vector. The function then returns the combination that provides for the minimal distortion.
The following formula serves for computing of the distortion for the given fragmentation idiv with the specified quantization vectors icb[i], where i is within the range of [0, nCodeBooks-1].
Here
In these formulas
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.