#include <stdlib.h>
#include <alloca.h>
#include "FEC.hpp"
Go to the source code of this file.
|
| bool | FEC__correct (FEC fec, unsigned int *data, unsigned int size) |
| |
| FEC | FEC__create (unsigned int symbol_size, unsigned int data_size, unsigned int parity_size) |
| |
| void | FEC__parity (FEC fec, unsigned int *data, unsigned int size) |
| |
| rvInt16 | rvFec_Correct (rvFec *self, rvUint8 *blockBuffer) |
| |
| static void | rvFec_InitGaloisField (rvFec *self, rvUint8 *pp) |
| |
| static void | rvFec_InitPolynomial (rvFec *self) |
| |
| rvFec * | rvFec_New (rvInt16 symbolSize, rvInt16 dataSize, rvInt16 paritySize) |
| |
| rvInt16 | rvFec_Parity (rvFec *self, rvUint8 *dataBuffer, rvUint8 *parityBuffer) |
| |
|
| rvUint8 | pp_3 [4] = { 1, 1, 0, 1 } |
| |
| rvUint8 | pp_4 [5] = { 1, 1, 0, 0, 1 } |
| |
| rvUint8 | pp_5 [6] = { 1, 0, 1, 0, 0, 1 } |
| |
| rvUint8 | pp_6 [7] = { 1, 1, 0, 0, 0, 0, 1 } |
| |
| rvUint8 | pp_7 [8] = { 1, 0, 0, 1, 0, 0, 0, 1 } |
| |
| rvUint8 | pp_8 [9] = { 1, 0, 1, 1, 1, 0, 0, 0, 1 } |
| |
| #define ALPHA_ZERO ((uintGF) self->nn) |
| #define MIN |
( |
|
a, |
|
|
|
b |
|
) |
| (((a) < (b)) ? (a) : (b)) |
| #define modnn |
( |
|
x | ) |
((x) % self->nn) |
| bool FEC__correct |
( |
FEC |
fec, |
|
|
unsigned int * |
data, |
|
|
unsigned int |
size |
|
) |
| |
| FEC FEC__create |
( |
unsigned int |
symbol_size, |
|
|
unsigned int |
data_size, |
|
|
unsigned int |
parity_size |
|
) |
| |
| void FEC__parity |
( |
FEC |
fec, |
|
|
unsigned int * |
data, |
|
|
unsigned int |
size |
|
) |
| |
| static void rvFec_InitGaloisField |
( |
rvFec * |
self, |
|
|
rvUint8 * |
pp |
|
) |
| |
|
static |
| static void rvFec_InitPolynomial |
( |
rvFec * |
self | ) |
|
|
static |
| rvUint8 pp_4[5] = { 1, 1, 0, 0, 1 } |
| rvUint8 pp_5[6] = { 1, 0, 1, 0, 0, 1 } |
| rvUint8 pp_6[7] = { 1, 1, 0, 0, 0, 0, 1 } |
| rvUint8 pp_7[8] = { 1, 0, 0, 1, 0, 0, 0, 1 } |
| rvUint8 pp_8[9] = { 1, 0, 1, 1, 1, 0, 0, 0, 1 } |