Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
18 Views

RS Decoder

Does anyone have sample code for IPP's RS Decoder functions?

I am confuse of how to use the RSDecodeBM_8u and RSDecodeEE_8u, what are the pErasesureList and erasureListLength used for?
0 Kudos
5 Replies
Highlighted
18 Views

Did not you have a chance to look at IPP documentation (volume 1, signal processingmanual) ?

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 pBufferPointer to the work buffer.
pBuffer Pointer to the RS decoder context.

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.
Indicates an error condition if any of the specified pointers is NULL.
ippStsNullPtrErr Indicates an error condition if the context pointed by pRS is not valid.

ippStsContextMatchErr 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.

Pointer to the array with the list of erasure locations.

Regards,
Vladimir
0 Kudos
Highlighted
Beginner
18 Views

Quoting - Vladimir Dudnik
Hi, Thanks for reply, I have checked the document, however, it did not tell how to use the initialize function, there seems to be some work to be done before I can use the Decode function, like init GF, init DecodeSpec, and some create buffer work. I don't know what sequence should I do these things.

After doing some search, I know what Erasure means to RS decode, however, can we use these functions without ErasureList? When I trying to pass NULL and 0 for the first parameter, the return value is ippStsSizeErr.

Is there anywhere I can find more detailed document?

Thanks.

Did not you have a chance to look at IPP documentation (volume 1, signal processingmanual) ?

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 pBufferPointer to the work buffer.
pBuffer Pointer to the RS decoder context.

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.
Indicates an error condition if any of the specified pointers is NULL.
ippStsNullPtrErr Indicates an error condition if the context pointed by pRS is not valid.

ippStsContextMatchErr 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.

Pointer to the array with the list of erasure locations.

Regards,
Vladimir

0 Kudos
Highlighted
New Contributor I
18 Views

Hi Vladimir,

It might be a good idea to include a sample in the future on how to use the RS functions. The usage is not straightforward from the documentation.

Emmanuel
0 Kudos
Highlighted
Beginner
18 Views

Quoting - hesperus
Does anyone have sample code for IPP's RS Decoder functions?

I am confuse of how to use the RSDecodeBM_8u and RSDecodeEE_8u, what are the pErasesureList and erasureListLength used for?

0 Kudos
Highlighted
Beginner
18 Views

Quoting - turks


Hi turks,

Do you have any suggestion? You can contact me at mountainyu@gmail.com

Thanks!
0 Kudos