FEC: encoding on packet of pack
FEC: encoding on packet of pack

A data packet is composed of 'k' data buffers each of a given size.
Output packet is composed of 'n' coded buffers each of the same size.
Encoding is performed in data packets to generate 'n' output packets.

Since data is read as char buffers, and FEC works on type T where each
number uses 'word_size' to store useful data, we need to pack and unpack
packets.

1. Pack
a. Input
- A vector of buffers of type Ts
- Word_size: number of bytes per output elements to store data
b. Output
Vector of buffers of type Td
c. Condition
- sizeof(Td) >= Word_size
- Word_size % sizeof(Ts) = 0
d. How to do
- Cast buffers of source to a type corresponding to 'Word_size'
- Copy casted elements to buffers of destination

2. UnPack
a. Input
- A vector of buffers of type Ts
- Word_size: number of bytes per input elements to store data
b. Output
Vector of buffers of type Td
c. Condition
- sizeof(Ts) >= Word_size
- Word_size % sizeof(Td) = 0
d. How to do
- Cast buffers of destination to a type corresponding to 'Word_size'
- Copy source elements to casted elements

vrancurel/ntl,vrancurel/ntl,vrancurel/ntl