xref: /aosp_15_r20/external/fec/init_rs_int.c (revision 638691a093b4f9473cd6ee8f3e0139deef159a86)
1*638691a0SAndroid Build Coastguard Worker /* Initialize a RS codec
2*638691a0SAndroid Build Coastguard Worker  *
3*638691a0SAndroid Build Coastguard Worker  * Copyright 2002 Phil Karn, KA9Q
4*638691a0SAndroid Build Coastguard Worker  * May be used under the terms of the GNU Lesser General Public License (LGPL)
5*638691a0SAndroid Build Coastguard Worker  */
6*638691a0SAndroid Build Coastguard Worker #include <stdlib.h>
7*638691a0SAndroid Build Coastguard Worker 
8*638691a0SAndroid Build Coastguard Worker #include "int.h"
9*638691a0SAndroid Build Coastguard Worker #include "rs-common.h"
10*638691a0SAndroid Build Coastguard Worker 
free_rs_int(void * p)11*638691a0SAndroid Build Coastguard Worker void free_rs_int(void *p){
12*638691a0SAndroid Build Coastguard Worker   struct rs *rs = (struct rs *)p;
13*638691a0SAndroid Build Coastguard Worker 
14*638691a0SAndroid Build Coastguard Worker   free(rs->alpha_to);
15*638691a0SAndroid Build Coastguard Worker   free(rs->index_of);
16*638691a0SAndroid Build Coastguard Worker   free(rs->genpoly);
17*638691a0SAndroid Build Coastguard Worker   free(rs);
18*638691a0SAndroid Build Coastguard Worker }
19*638691a0SAndroid Build Coastguard Worker 
20*638691a0SAndroid Build Coastguard Worker /* Initialize a Reed-Solomon codec
21*638691a0SAndroid Build Coastguard Worker  * symsize = symbol size, bits
22*638691a0SAndroid Build Coastguard Worker  * gfpoly = Field generator polynomial coefficients
23*638691a0SAndroid Build Coastguard Worker  * fcr = first root of RS code generator polynomial, index form
24*638691a0SAndroid Build Coastguard Worker  * prim = primitive element to generate polynomial roots
25*638691a0SAndroid Build Coastguard Worker  * nroots = RS code generator polynomial degree (number of roots)
26*638691a0SAndroid Build Coastguard Worker  * pad = padding bytes at front of shortened block
27*638691a0SAndroid Build Coastguard Worker  */
init_rs_int(int symsize,int gfpoly,int fcr,int prim,int nroots,int pad)28*638691a0SAndroid Build Coastguard Worker void *init_rs_int(int symsize,int gfpoly,int fcr,int prim,
29*638691a0SAndroid Build Coastguard Worker 	int nroots,int pad){
30*638691a0SAndroid Build Coastguard Worker   struct rs *rs;
31*638691a0SAndroid Build Coastguard Worker 
32*638691a0SAndroid Build Coastguard Worker #include "init_rs.h"
33*638691a0SAndroid Build Coastguard Worker 
34*638691a0SAndroid Build Coastguard Worker   return rs;
35*638691a0SAndroid Build Coastguard Worker }
36