21#ifndef INCLUDED_SATNOGS_CONV_ENCODER_H
22#define INCLUDED_SATNOGS_CONV_ENCODER_H
25#include <itpp/base/array.h>
26#include <itpp/comm/convcode.h>
27#include <itpp/comm/reedsolomon.h>
43 typedef enum { RATE_1_2 = 0, RATE_2_3, RATE_3_4, RATE_5_6, RATE_7_8 } coding_rate_t;
48 size_t encode(uint8_t* out,
const uint8_t* in,
size_t len);
58 itpp::Convolutional_Code d_conv_code;
59 itpp::ivec d_cc_generator;
61 size_t inv_and_puncture(uint8_t* out,
const itpp::bvec& in);
#define SATNOGS_API
Definition: api.h:19
Definition: conv_encoder.h:36
size_t encode_trunc(uint8_t *out, const uint8_t *in, size_t len)
size_t finalize(uint8_t *out)
conv_encoder(coding_rate_t cc_rate, size_t max_frame_len)
coding_rate_t
SATNOGS compatible convolutional encoder with puncturing support.
Definition: conv_encoder.h:43
size_t encode(uint8_t *out, const uint8_t *in, size_t len)
Definition: amsat_duv_decoder.h:29