diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2016-09-19 06:54:16 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2016-09-19 06:54:16 -0700 |
commit | 98c56507fd63bb485d3116ab1ce94702c8a00cee (patch) | |
tree | ff5c9de539de5044033b472fe7cfc64aa5f21abe /gr-dtv | |
parent | 67f7d12f740ea01534f8c979feafa9793d6a3515 (diff) | |
parent | ab001bdb3a14fbe2f741b1f2736683dcedb5c338 (diff) |
Merge remote-tracking branch 'drmpeg/dvbt2-fix'
Diffstat (limited to 'gr-dtv')
-rw-r--r-- | gr-dtv/examples/vv003-cr23.grc | 6 | ||||
-rw-r--r-- | gr-dtv/examples/vv018-miso.grc | 6 | ||||
-rw-r--r-- | gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml | 4 | ||||
-rw-r--r-- | gr-dtv/lib/dvbt2/dvbt2_interleaver_bb_impl.cc | 50 |
4 files changed, 27 insertions, 39 deletions
diff --git a/gr-dtv/examples/vv003-cr23.grc b/gr-dtv/examples/vv003-cr23.grc index 4e3df5a968..a81551664c 100644 --- a/gr-dtv/examples/vv003-cr23.grc +++ b/gr-dtv/examples/vv003-cr23.grc @@ -351,7 +351,7 @@ <key>dtv_dvb_bbheader_bb</key> <param> <key>mode</key> - <value>INPUTMODE_NORMAL</value> + <value>INPUTMODE_HIEFF</value> </param> <param> <key>alias</key> @@ -486,7 +486,7 @@ </param> <param> <key>_coordinate</key> - <value>(632, 36)</value> + <value>(656, 36)</value> </param> <param> <key>_rotation</key> @@ -557,7 +557,7 @@ </param> <param> <key>_coordinate</key> - <value>(856, 36)</value> + <value>(864, 36)</value> </param> <param> <key>_rotation</key> diff --git a/gr-dtv/examples/vv018-miso.grc b/gr-dtv/examples/vv018-miso.grc index f3434a5dc9..b8d296b505 100644 --- a/gr-dtv/examples/vv018-miso.grc +++ b/gr-dtv/examples/vv018-miso.grc @@ -504,7 +504,7 @@ <key>dtv_dvb_bbheader_bb</key> <param> <key>mode</key> - <value>INPUTMODE_NORMAL</value> + <value>INPUTMODE_HIEFF</value> </param> <param> <key>alias</key> @@ -639,7 +639,7 @@ </param> <param> <key>_coordinate</key> - <value>(608, 20)</value> + <value>(640, 20)</value> </param> <param> <key>_rotation</key> @@ -710,7 +710,7 @@ </param> <param> <key>_coordinate</key> - <value>(824, 20)</value> + <value>(848, 20)</value> </param> <param> <key>_rotation</key> diff --git a/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml b/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml index 8cfb4908b6..e795c8a1dc 100644 --- a/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml +++ b/gr-dtv/grc/dtv_dvbt2_framemapper_cc.xml @@ -494,12 +494,12 @@ $inputmode.val, $reservedbiasbits.val, $l1scrambled.val, $inband.val)</make> <hide>$version.hide_131</hide> <option> <name>Normal</name> - <key>FECFRAME_NORMAL</key> + <key>INPUTMODE_NORMAL</key> <opt>val:dtv.INPUTMODE_NORMAL</opt> </option> <option> <name>High Efficiency</name> - <key>FECFRAME_SHORT</key> + <key>INPUTMODE_HIEFF</key> <opt>val:dtv.INPUTMODE_HIEFF</opt> </option> </param> diff --git a/gr-dtv/lib/dvbt2/dvbt2_interleaver_bb_impl.cc b/gr-dtv/lib/dvbt2/dvbt2_interleaver_bb_impl.cc index 9ebfb143ed..3e3dc430b6 100644 --- a/gr-dtv/lib/dvbt2/dvbt2_interleaver_bb_impl.cc +++ b/gr-dtv/lib/dvbt2/dvbt2_interleaver_bb_impl.cc @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2015 Free Software Foundation, Inc. + * Copyright 2015,2016 Free Software Foundation, Inc. * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -271,13 +271,10 @@ namespace gr { pack = 0; for (int e = 0; e < (mod * 2); e++) { offset = mux[e]; - pack |= tempu[index + offset]; - pack <<= 1; + pack |= tempu[index++] << (((mod * 2) - 1) - offset); } - pack >>= 1; out[produced++] = pack >> 4; out[produced++] = pack & 0xf; - index += (mod * 2); consumed += (mod * 2); } } @@ -356,13 +353,10 @@ namespace gr { pack = 0; for (int e = 0; e < (mod * 2); e++) { offset = mux[e]; - pack |= tempu[index + offset]; - pack <<= 1; + pack |= tempu[index++] << (((mod * 2) - 1) - offset); } - pack >>= 1; out[produced++] = pack >> 6; out[produced++] = pack & 0x3f; - index += (mod * 2); consumed += (mod * 2); } } @@ -442,13 +436,10 @@ namespace gr { pack = 0; for (int e = 0; e < (mod * 2); e++) { offset = mux[e]; - pack |= tempu[index + offset]; - pack <<= 1; + pack |= tempu[index++] << (((mod * 2) - 1) - offset); } - pack >>= 1; out[produced++] = pack >> 8; out[produced++] = pack & 0xff; - index += (mod * 2); consumed += (mod * 2); } } @@ -510,12 +501,9 @@ namespace gr { pack = 0; for (int e = 0; e < mod; e++) { offset = mux[e]; - pack |= tempu[index + offset]; - pack <<= 1; + pack |= tempu[index++] << ((mod - 1) - offset); } - pack >>= 1; out[produced++] = pack & 0xff; - index += mod; consumed += mod; } } @@ -563,72 +551,72 @@ namespace gr { const int dvbt2_interleaver_bb_impl::mux16[8] = { - 7, 1, 3, 5, 2, 4, 6, 0 + 7, 1, 4, 2, 5, 3, 6, 0 }; const int dvbt2_interleaver_bb_impl::mux64[12] = { - 11, 8, 5, 2, 10, 7, 4, 1, 9, 6, 3, 0 + 11, 7, 3, 10, 6, 2, 9, 5, 1, 8, 4, 0 }; const int dvbt2_interleaver_bb_impl::mux256[16] = { - 15, 1, 13, 3, 10, 7, 9, 11, 4, 6, 8, 5, 12, 2, 14, 0 + 15, 1, 13, 3, 8, 11, 9, 5, 10, 6, 4, 7, 12, 2, 14, 0 }; const int dvbt2_interleaver_bb_impl::mux16_35[8] = { - 0, 2, 3, 6, 4, 1, 7, 5 + 0, 5, 1, 2, 4, 7, 3, 6 }; const int dvbt2_interleaver_bb_impl::mux16_13[8] = { - 1, 6, 5, 2, 3, 4, 0, 7 + 6, 0, 3, 4, 5, 2, 1, 7 }; const int dvbt2_interleaver_bb_impl::mux16_25[8] = { - 3, 5, 6, 4, 2, 1, 7, 0 + 7, 5, 4, 0, 3, 1, 2, 6 }; const int dvbt2_interleaver_bb_impl::mux64_35[12] = { - 4, 6, 0, 5, 8, 10, 2, 1, 7, 3, 11, 9 + 2, 7, 6, 9, 0, 3, 1, 8, 4, 11, 5, 10 }; const int dvbt2_interleaver_bb_impl::mux64_13[12] = { - 2, 5, 1, 6, 0, 3, 4, 7, 8, 9, 10, 11 + 4, 2, 0, 5, 6, 1, 3, 7, 8, 9, 10, 11 }; const int dvbt2_interleaver_bb_impl::mux64_25[12] = { - 1, 2, 4, 5, 0, 6, 3, 8, 7, 10, 9, 11 + 4, 0, 1, 6, 2, 3, 5, 8, 7, 10, 9, 11 }; const int dvbt2_interleaver_bb_impl::mux256_35[16] = { - 4, 6, 0, 2, 3, 14, 12, 10, 7, 5, 8, 1, 15, 9, 11, 13 + 2, 11, 3, 4, 0, 9, 1, 8, 10, 13, 7, 14, 6, 15, 5, 12 }; const int dvbt2_interleaver_bb_impl::mux256_23[16] = { - 3, 15, 1, 7, 4, 11, 5, 0, 12, 2, 9, 14, 13, 6, 8, 10 + 7, 2, 9, 0, 4, 6, 13, 3, 14, 10, 15, 5, 8, 12, 11, 1 }; const int dvbt2_interleaver_bb_impl::mux256s[8] = { - 7, 2, 4, 1, 6, 3, 5, 0 + 7, 3, 1, 5, 2, 6, 4, 0 }; const int dvbt2_interleaver_bb_impl::mux256s_13[8] = { - 1, 2, 3, 5, 0, 4, 6, 7 + 4, 0, 1, 2, 5, 3, 6, 7 }; const int dvbt2_interleaver_bb_impl::mux256s_25[8] = { - 1, 3, 4, 5, 0, 2, 6, 7 + 4, 0, 5, 1, 2, 3, 6, 7 }; } /* namespace dtv */ |