commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 50/57: fec: wip: adding concept of padding


From: git
Subject: [Commit-gnuradio] [gnuradio] 50/57: fec: wip: adding concept of padding for CC encoder/decoder.
Date: Wed, 21 May 2014 03:10:31 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

trondeau pushed a commit to branch master
in repository gnuradio.

commit 91b5f380b6c511624064f1b64ae3ebfd710d7272
Author: Tom Rondeau <address@hidden>
Date:   Sat May 17 19:23:44 2014 -0400

    fec: wip: adding concept of padding for CC encoder/decoder.
    
    When using terminated mode, the CC encoder adds K-1 bits to the output, 
which doesn't fit a full byte and will throw off the book-keeping in PDU or 
tagged mode. Padding to fill a byte tells both encoder and decoder to handle 
the extra bits.
---
 gr-fec/examples/fecapi_async_to_stream.grc  | 719 ++++++++++++++++++++--------
 gr-fec/examples/fecapi_tagged_decoders.grc  | 270 ++++++-----
 gr-fec/grc/variable_cc_decoder_def_list.xml |  21 +-
 gr-fec/grc/variable_cc_encoder_def_list.xml |  23 +-
 gr-fec/include/gnuradio/fec/cc_decoder.h    |   7 +-
 gr-fec/include/gnuradio/fec/cc_encoder.h    |   4 +-
 gr-fec/lib/async_encoder_impl.cc            |   2 +-
 gr-fec/lib/cc_decoder_impl.cc               |  29 +-
 gr-fec/lib/cc_decoder_impl.h                |   3 +-
 gr-fec/lib/cc_encoder_impl.cc               |  16 +-
 gr-fec/lib/cc_encoder_impl.h                |   3 +-
 gr-fec/lib/tagged_decoder_impl.cc           |   3 -
 gr-fec/lib/tagged_encoder_impl.cc           |   3 -
 13 files changed, 749 insertions(+), 354 deletions(-)

diff --git a/gr-fec/examples/fecapi_async_to_stream.grc 
b/gr-fec/examples/fecapi_async_to_stream.grc
index 417df87..0692573 100644
--- a/gr-fec/examples/fecapi_async_to_stream.grc
+++ b/gr-fec/examples/fecapi_async_to_stream.grc
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Sat May 17 16:48:27 2014</timestamp>
+  <timestamp>Sat May 17 19:23:33 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -709,42 +709,85 @@
     </param>
   </block>
   <block>
-    <key>blocks_char_to_float</key>
+    <key>variable_dummy_encoder_def</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_0_0_0</value>
+      <value>enc_dummy</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
       <value>1</value>
     </param>
     <param>
-      <key>scale</key>
+      <key>dim2</key>
       <value>1</value>
     </param>
     <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(598, 509)</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_dummy_decoder_def</key>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>id</key>
+      <value>dec_dummy</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1200, 191)</value>
+      <value>(598, 588)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -752,42 +795,97 @@
     </param>
   </block>
   <block>
-    <key>digital_crc32_bb</key>
+    <key>variable_repetition_encoder_def</key>
     <param>
       <key>id</key>
-      <value>digital_crc32_bb_0</value>
+      <value>enc_rep</value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
-      <key>check</key>
-      <value>True</value>
+      <key>value</key>
+      <value>"ok"</value>
     </param>
     <param>
-      <key>lengthtagname</key>
-      <value>pkt_len</value>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>4</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
+      <key>rep</key>
+      <value>3</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(780, 509)</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>variable_repetition_decoder_def</key>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>id</key>
+      <value>dec_rep</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
+      <key>rep</key>
+      <value>3</value>
+    </param>
+    <param>
+      <key>prob</key>
+      <value>0.5</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1214, 332)</value>
+      <value>(782, 603)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1130,26 +1228,22 @@
     </param>
   </block>
   <block>
-    <key>fec_async_encoder</key>
+    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>fec_async_encoder_0</value>
+      <value>blocks_char_to_float_0_1</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>encoder</key>
-      <value>enc_cc</value>
-    </param>
-    <param>
-      <key>rev_unpack</key>
-      <value>True</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
     <param>
-      <key>rev_pack</key>
-      <value>True</value>
+      <key>scale</key>
+      <value>1</value>
     </param>
     <param>
       <key>alias</key>
@@ -1169,7 +1263,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(429, 148)</value>
+      <value>(707, 188)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1177,313 +1271,334 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
+    <key>qtgui_time_sink_x</key>
     <param>
       <key>id</key>
-      <value>enc_cc</value>
+      <value>qtgui_time_sink_x_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>0</value>
+      <key>name</key>
+      <value>QT GUI Plot</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>size</key>
+      <value>5120</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>srate</key>
+      <value>samp_rate</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>k</key>
-      <value>k</value>
+      <key>ymin</key>
+      <value>-2</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>rate</value>
+      <key>ymax</key>
+      <value>2</value>
     </param>
     <param>
-      <key>polys</key>
-      <value>polys</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
     <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>update_time</key>
+      <value>0.01</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TAILBITING</value>
+      <key>entags</key>
+      <value>True</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>gui_hint</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(401, 510)</value>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_FREE</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
-  </block>
-  <block>
-    <key>variable_dummy_encoder_def</key>
     <param>
-      <key>id</key>
-      <value>enc_dummy</value>
+      <key>tr_level</key>
+      <value>0.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>tr_delay</key>
+      <value>0</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>tr_chan</key>
+      <value>0</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>0</value>
+      <key>tr_tag</key>
+      <value>""</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>1</value>
+      <key>label1</key>
+      <value>Input</value>
     </param>
     <param>
-      <key>dim2</key>
+      <key>width1</key>
       <value>1</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>color1</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>style1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(598, 509)</value>
+      <key>marker1</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>alpha1</key>
+      <value>1.0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_dummy_decoder_def</key>
     <param>
-      <key>id</key>
-      <value>dec_dummy</value>
+      <key>label2</key>
+      <value>Dummy</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>width2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>color2</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>ndim</key>
+      <key>style2</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim1</key>
+      <key>marker2</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>alpha2</key>
+      <value>0.6</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value>Rep. (Rate=3)</value>
+    </param>
+    <param>
+      <key>width3</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim2</key>
+      <key>color3</key>
+      <value>"green"</value>
+    </param>
+    <param>
+      <key>style3</key>
       <value>1</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>marker3</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>alpha3</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(598, 588)</value>
+      <key>label4</key>
+      <value>CC (K=7, Rate=2)</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width4</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>variable_repetition_encoder_def</key>
     <param>
-      <key>id</key>
-      <value>enc_rep</value>
+      <key>color4</key>
+      <value>"black"</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>style4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>marker4</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>0</value>
+      <key>alpha4</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>dim1</key>
-      <value>4</value>
+      <key>label5</key>
+      <value>CCSDS</value>
     </param>
     <param>
-      <key>dim2</key>
+      <key>width5</key>
       <value>1</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>color5</key>
+      <value>"cyan"</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</value>
+      <key>style5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>marker5</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>alpha5</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>label6</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(780, 509)</value>
+      <key>width6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color6</key>
+      <value>"magenta"</value>
     </param>
-  </block>
-  <block>
-    <key>variable_repetition_decoder_def</key>
     <param>
-      <key>id</key>
-      <value>dec_rep</value>
+      <key>style6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>marker6</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>alpha6</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>1</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>dim1</key>
+      <key>width7</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>1</value>
+      <key>color7</key>
+      <value>"yellow"</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>style7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>rep</key>
-      <value>3</value>
+      <key>marker7</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>prob</key>
-      <value>0.5</value>
+      <key>alpha7</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label8</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(782, 603)</value>
+      <key>width8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color8</key>
+      <value>"dark red"</value>
     </param>
-  </block>
-  <block>
-    <key>variable_cc_decoder_def</key>
     <param>
-      <key>id</key>
-      <value>dec_cc</value>
+      <key>style8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>marker8</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"ok"</value>
+      <key>alpha8</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>ndim</key>
-      <value>0</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>dim1</key>
+      <key>width9</key>
       <value>1</value>
     </param>
     <param>
-      <key>dim2</key>
-      <value>4</value>
+      <key>color9</key>
+      <value>"dark green"</value>
     </param>
     <param>
-      <key>framebits</key>
-      <value>8000</value>
+      <key>style9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>k</key>
-      <value>k</value>
+      <key>marker9</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>rate</key>
-      <value>rate</value>
+      <key>alpha9</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>polys</key>
-      <value>polys</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>state_start</key>
-      <value>0</value>
+      <key>width10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>state_end</key>
+      <key>color10</key>
+      <value>"blue"</value>
+    </param>
+    <param>
+      <key>style10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>marker10</key>
       <value>-1</value>
     </param>
     <param>
-      <key>mode</key>
-      <value>fec.CC_TAILBITING</value>
+      <key>alpha10</key>
+      <value>1.0</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(400, 668)</value>
+      <value>(865, 58)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1494,7 +1609,7 @@
     <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0_1</value>
+      <value>blocks_char_to_float_0_0_0_0</value>
     </param>
     <param>
       <key>_enabled</key>
@@ -1526,7 +1641,7 @@
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(707, 188)</value>
+      <value>(1200, 191)</value>
     </param>
     <param>
       <key>_rotation</key>
@@ -1589,6 +1704,96 @@
     </param>
   </block>
   <block>
+    <key>digital_crc32_bb</key>
+    <param>
+      <key>id</key>
+      <value>digital_crc32_bb_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>check</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>lengthtagname</key>
+      <value>pkt_len</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(1214, 332)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>fec_async_encoder</key>
+    <param>
+      <key>id</key>
+      <value>fec_async_encoder_0</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>encoder</key>
+      <value>enc_cc</value>
+    </param>
+    <param>
+      <key>rev_unpack</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>rev_pack</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(429, 148)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
     <key>fec_extended_tagged_decoder</key>
     <param>
       <key>id</key>
@@ -1643,6 +1848,144 @@
       <value>0</value>
     </param>
   </block>
+  <block>
+    <key>variable_cc_decoder_def</key>
+    <param>
+      <key>id</key>
+      <value>dec_cc</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>4</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
+      <key>k</key>
+      <value>k</value>
+    </param>
+    <param>
+      <key>rate</key>
+      <value>rate</value>
+    </param>
+    <param>
+      <key>polys</key>
+      <value>polys</value>
+    </param>
+    <param>
+      <key>state_start</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>state_end</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>mode</key>
+      <value>fec.CC_TERMINATED</value>
+    </param>
+    <param>
+      <key>padding</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(400, 684)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_cc_encoder_def</key>
+    <param>
+      <key>id</key>
+      <value>enc_cc</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>8000</value>
+    </param>
+    <param>
+      <key>k</key>
+      <value>k</value>
+    </param>
+    <param>
+      <key>rate</key>
+      <value>rate</value>
+    </param>
+    <param>
+      <key>polys</key>
+      <value>polys</value>
+    </param>
+    <param>
+      <key>state_start</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>mode</key>
+      <value>fec.CC_TERMINATED</value>
+    </param>
+    <param>
+      <key>padding</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(401, 510)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
   <connection>
     <source_block_id>blocks_vector_source_x_0_1_0</source_block_id>
     <sink_block_id>blocks_throttle_0</sink_block_id>
@@ -1722,12 +2065,6 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_repack_bits_bb_0_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_0_0_0_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
     <source_block_id>blocks_char_to_float_0_1</source_block_id>
     <sink_block_id>fec_extended_tagged_decoder_0</sink_block_id>
     <source_key>0</source_key>
@@ -1739,4 +2076,10 @@
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
+  <connection>
+    <source_block_id>blocks_char_to_float_0_1</source_block_id>
+    <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>0</sink_key>
+  </connection>
 </flow_graph>
diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc 
b/gr-fec/examples/fecapi_tagged_decoders.grc
index a2e521d..2c9279f 100644
--- a/gr-fec/examples/fecapi_tagged_decoders.grc
+++ b/gr-fec/examples/fecapi_tagged_decoders.grc
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='ASCII'?>
 <flow_graph>
-  <timestamp>Sat May 17 17:05:02 2014</timestamp>
+  <timestamp>Sat May 17 19:22:20 2014</timestamp>
   <block>
     <key>options</key>
     <param>
@@ -583,136 +583,6 @@
     </param>
   </block>
   <block>
-    <key>variable_cc_encoder_def</key>
-    <param>
-      <key>id</key>
-      <value>enc_cc</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>"ok"</value>
-    </param>
-    <param>
-      <key>ndim</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>dim1</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>dim2</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>framebits</key>
-      <value>MTU*8</value>
-    </param>
-    <param>
-      <key>k</key>
-      <value>k</value>
-    </param>
-    <param>
-      <key>rate</key>
-      <value>rate</value>
-    </param>
-    <param>
-      <key>polys</key>
-      <value>polys</value>
-    </param>
-    <param>
-      <key>state_start</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>mode</key>
-      <value>fec.CC_STREAMING</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(166, 519)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
-    <key>variable_cc_decoder_def</key>
-    <param>
-      <key>id</key>
-      <value>dec_cc</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>value</key>
-      <value>"ok"</value>
-    </param>
-    <param>
-      <key>ndim</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>dim1</key>
-      <value>1</value>
-    </param>
-    <param>
-      <key>dim2</key>
-      <value>4</value>
-    </param>
-    <param>
-      <key>framebits</key>
-      <value>MTU*8</value>
-    </param>
-    <param>
-      <key>k</key>
-      <value>k</value>
-    </param>
-    <param>
-      <key>rate</key>
-      <value>rate</value>
-    </param>
-    <param>
-      <key>polys</key>
-      <value>polys</value>
-    </param>
-    <param>
-      <key>state_start</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>state_end</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>mode</key>
-      <value>fec.CC_STREAMING</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(166, 678)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
-    </param>
-  </block>
-  <block>
     <key>variable_dummy_decoder_def</key>
     <param>
       <key>id</key>
@@ -1917,6 +1787,73 @@
     </param>
   </block>
   <block>
+    <key>variable_cc_encoder_def</key>
+    <param>
+      <key>id</key>
+      <value>enc_cc</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>MTU*8</value>
+    </param>
+    <param>
+      <key>k</key>
+      <value>k</value>
+    </param>
+    <param>
+      <key>rate</key>
+      <value>rate</value>
+    </param>
+    <param>
+      <key>polys</key>
+      <value>polys</value>
+    </param>
+    <param>
+      <key>state_start</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>mode</key>
+      <value>fec.CC_TERMINATED</value>
+    </param>
+    <param>
+      <key>padding</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(166, 519)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
     <key>variable_repetition_decoder_def</key>
     <param>
       <key>id</key>
@@ -1967,6 +1904,77 @@
       <value>0</value>
     </param>
   </block>
+  <block>
+    <key>variable_cc_decoder_def</key>
+    <param>
+      <key>id</key>
+      <value>dec_cc</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"ok"</value>
+    </param>
+    <param>
+      <key>ndim</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>dim2</key>
+      <value>4</value>
+    </param>
+    <param>
+      <key>framebits</key>
+      <value>MTU*8</value>
+    </param>
+    <param>
+      <key>k</key>
+      <value>k</value>
+    </param>
+    <param>
+      <key>rate</key>
+      <value>rate</value>
+    </param>
+    <param>
+      <key>polys</key>
+      <value>polys</value>
+    </param>
+    <param>
+      <key>state_start</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>state_end</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>mode</key>
+      <value>fec.CC_TERMINATED</value>
+    </param>
+    <param>
+      <key>padding</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(166, 693)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+  </block>
   <connection>
     <source_block_id>blocks_vector_source_x_0_1_0</source_block_id>
     <sink_block_id>blocks_throttle_0</sink_block_id>
diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml 
b/gr-fec/grc/variable_cc_decoder_def_list.xml
index 87f88a0..7c72757 100644
--- a/gr-fec/grc/variable_cc_decoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_decoder_def_list.xml
@@ -10,11 +10,11 @@
     <import>from gnuradio import fec</import>
     <var_make>
 #if int($ndim())==0 #
-self.$(id) = $(id) = fec.cc_decoder.make($framebits, $k, $rate, $polys, 
$state_start, $state_end,  $mode)
+self.$(id) = $(id) = fec.cc_decoder.make($framebits, $k, $rate, $polys, 
$state_start, $state_end, $mode, $padding)
 #else if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.cc_decoder.make($framebits, $k, 
$rate, $polys, $state_start, $state_end,  $mode)), range(0,$dim1) ); #slurp
+self.$(id) = $(id) = map( (lambda a: fec.cc_decoder.make($framebits, $k, 
$rate, $polys, $state_start, $state_end, $mode, $padding)), range(0,$dim1) ); 
#slurp
 #else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_decoder.make($framebits, $k, $rate, $polys, $state_start, $state_end, 
$mode)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_decoder.make($framebits, $k, $rate, $polys, $state_start, $state_end, 
$mode, $padding)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
 #end if</var_make>
     <make></make>
 
@@ -126,6 +126,21 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_decoder.make($frame
         </option>
     </param>
 
+    <param>
+        <name>Byte Padding</name>
+        <key>padding</key>
+        <value>False</value>
+        <type>enum</type>
+        <option>
+            <name>No</name>
+            <key>False</key>
+        </option>
+        <option>
+            <name>Yes</name>
+            <key>True</key>
+        </option>
+    </param>
+
     <doc>
     </doc>
 </block>
diff --git a/gr-fec/grc/variable_cc_encoder_def_list.xml 
b/gr-fec/grc/variable_cc_encoder_def_list.xml
index 14c8f12..1e7aa8a 100644
--- a/gr-fec/grc/variable_cc_encoder_def_list.xml
+++ b/gr-fec/grc/variable_cc_encoder_def_list.xml
@@ -10,11 +10,11 @@
     <import>from gnuradio import fec</import>
     <var_make>
 #if int($ndim())==0 #
-self.$(id) = $(id) = fec.cc_encoder_make($framebits, $k, $rate, $polys, 
$state_start, $mode)
+self.$(id) = $(id) = fec.cc_encoder_make($framebits, $k, $rate, $polys, 
$state_start, $mode, $padding)
 #else if int($ndim())==1 #
-self.$(id) = $(id) = map( (lambda a: fec.cc_encoder_make($framebits, $k, 
$rate, $polys, $state_start, $mode)), range(0,$dim1) ); #slurp
+self.$(id) = $(id) = map( (lambda a: fec.cc_encoder_make($framebits, $k, 
$rate, $polys, $state_start, $mode, $padding)), range(0,$dim1) ); #slurp
 #else
-self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_encoder_make($framebits, $k, $rate, $polys, $state_start, $mode)), 
range(0,$dim2) ) ), range(0,$dim1)); #slurp
+self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_encoder_make($framebits, $k, $rate, $polys, $state_start, $mode, 
$padding)), range(0,$dim2) ) ), range(0,$dim1)); #slurp
 #end if</var_make>
     <make></make>
 
@@ -119,8 +119,21 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: 
fec.cc_encoder_make($frame
         </option>
     </param>
 
+    <param>
+        <name>Byte Padding</name>
+        <key>padding</key>
+        <value>False</value>
+        <type>enum</type>
+        <option>
+            <name>No</name>
+            <key>False</key>
+        </option>
+        <option>
+            <name>Yes</name>
+            <key>True</key>
+        </option>
+    </param>
+
     <doc>
-        This instantiates a 1-dim array of encoders or a 2-dim array of 
encoders
-        See Nick if things break.
     </doc>
 </block>
diff --git a/gr-fec/include/gnuradio/fec/cc_decoder.h 
b/gr-fec/include/gnuradio/fec/cc_decoder.h
index 8aad328..0d0f51b 100644
--- a/gr-fec/include/gnuradio/fec/cc_decoder.h
+++ b/gr-fec/include/gnuradio/fec/cc_decoder.h
@@ -36,7 +36,7 @@ namespace gr {
       typedef void(*conv_kernel)(unsigned char  *Y, unsigned char  *X,
                                  unsigned char *syms, unsigned char *dec,
                                  unsigned int framebits, unsigned int excess,
-                                 unsigned char  *Branchtab);
+                                 unsigned char *Branchtab);
 
       /*!
        * \brief Convolutional Code Decoding class.
@@ -83,12 +83,15 @@ namespace gr {
          * \param start_state Initialization state of the shift register.
          * \param end_state Ending state of the shift register.
          * \param mode cc_mode_t mode of the encoding.
+         * \param padded true if the encoded frame is padded
+         *               to the nearest byte.
          */
         static generic_decoder::sptr make
           (int frame_size, int k,
            int rate, std::vector<int> polys,
            int start_state=0, int end_state=-1,
-           cc_mode_t mode=CC_STREAMING);
+           cc_mode_t mode=CC_STREAMING,
+           bool padded=false);
 
         /*!
          * Sets the uncoded frame size to \p frame_size. If \p
diff --git a/gr-fec/include/gnuradio/fec/cc_encoder.h 
b/gr-fec/include/gnuradio/fec/cc_encoder.h
index 28dd5f4..b8ab0c1 100644
--- a/gr-fec/include/gnuradio/fec/cc_encoder.h
+++ b/gr-fec/include/gnuradio/fec/cc_encoder.h
@@ -110,11 +110,13 @@ namespace gr {
          * \param polys Vector of polynomials as integers.
          * \param start_state Initialization state of the shift register.
          * \param mode cc_mode_t mode of the encoding.
+         * \param padded true if the encoded frame should be padded
+         *               to the nearest byte.
          */
         static generic_encoder::sptr make
           (int frame_size, int k, int rate,
            std::vector<int> polys, int start_state = 0,
-           cc_mode_t mode=CC_STREAMING);
+           cc_mode_t mode=CC_STREAMING, bool padded=false);
 
         /*!
          * Sets the uncoded frame size to \p frame_size. If \p
diff --git a/gr-fec/lib/async_encoder_impl.cc b/gr-fec/lib/async_encoder_impl.cc
index 4856dfd..ff7480f 100644
--- a/gr-fec/lib/async_encoder_impl.cc
+++ b/gr-fec/lib/async_encoder_impl.cc
@@ -92,7 +92,7 @@ namespace gr {
       d_encoder->set_frame_size(nbits);
 
       int nbits_out = d_encoder->get_output_size();
-      int nbytes_out = ceilf(static_cast<float>(nbits_out)/8.0f);
+      int nbytes_out = nbits_out/8;
 
       // buffers for bits/bytes to go to
       uint8_t* bits_out = (uint8_t*)volk_malloc(nbits_out*sizeof(uint8_t),
diff --git a/gr-fec/lib/cc_decoder_impl.cc b/gr-fec/lib/cc_decoder_impl.cc
index 6b7daaf..6739f7b 100644
--- a/gr-fec/lib/cc_decoder_impl.cc
+++ b/gr-fec/lib/cc_decoder_impl.cc
@@ -40,23 +40,24 @@ namespace gr {
       cc_decoder::make(int frame_size, int k,
                        int rate, std::vector<int> polys,
                        int start_state, int end_state,
-                       cc_mode_t mode)
+                       cc_mode_t mode, bool padded)
       {
         return generic_decoder::sptr
           (new cc_decoder_impl(frame_size, k, rate, polys,
-                               start_state, end_state, mode));
+                               start_state, end_state, mode, padded));
       }
 
       cc_decoder_impl::cc_decoder_impl(int frame_size, int k,
                                        int rate, std::vector<int> polys,
                                        int start_state, int end_state,
-                                       cc_mode_t mode)
+                                       cc_mode_t mode, bool padded)
         : generic_decoder("cc_decoder"),
           d_k(k),
           d_rate(rate),
           d_partial_rate(rate),
           d_polys(polys),
           d_mode(mode),
+          d_padding(0),
           d_start_state_chaining(start_state),
           d_start_state_nonchaining(start_state),
           d_end_state_nonchaining(end_state)
@@ -65,7 +66,12 @@ namespace gr {
         // based on this value.
         d_max_frame_size = frame_size;
         d_frame_size = frame_size;
-        //set_frame_size(frame_size);
+
+        // set up a padding factor. If padding, the encoded frame was exteded
+        // by this many bits to fit into a full byte.
+        if(padded && (mode == CC_TERMINATED)) {
+          d_padding = static_cast<int>(8.0f*ceilf(d_rate*(d_k-1)/8.0f) - 
(d_rate*(d_k-1)));
+        }
 
         d_vp = new struct v;
 
@@ -170,7 +176,7 @@ namespace gr {
       cc_decoder_impl::get_input_size()
       {
         if(d_mode == CC_TERMINATED) {
-          return d_rate * (d_frame_size + d_k - 1);
+          return d_rate * (d_frame_size + d_k - 1) + d_padding;
         }
         else {
           return d_rate * d_frame_size;
@@ -365,7 +371,6 @@ namespace gr {
         d += tailsize * d_decision_t_size ; /* Look past tail */
         int retval;
         int dif = tailsize - (d_k - 1);
-        //printf("break, %d, %d\n", dif, (nbits+dif)%d_frame_size);
         decision_t dec;
         while(nbits-- > d_frame_size - (d_k - 1)) {
           int k;
@@ -373,8 +378,6 @@ namespace gr {
           k = (dec.w[(endstate>>d_ADDSHIFT)/32] >> 
((endstate>>d_ADDSHIFT)%32)) & 1;
 
           endstate = (endstate >> 1) | (k << (d_k-2+d_ADDSHIFT));
-          //data[((nbits+dif)%nbits)>>3] = endstate>>d_SUBSHIFT;
-          //printf("%d, %d\n", k, (nbits+dif)%d_frame_size);
           data[((nbits+dif)%d_frame_size)] = k;
 
           retval = endstate;
@@ -400,7 +403,7 @@ namespace gr {
       {
         bool ret = true;
         if(frame_size > d_max_frame_size) {
-          GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max 
possible is %2%") \
+          GR_LOG_INFO(d_logger, boost::format("cc_decoder: tried to set frame 
to %1%; max possible is %2%") \
                       % frame_size % d_max_frame_size);
           frame_size = d_max_frame_size;
           ret = false;
@@ -412,7 +415,7 @@ namespace gr {
         case(CC_TAILBITING):
           d_veclen = d_frame_size + (6 * (d_k - 1));
           if(d_veclen * d_rate > d_managed_in_size) {
-            throw std::runtime_error("attempt to resize beyond d_managed_in 
buffer size!\n");
+            throw std::runtime_error("cc_decoder: attempt to resize beyond 
d_managed_in buffer size!\n");
           }
           break;
 
@@ -421,7 +424,13 @@ namespace gr {
           break;
 
         case(CC_STREAMING):
+          d_veclen = d_frame_size + d_k - 1;
+          break;
+
         case(CC_TERMINATED):
+          // If the input is being padded out to a byte, we know the
+          // real frame size is without the padding.
+          d_frame_size -= d_padding * d_rate;
           d_veclen = d_frame_size + d_k - 1;
           break;
 
diff --git a/gr-fec/lib/cc_decoder_impl.h b/gr-fec/lib/cc_decoder_impl.h
index d0b1af3..33ced02 100644
--- a/gr-fec/lib/cc_decoder_impl.h
+++ b/gr-fec/lib/cc_decoder_impl.h
@@ -67,6 +67,7 @@ namespace gr {
         unsigned int d_partial_rate;
         std::vector<int> d_polys;
         cc_mode_t d_mode;
+        int d_padding;
 
         struct v* d_vp;
         unsigned char* d_managed_in;
@@ -90,7 +91,7 @@ namespace gr {
         cc_decoder_impl(int frame_size, int k,
                         int rate, std::vector<int> polys,
                         int start_state = 0, int end_state = -1,
-                        cc_mode_t mode=CC_STREAMING);
+                        cc_mode_t mode=CC_STREAMING, bool padded=false);
         ~cc_decoder_impl();
 
         void generic_work(void *inbuffer, void *outbuffer);
diff --git a/gr-fec/lib/cc_encoder_impl.cc b/gr-fec/lib/cc_encoder_impl.cc
index abbf1a8..90d2ee4 100644
--- a/gr-fec/lib/cc_encoder_impl.cc
+++ b/gr-fec/lib/cc_encoder_impl.cc
@@ -42,21 +42,21 @@ namespace gr {
       generic_encoder::sptr
       cc_encoder::make(int frame_size, int k, int rate,
                        std::vector<int> polys, int start_state,
-                        cc_mode_t mode)
+                       cc_mode_t mode, bool padded)
       {
         return generic_encoder::sptr
           (new cc_encoder_impl(frame_size, k, rate,
                                polys, start_state,
-                               mode));
+                               mode, padded));
       }
 
       cc_encoder_impl::cc_encoder_impl(int frame_size, int k, int rate,
                                        std::vector<int> polys, int start_state,
-                                       cc_mode_t mode)
+                                       cc_mode_t mode, bool padded)
         : generic_encoder("cc_encoder"),
           d_rate(rate), d_k(k), d_polys(polys),
           d_start_state(start_state),
-          d_mode(mode)
+          d_mode(mode), d_padding(0)
       {
         if(static_cast<size_t>(d_rate) != d_polys.size()) {
           throw std::runtime_error("cc_encoder: Number of polynomials must be 
the same as the value of rate");
@@ -64,6 +64,12 @@ namespace gr {
 
         partab_init();
 
+        // set up a padding factor. If padding, extends the encoding
+        // by this many bits to fit into a full byte.
+        if(padded && (mode == CC_TERMINATED)) {
+          d_padding = static_cast<int>(8.0f*ceilf(d_rate*(d_k-1)/8.0f) - 
(d_rate*(d_k-1)));
+        }
+
         d_max_frame_size = frame_size;
         set_frame_size(frame_size);
       }
@@ -98,7 +104,7 @@ namespace gr {
         d_frame_size = frame_size;
 
         if(d_mode == CC_TERMINATED) {
-          d_output_size = d_rate * (d_frame_size + d_k - 1);
+          d_output_size = d_rate * (d_frame_size + d_k - 1) + d_padding;
         }
         /*
         else if(d_trunc_intrinsic) {
diff --git a/gr-fec/lib/cc_encoder_impl.h b/gr-fec/lib/cc_encoder_impl.h
index 0088875..77d5f42 100644
--- a/gr-fec/lib/cc_encoder_impl.h
+++ b/gr-fec/lib/cc_encoder_impl.h
@@ -51,6 +51,7 @@ namespace gr {
         int d_decision_t_size;
         int d_start_state;
         cc_mode_t d_mode;
+        int d_padding;
         int d_output_size;
 
         int parity(int x);
@@ -60,7 +61,7 @@ namespace gr {
       public:
         cc_encoder_impl(int frame_size, int k, int rate,
                         std::vector<int> polys, int start_state = 0,
-                        cc_mode_t mode=CC_STREAMING);
+                        cc_mode_t mode=CC_STREAMING, bool padded=false);
         ~cc_encoder_impl();
 
         bool set_frame_size(unsigned int frame_size);
diff --git a/gr-fec/lib/tagged_decoder_impl.cc 
b/gr-fec/lib/tagged_decoder_impl.cc
index bccf514..2841b5f 100644
--- a/gr-fec/lib/tagged_decoder_impl.cc
+++ b/gr-fec/lib/tagged_decoder_impl.cc
@@ -85,9 +85,6 @@ namespace gr {
 
       d_decoder->generic_work((void*)in, (void*)out);
 
-      add_item_tag(0, nitems_written(0) + 
d_decoder->get_output_size()*d_output_item_size,
-                   pmt::intern(d_decoder->alias()), pmt::PMT_T, 
pmt::intern(alias()));
-
       return d_decoder->get_output_size();
     }
 
diff --git a/gr-fec/lib/tagged_encoder_impl.cc 
b/gr-fec/lib/tagged_encoder_impl.cc
index 4d19e4c..8461a56 100644
--- a/gr-fec/lib/tagged_encoder_impl.cc
+++ b/gr-fec/lib/tagged_encoder_impl.cc
@@ -86,9 +86,6 @@ namespace gr {
 
       d_encoder->generic_work((void*)(inbuffer), (void*)(outbuffer));
 
-      add_item_tag(0, nitems_written(0) + 
(d_encoder->get_output_size()*d_output_item_size),
-                   pmt::intern(d_encoder->alias()), pmt::PMT_T, 
pmt::intern(alias()));
-
       return d_encoder->get_output_size();
     }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]