Provided by: liblcrq0.0_0.1.1-1_amd64 bug

NAME

       rq_decode - decode RaptorQ block

SYNOPSIS

       #include <lcrq.h>

       int rq_decode(rq_t *rq, uint8_t *dec, uint8_t *enc, uint32_t ESI[], uint32_t nesi);

       Compile and link with -llcrq.

DESCRIPTION

       Decodes a RaptorQ block using a variation of the method described in 5.4.2 of RFC6330.

       rq must be a pointer to valid rq_t context.

       dec  must  be  a  pointer  to  a  buffer of at least T x K bytes. The decoded data will be
       written to this buffer.

       enc a pointer to the encoded block.

       ESI[] ESI index. This is an array of ESIs in the same order as the encoding symbols in enc

       nesi The Loch Ness Monster. Or the number of decoding symbols. Preferably the latter.

RETURN VALUE

       On success, 0 is returned.  If decoding fails, the function returns -1.

EXAMPLE

       /* symbols are received into enc, with their respective ESIs written to ESI
        * OH is the number of extra (overhead) symbols in addition to the
        * required K' (KP) symbols.
        * Now we can decode the object into the pre-allocated buffer dec.
        */
       for (uint8_t sbn = 0; sbn < rq_Z(rq); sbn++) {
            rq_decode(rq, dec, enc[sbn], ESI[sbn], KP + OH);
       }

SEE ALSO

       rq_init(3), rq_free(3), rq_encode(3), rq_symbol(3), lcrq(7)