summaryrefslogtreecommitdiff
path: root/gr-fec/lib/cc_decoder_impl.h
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2014-05-04 14:24:50 -0400
committerTom Rondeau <tom@trondeau.com>2014-05-17 17:45:14 -0400
commit9a4494904c77c8516c90f2c2a18518065fe36375 (patch)
treea9981632abad78e00c196e8305105fcaf5019ba4 /gr-fec/lib/cc_decoder_impl.h
parentfb1d5f822e3a273db88b2087b8d53be67725d232 (diff)
fec: updating puncturing, adding documentation, adding CCSDS encoder.
Diffstat (limited to 'gr-fec/lib/cc_decoder_impl.h')
-rw-r--r--gr-fec/lib/cc_decoder_impl.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/gr-fec/lib/cc_decoder_impl.h b/gr-fec/lib/cc_decoder_impl.h
index 725a27d10a..d0b1af35a3 100644
--- a/gr-fec/lib/cc_decoder_impl.h
+++ b/gr-fec/lib/cc_decoder_impl.h
@@ -26,7 +26,6 @@
#include <map>
#include <string>
#include <gnuradio/fec/cc_decoder.h>
-#include <gnuradio/fec/cc_common.h>
namespace gr {
namespace fec {
@@ -41,36 +40,36 @@ namespace gr {
int get_history();
float get_shift();
int get_input_item_size();
- const char* get_conversion();
+ const char* get_input_conversion();
//const char* get_output_conversion();
//everything else...
void create_viterbi();
int init_viterbi(struct v* vp, int starting_state);
int init_viterbi_unbiased(struct v* vp);
- int update_viterbi_blk(COMPUTETYPE* syms, int nbits);
+ int update_viterbi_blk(unsigned char* syms, int nbits);
int chainback_viterbi(unsigned char* data, unsigned int nbits,
unsigned int endstate, unsigned int tailsize);
int find_endstate();
int tester[12];
- COMPUTETYPE *Branchtab;
+ unsigned char *Branchtab;
unsigned char Partab[256];
- bool d_tailbiting;
- bool d_terminated;
- bool d_truncated;
- bool d_streaming;
+
int d_ADDSHIFT;
int d_SUBSHIFT;
conv_kernel d_kernel;
- unsigned int d_framebits;
+ unsigned int d_max_frame_size;
+ unsigned int d_frame_size;
unsigned int d_k;
unsigned int d_rate;
unsigned int d_partial_rate;
std::vector<int> d_polys;
+ cc_mode_t d_mode;
+
struct v* d_vp;
- COMPUTETYPE* d_managed_in;
+ unsigned char* d_managed_in;
unsigned int d_managed_in_size;
int d_numstates;
int d_decision_t_size;
@@ -81,21 +80,22 @@ namespace gr {
int d_end_state_chaining;
int d_end_state_nonchaining;
unsigned int d_veclen;
+
int parity(int x);
int parityb(unsigned char x);
void partab_init(void);
std::map<std::string, conv_kernel> yp_kernel;
public:
- cc_decoder_impl(int framebits, int k,
+ cc_decoder_impl(int frame_size, int k,
int rate, std::vector<int> polys,
int start_state = 0, int end_state = -1,
- bool tailbiting = false, bool terminated = false,
- bool truncated = false, bool streaming = false);
+ cc_mode_t mode=CC_STREAMING);
~cc_decoder_impl();
- void set_framebits(int framebits);
- void generic_work(void *inBuffer, void *outbuffer);
+ void generic_work(void *inbuffer, void *outbuffer);
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
};
} /* namespace code */