TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Classes | Macros | Typedefs | Functions
rscode.c File Reference
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include "rscode.h"

Go to the source code of this file.

Classes

struct  _RS
 Reed-Solomon codec control block. More...
 

Macros

#define MODNN(x)   modnn(rs,x)
 
#define MM   (rs->mm)
 
#define NN   (rs->nn)
 
#define ALPHA_TO   (rs->alpha_to)
 
#define INDEX_OF   (rs->index_of)
 
#define GENPOLY   (rs->genpoly)
 
#define NROOTS   (rs->nroots)
 
#define FCR   (rs->fcr)
 
#define PRIM   (rs->prim)
 
#define IPRIM   (rs->iprim)
 
#define PAD   (rs->pad)
 
#define A0   (NN)
 
#define A0   (NN) /* Special reserved value encoding zero in index form */
 

Typedefs

typedef unsigned char data_t
 

Functions

static int modnn (RS *rs, int x)
 
static RSinit_rs_char (int symsize, int gfpoly, int fcr, int prim, int nroots, int pad)
 
RSinit_rs (int symsize, int gfpoly, int fcr, int prim, int nroots, int pad)
 
void free_rs_char (RS *rs)
 
void encode_rs_char (RS *rs, const data_t *data, data_t *parity)
 

Macro Definition Documentation

#define A0   (NN)

Definition at line 244 of file rscode.c.

Referenced by encode_rs_char(), and init_rs_char().

#define A0   (NN) /* Special reserved value encoding zero in index form */

Definition at line 244 of file rscode.c.

#define ALPHA_TO   (rs->alpha_to)

Definition at line 69 of file rscode.c.

Referenced by encode_rs_char().

#define FCR   (rs->fcr)

Definition at line 73 of file rscode.c.

#define GENPOLY   (rs->genpoly)

Definition at line 71 of file rscode.c.

Referenced by encode_rs_char().

#define INDEX_OF   (rs->index_of)

Definition at line 70 of file rscode.c.

Referenced by encode_rs_char().

#define IPRIM   (rs->iprim)

Definition at line 75 of file rscode.c.

#define MM   (rs->mm)

Definition at line 67 of file rscode.c.

#define MODNN (   x)    modnn(rs,x)

Definition at line 65 of file rscode.c.

Referenced by encode_rs_char().

#define NN   (rs->nn)

Definition at line 68 of file rscode.c.

Referenced by encode_rs_char().

#define NROOTS   (rs->nroots)

Definition at line 72 of file rscode.c.

Referenced by encode_rs_char().

#define PAD   (rs->pad)

Definition at line 76 of file rscode.c.

Referenced by encode_rs_char().

#define PRIM   (rs->prim)

Definition at line 74 of file rscode.c.

Typedef Documentation

typedef unsigned char data_t

Definition at line 36 of file rscode.c.

Function Documentation

void encode_rs_char ( RS rs,
const data_t data,
data_t parity 
)

Definition at line 246 of file rscode.c.

References A0, ALPHA_TO, GENPOLY, INDEX_OF, MODNN, NN, NROOTS, and PAD.

void free_rs_char ( RS rs)

Definition at line 207 of file rscode.c.

References _RS::alpha_to, free(), _RS::genpoly, and _RS::index_of.

RS* init_rs ( int  symsize,
int  gfpoly,
int  fcr,
int  prim,
int  nroots,
int  pad 
)

Definition at line 201 of file rscode.c.

References init_rs_char().

static RS* init_rs_char ( int  symsize,
int  gfpoly,
int  fcr,
int  prim,
int  nroots,
int  pad 
)
static
static int modnn ( RS rs,
int  x 
)
inlinestatic

Definition at line 56 of file rscode.c.

References _RS::mm, and _RS::nn.

Referenced by init_rs_char().