#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 } |