![]() |
UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
|
#include <ldgm-session-gpu.h>


Public Member Functions | |
| LDGM_session_gpu () | |
| LDGM_session_gpu (const LDGM_session_gpu &other) | |
| ~LDGM_session_gpu () | |
| void * | alloc_buf (int size) |
| void | decode () |
| char * | decode_frame (char *received_data, int buf_size, int *frame_size, std::map< int, int > valid_data) |
| void | encode (char *data_ptr, char *parity_ptr) |
| void | encode_naive (char *, char *) |
| void | free_out_buf (char *buf) |
| void | set_data_fname (char fname[32]) |
Public Member Functions inherited from LDGM_session | |
| LDGM_session () | |
| virtual | ~LDGM_session () |
| void | create_edges (Tanner_graph *g) |
| 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) |
| unsigned int | get_packet_size () const |
| bool | needs_decoding (Tanner_graph *tanner_graph) |
| void | set_params (unsigned short k, unsigned short m, unsigned short rw) |
| void | set_pcMatrix (char *matrix) |
Public Member Functions inherited from Coding_session | |
Private Attributes | |
| std::map< char *, size_t > | bufferSizes |
| char | data_fname [32] |
| int * | ERROR_VEC |
| int * | error_vec |
| std::queue< char * > | freeBuffers |
| int * | OUTBUF |
| int | OUTBUF_SIZE |
| int * | PCM |
| int * | SYNC_VEC |
| int * | sync_vec |
Additional Inherited Members | |
Protected Attributes inherited from LDGM_session | |
| double | elapsed_sum2 |
| char * | lost_ptr |
| unsigned short | max_row_weight |
| long | no_frames2 |
| unsigned short | packet_size |
| unsigned short | param_k |
| unsigned short | param_m |
| int * | pcm |
| char * | pcMatrix |
| char * | received_ptr |
| unsigned short | row_weight |
Static Protected Attributes inherited from LDGM_session | |
| static const int | HEADER_SIZE = 4 |
Definition at line 35 of file ldgm-session-gpu.h.
| LDGM_session_gpu::LDGM_session_gpu | ( | ) |
Definition at line 45 of file ldgm-session-gpu.cpp.
References ERROR_VEC, error_vec, OUTBUF, OUTBUF_SIZE, PCM, SYNC_VEC, and sync_vec.
| LDGM_session_gpu::LDGM_session_gpu | ( | const LDGM_session_gpu & | other | ) |
| LDGM_session_gpu::~LDGM_session_gpu | ( | ) |
Definition at line 60 of file ldgm-session-gpu.cpp.
References cudaError_t, cudaFree, cudaFreeHost, cudaGetErrorString, cudaSuccess, LDGM_session::elapsed_sum2, ERROR_VEC, error_vec, freeBuffers, LDGM_session::no_frames2, PCM, SYNC_VEC, and sync_vec.
|
virtual |
Implements LDGM_session.
Definition at line 83 of file ldgm-session-gpu.cpp.
References bufferSizes, cudaFreeHost, cudaHostAlloc, cudaHostAllocDefault, and freeBuffers.
| void LDGM_session_gpu::decode | ( | ) |
|
virtual |
Method decode should recover original source data
| received_data | Received data (source and parity) |
| buf_size | Size of the received buffer |
| frame_size | Output parameter for storing size of the decoded frame |
| valid_data | Map storing pairs <offset, number of bytes> of received data |
Implements LDGM_session.
Definition at line 165 of file ldgm-session-gpu.cpp.
References crc32buf(), cudaError_t, cudaGetErrorString, cudaHostAlloc, cudaHostAllocDefault, cudaMalloc, cudaMemcpy, cudaMemcpyHostToDevice, cudaSuccess, LDGM_session::elapsed_sum2, Timer_util::elapsed_time_ms(), Timer_util::end(), ERROR_VEC, error_vec, first, gpu_decode_upgrade(), LDGM_session::HEADER_SIZE, LDGM_session::max_row_weight, LDGM_session::no_frames2, LDGM_session::param_k, LDGM_session::param_m, PCM, LDGM_session::pcm, start(), Timer_util::start(), SYNC_VEC, and sync_vec.

|
virtual |
Implements LDGM_session.
Definition at line 116 of file ldgm-session-gpu.cpp.
References cudaError_t, cudaFree, cudaGetErrorString, cudaMalloc, cudaMemcpy, cudaMemcpyHostToDevice, cudaSuccess, LDGM_session::get_packet_size(), gpu_encode_upgrade(), LDGM_session::max_row_weight, OUTBUF, OUTBUF_SIZE, LDGM_session::packet_size, LDGM_session::param_k, LDGM_session::param_m, PCM, and LDGM_session::pcm.

|
inlinevirtual |
|
virtual |
Implements LDGM_session.
Definition at line 109 of file ldgm-session-gpu.cpp.
References freeBuffers.
|
inline |
Definition at line 74 of file ldgm-session-gpu.h.
References data_fname.
|
private |
Definition at line 84 of file ldgm-session-gpu.h.
Referenced by alloc_buf().
|
private |
Definition at line 81 of file ldgm-session-gpu.h.
Referenced by set_data_fname().
|
private |
Definition at line 93 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), ~LDGM_session_gpu(), and decode_frame().
|
private |
Definition at line 89 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), ~LDGM_session_gpu(), and decode_frame().
|
private |
Definition at line 83 of file ldgm-session-gpu.h.
Referenced by ~LDGM_session_gpu(), alloc_buf(), and free_out_buf().
|
private |
Definition at line 87 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), and encode().
|
private |
Definition at line 86 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), and encode().
|
private |
Definition at line 95 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), ~LDGM_session_gpu(), decode_frame(), and encode().
|
private |
Definition at line 92 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), ~LDGM_session_gpu(), and decode_frame().
|
private |
Definition at line 90 of file ldgm-session-gpu.h.
Referenced by LDGM_session_gpu(), ~LDGM_session_gpu(), and decode_frame().