diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-16 11:54:00 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-16 11:58:47 +0200 |
commit | 4030943945ac5c69cb16d44c43f73105c92a2baf (patch) | |
tree | d45552d86bb54ecae62524db10fc6b53d2c0390b /src/fec/fec.h | |
parent | 23999721c627200ca17b0a090239315450affe75 (diff) | |
download | dabmux-4030943945ac5c69cb16d44c43f73105c92a2baf.tar.gz dabmux-4030943945ac5c69cb16d44c43f73105c92a2baf.tar.bz2 dabmux-4030943945ac5c69cb16d44c43f73105c92a2baf.zip |
Add parts of ka9q libfec to src/fec/
Diffstat (limited to 'src/fec/fec.h')
-rw-r--r-- | src/fec/fec.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/fec/fec.h b/src/fec/fec.h new file mode 100644 index 0000000..0d1bae1 --- /dev/null +++ b/src/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); + |