X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fec.c;h=fe02487dee71c405e69892deb2e601a518e00bdc;hp=e543aedcfc7078d81e4c3165f2e379fa77571502;hb=90ca7e7aa9bee7ee962674bfbd6e10f1dbebd0c7;hpb=625c5cd993d07a63061a0788f174e12fa1c221e0 diff --git a/fec.c b/fec.c index e543aedc..fe02487d 100644 --- a/fec.c +++ b/fec.c @@ -214,7 +214,7 @@ static void matmul(unsigned char *a, unsigned char *b, unsigned char *c, * Compute the inverse of a matrix. * * k is the size of the matrix 'src' (Gauss-Jordan, adapted from Numerical - * Recipes in C). Returns -1 if 'src' is singular. + * Recipes in C). Returns negative on errors. */ static int invert_mat(unsigned char *src, int k) { @@ -394,8 +394,13 @@ static void init_fec(void) fec_initialized = 1; } +/** Internal FEC parameters. */ struct fec_parms { - int k, n; /* parameters of the code */ + /** Number of data slices. */ + int k; + /** Number of slices (including redundant slices). */ + int n; + /** The encoding matrix, computed by init_fec(). */ unsigned char *enc_matrix; }; @@ -480,7 +485,7 @@ int fec_new(int k, int n, struct fec_parms **result) * \param sz The size of the input data packets. * * Encode the \a k slices of size \a sz given by \a src and store the output - * slice number \a idx in \dst. + * slice number \a idx in \a dst. */ void fec_encode(struct fec_parms *parms, const unsigned char * const *src, unsigned char *dst, int idx, int sz) @@ -553,7 +558,7 @@ err: /** * Decode one slice from the group of received slices. * - * \param code Pointer to fec params structure. + * \param parms Pointer to fec params structure. * \param data Pointers to received packets. * \param idx Pointer to packet indices (gets modified). * \param sz Size of each packet.