File rs_codec_core.h¶
File List > doppler > rs_codec > rs_codec_core.h
Go to the documentation of this file
#ifndef DP_RS_CODEC_CORE_H
#define DP_RS_CODEC_CORE_H
#include "doppler/clib_common.h"
#include "doppler/jm_perf.h"
#include "doppler/rs/rs_core.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct
{
rs_t rs;
/*<<property_struct_fields>>*/
} dp_rs_codec_state_t;
dp_rs_codec_state_t *dp_rs_codec_create (uint32_t nroots, uint32_t symbol_bits,
uint32_t field_poly, uint32_t first_root,
uint32_t root_stride);
void dp_rs_codec_destroy (dp_rs_codec_state_t *state);
size_t dp_rs_codec_encode_max_out (dp_rs_codec_state_t *state, size_t n_in);
size_t dp_rs_codec_encode (dp_rs_codec_state_t *state, const uint8_t *in,
size_t n_in, uint8_t *out, size_t max_out);
int dp_rs_codec_decode (dp_rs_codec_state_t *state, uint8_t *codeword,
size_t codeword_len);
size_t dp_rs_codec_syndromes_max_out (dp_rs_codec_state_t *state, size_t n_in);
size_t dp_rs_codec_syndromes (dp_rs_codec_state_t *state, const uint8_t *in,
size_t n_in, uint8_t *out, size_t max_out);
int dp_rs_codec_codeword_ok (dp_rs_codec_state_t *state, const uint8_t *codeword,
size_t codeword_len);
size_t dp_rs_codec_generator (dp_rs_codec_state_t *state, uint8_t *out,
size_t out_len);
size_t dp_rs_codec_get_n (const dp_rs_codec_state_t *state);
size_t dp_rs_codec_get_k (const dp_rs_codec_state_t *state);
size_t dp_rs_codec_get_e (const dp_rs_codec_state_t *state);
size_t dp_rs_codec_get_nroots (const dp_rs_codec_state_t *state);
size_t dp_rs_codec_get_symbol_bits (const dp_rs_codec_state_t *state);
#ifdef __cplusplus
}
#endif
#endif /* RS_CODEC_CORE_H */