summaryrefslogtreecommitdiff
path: root/gr-fec/lib/encoder_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fec/lib/encoder_impl.cc')
-rw-r--r--gr-fec/lib/encoder_impl.cc113
1 files changed, 52 insertions, 61 deletions
diff --git a/gr-fec/lib/encoder_impl.cc b/gr-fec/lib/encoder_impl.cc
index ec5a818485..21b71e5e97 100644
--- a/gr-fec/lib/encoder_impl.cc
+++ b/gr-fec/lib/encoder_impl.cc
@@ -29,77 +29,68 @@
#include <stdio.h>
namespace gr {
- namespace fec {
+namespace fec {
- encoder::sptr
- encoder::make(generic_encoder::sptr my_encoder,
- size_t input_item_size,
- size_t output_item_size)
- {
- return gnuradio::get_initial_sptr
- (new encoder_impl(my_encoder, input_item_size,
- output_item_size));
- }
+encoder::sptr encoder::make(generic_encoder::sptr my_encoder,
+ size_t input_item_size,
+ size_t output_item_size)
+{
+ return gnuradio::get_initial_sptr(
+ new encoder_impl(my_encoder, input_item_size, output_item_size));
+}
- encoder_impl::encoder_impl(generic_encoder::sptr my_encoder,
- size_t input_item_size,
- size_t output_item_size)
- : block("fec_encoder",
- io_signature::make(1, 1, input_item_size),
- io_signature::make(1, 1, output_item_size)),
- d_input_item_size(input_item_size),
- d_output_item_size(output_item_size)
- {
- set_fixed_rate(true);
- set_relative_rate((uint64_t)my_encoder->get_output_size(),
- (uint64_t)my_encoder->get_input_size());
- set_output_multiple(my_encoder->get_output_size());
- d_encoder = my_encoder;
+encoder_impl::encoder_impl(generic_encoder::sptr my_encoder,
+ size_t input_item_size,
+ size_t output_item_size)
+ : block("fec_encoder",
+ io_signature::make(1, 1, input_item_size),
+ io_signature::make(1, 1, output_item_size)),
+ d_input_item_size(input_item_size),
+ d_output_item_size(output_item_size)
+{
+ set_fixed_rate(true);
+ set_relative_rate((uint64_t)my_encoder->get_output_size(),
+ (uint64_t)my_encoder->get_input_size());
+ set_output_multiple(my_encoder->get_output_size());
+ d_encoder = my_encoder;
- d_input_size = d_encoder->get_input_size()*d_input_item_size;
- d_output_size = d_encoder->get_output_size()*d_output_item_size;
- }
+ d_input_size = d_encoder->get_input_size() * d_input_item_size;
+ d_output_size = d_encoder->get_output_size() * d_output_item_size;
+}
- encoder_impl::~encoder_impl()
- {
- }
+encoder_impl::~encoder_impl() {}
- int
- encoder_impl::fixed_rate_ninput_to_noutput(int ninput)
- {
- return (int)(0.5 + ninput*relative_rate());
- }
+int encoder_impl::fixed_rate_ninput_to_noutput(int ninput)
+{
+ return (int)(0.5 + ninput * relative_rate());
+}
- int
- encoder_impl::fixed_rate_noutput_to_ninput(int noutput)
- {
- return (int)(0.5 + noutput/relative_rate());
- }
+int encoder_impl::fixed_rate_noutput_to_ninput(int noutput)
+{
+ return (int)(0.5 + noutput / relative_rate());
+}
- void
- encoder_impl::forecast(int noutput_items,
- gr_vector_int& ninput_items_required)
- {
- ninput_items_required[0] = fixed_rate_noutput_to_ninput(noutput_items);
- }
+void encoder_impl::forecast(int noutput_items, gr_vector_int& ninput_items_required)
+{
+ ninput_items_required[0] = fixed_rate_noutput_to_ninput(noutput_items);
+}
- int
- encoder_impl::general_work(int noutput_items,
+int encoder_impl::general_work(int noutput_items,
gr_vector_int& ninput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
- {
- char *inbuffer = (char*)input_items[0];
- char *outbuffer = (char*)output_items[0];
+ gr_vector_const_void_star& input_items,
+ gr_vector_void_star& output_items)
+{
+ char* inbuffer = (char*)input_items[0];
+ char* outbuffer = (char*)output_items[0];
- for(int i = 0; i < noutput_items/output_multiple(); i++) {
- d_encoder->generic_work((void*)(inbuffer+(i*d_input_size)),
- (void*)(outbuffer+(i*d_output_size)));
- }
-
- consume_each(fixed_rate_noutput_to_ninput(noutput_items));
- return noutput_items;
+ for (int i = 0; i < noutput_items / output_multiple(); i++) {
+ d_encoder->generic_work((void*)(inbuffer + (i * d_input_size)),
+ (void*)(outbuffer + (i * d_output_size)));
}
- } /* namespace fec */
+ consume_each(fixed_rate_noutput_to_ninput(noutput_items));
+ return noutput_items;
+}
+
+} /* namespace fec */
} /* namespace gr */