diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-09-23 20:09:39 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-09-23 20:09:39 +0200 |
commit | 09e514732788d821189c59ddc58e70355ba1a3cb (patch) | |
tree | d7adc353859aa7f796bda0b4be12421f69779e73 /lib/fec/fec.h | |
parent | 56ad3cdd13e4c0078329ede5781bae4fcaeed569 (diff) | |
download | ODR-SourceCompanion-09e514732788d821189c59ddc58e70355ba1a3cb.tar.gz ODR-SourceCompanion-09e514732788d821189c59ddc58e70355ba1a3cb.tar.bz2 ODR-SourceCompanion-09e514732788d821189c59ddc58e70355ba1a3cb.zip |
Add code from common repository
Diffstat (limited to 'lib/fec/fec.h')
-rw-r--r-- | lib/fec/fec.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/fec/fec.h b/lib/fec/fec.h new file mode 100644 index 0000000..0d1bae1 --- /dev/null +++ b/lib/fec/fec.h @@ -0,0 +1,30 @@ +/* Main header for reduced libfec. + * + * The FEC code in this folder is + * Copyright 2003 Phil Karn, KA9Q + * May be used under the terms of the GNU Lesser General Public License (LGPL) + */ + +#pragma once + +#include <stdlib.h> + +#include "char.h" +#include "rs-common.h" + +/* Initialize a Reed-Solomon codec + * symsize = symbol size, bits + * gfpoly = Field generator polynomial coefficients + * fcr = first root of RS code generator polynomial, index form + * prim = primitive element to generate polynomial roots + * nroots = RS code generator polynomial degree (number of roots) + * pad = padding bytes at front of shortened block + */ +void *init_rs_char(int symsize,int gfpoly,int fcr,int prim,int nroots,int pad); + +int decode_rs_char(void *p, data_t *data, int *eras_pos, int no_eras); + +void encode_rs_char(void *p,data_t *data, data_t *parity); + +void free_rs_char(void *p); + |