summaryrefslogtreecommitdiff
path: root/gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc')
-rw-r--r--gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc b/gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc
index d2bfb3d9d2..43146f02c5 100644
--- a/gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc
+++ b/gr-dtv/lib/dvbt/dvbt_bit_inner_interleaver_impl.cc
@@ -26,10 +26,13 @@
#include "dvbt_bit_inner_interleaver_impl.h"
#include <stdio.h>
+#define MAX_MODULATION_ORDER 6
+#define INTERLEAVER_BLOCK_SIZE 126
+
namespace gr {
namespace dtv {
- const int dvbt_bit_inner_interleaver_impl::d_bsize = 126;
+ const int dvbt_bit_inner_interleaver_impl::d_bsize = INTERLEAVER_BLOCK_SIZE;
int
dvbt_bit_inner_interleaver_impl::H(int e, int w)
@@ -118,8 +121,9 @@ namespace gr {
void
dvbt_bit_inner_interleaver_impl::forecast (int noutput_items, gr_vector_int &ninput_items_required)
{
- ninput_items_required[0] = noutput_items;
- ninput_items_required[1] = noutput_items;
+ unsigned ninputs = ninput_items_required.size();
+ for (unsigned i = 0; i < ninputs; i++)
+ ninput_items_required[i] = noutput_items;
}
int
@@ -136,8 +140,7 @@ namespace gr {
// First index of d_b is Bit interleaver number
// Second index of d_b is the position inside the Bit interleaver
- // Linux: unsigned char d_b[d_v][d_bsize];
- __GR_VLA2D(unsigned char, d_b, d_v, d_bsize);
+ unsigned char d_b[MAX_MODULATION_ORDER][INTERLEAVER_BLOCK_SIZE];
for (int bcount = 0; bcount < bmax; bcount++) {
for (int i = 0; i < d_bsize; i++) {