UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
ldgm-session-cpu.h
Go to the documentation of this file.
1/*
2 * =====================================================================================
3 *
4 * Filename: ldgm-session-cpu.h
5 *
6 * Description: CPU implementation of LDGM coding
7 *
8 * Version: 1.0
9 * Created: 04/11/2012 04:19:20 PM
10 * Revision: none
11 * Compiler: gcc
12 *
13 * Author: Milan Kabat (), kabat@ics.muni.cz
14 * Organization:
15 *
16 * =====================================================================================
17 */
18
19
20#ifndef LDGM_SESSION_CPU_INC
21#define LDGM_SESSION_CPU_INC
22
23#include "ldgm-session.h"
24//#include "timer-util.h"
25
26/*
27 * =====================================================================================
28 * Class: LDGM_session_cpu
29 * Description:
30 * =====================================================================================
31 */
33{
34 public:
35 /* ==================== LIFECYCLE ======================================= */
37 printf("CPU LDGM in progress .... \n");
38 elapsed_sum=0.0;
39 no_frames=0;
40 } /* constructor */
42 printf("LDGM TIME CPU: %f ms\n",this->elapsed_sum2/(double)this->no_frames2 );
43 } /* constructor */
44
45 void
46 encode (char*, char*);
47
48 void
49 encode_naive (char*, char*);
50
51 char*
52 decode_frame ( char* received_data, int buf_size, int* frame_size,
53 std::map<int, int> valid_data );
54
55 void
56 iterate ( Tanner_graph *graph);
57
58 void
59 free_out_buf (char *buf);
60
61 void *
62 alloc_buf(int size);
63
64 protected:
65 /* ==================== DATA MEMBERS ======================================= */
66
67 private:
68 /* ==================== DATA MEMBERS ======================================= */
71
72}; /* ----- end of class LDGM_session_cpu ----- */
73
74#endif /* ----- #ifndef LDGM_SESSION_CPU_INC ----- */
char * decode_frame(char *received_data, int buf_size, int *frame_size, std::map< int, int > valid_data)
void iterate(Tanner_graph *graph)
void free_out_buf(char *buf)
void * alloc_buf(int size)
void encode(char *, char *)
void encode_naive(char *, char *)
Parent class for CPU and GPU implementations of LDGM coding.
double elapsed_sum2