26#ifndef LDGM_SESSION_INC
27#define LDGM_SESSION_INC
79 encode (
char* data,
char* parity ) = 0;
89 std::map<int, int> valid_data ) = 0;
struct video_frame * frame
Abstract class Coding_session.
Parent class for CPU and GPU implementations of LDGM coding.
static const int HEADER_SIZE
virtual void * alloc_buf(int size)=0
void set_pcMatrix(char *matrix)
virtual void encode(char *data, char *parity)=0
bool needs_decoding(Tanner_graph *tanner_graph)
virtual char * decode_frame(char *received_data, int buf_size, int *frame_size, std::map< int, int > valid_data)=0
unsigned short row_weight
unsigned short max_row_weight
char * encode_frame(char *frame, int frame_size, int *out_buf_size)
char * encode_hdr_frame(char *hdr, int hdr_size, char *frame, int frame_size, int *out_buf_size)
virtual void encode_naive(char *data, char *parity)=0
unsigned short packet_size
unsigned int get_packet_size() const
void set_params(unsigned short k, unsigned short m, unsigned short rw)
virtual void free_out_buf(char *buf)=0
void create_edges(Tanner_graph *g)