RSDecodeBM, RSDecodeEE

Performs the RS decoding operation.

Syntax

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);

Parameters

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.

Description

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.

Return Values

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.


Submit feedback on this help topic

Copyright © 2000 - 2010, Intel Corporation. All rights reserved.