Performs the RS decoding operation.
IppStatus ippsRSDecodeBM_8u(const int* pErasureList, int erasureListLength, Ipp8u* pCodeWord, const IppsRSDecodeSpec_8u* pRS, Ipp8u* pBuffer);
IppStatus ippsRSDecodeEE_8u(const int* pErasureList, int erasureListLength, Ipp8u* pCodeWord, const IppsRSDecodeSpec_8u* pRS, Ipp8u* pBuffer);
pErasureList |
Pointer to the array with the list of erasure locations. |
erasureListLengt |
h Length of the list of erasure locations. |
pCodeWord |
Pointer to the codeword to be decoded. |
pRS |
Pointer to the RS decoder context. |
pBuffer |
Pointer to the work buffer. |
This function is declared in the ippdi.h file. The function performs RS decoding defined by the context pRS for the systematic code in the given codeword and stores the result back at the address of pCodeWord. The RS decoders ippsRSDecodeBM and ippsRSDecodeEE implement the Berlekamp-Massey (BM) and Extended Euclidean (EE) decoding algorithms, respectively.
The work buffer pointed by pBuffer must have size not less than the respective function ippsRSDecodeBMGetBufferSize or ippsRSDecodeEEGetBufferSize returns.
ippStsNoErr |
Indicates no error. Any other value indicates an error or warning. |
ippStsNullPtrErr |
Indicates an error condition if any of the specified pointers is NULL. |
ippStsContextMatchErr |
Indicates an error condition if the context pointed by pRS is not valid. |
ippStsBadArgErr |
Indicates an error condition if any element of the array poined by pErasureList is not valid, that is, negative or exceeding the codeLength value specified in the context. |
Copyright © 2000 - 2010, Intel Corporation. All rights reserved.