I understand that the difference between convolutional and block-based FEC is that convolutional codes can be used in a continuous stream – however every implementation I saw still uses blocks.
So I wrote some code using turbofec's library to see if I could decode a stream of blocks starting from an arbitrary point (so that the decoder's blocks are not in sync with the beginning of a convolutional packet), and it looks like I can't get it to work properly (while it works with zero offset).
Does this mean that Viterbi, turbo codes, etc., require a sync to the beginning/end of the blocks at the decoding phase, or is my problem in the library I'm using? (it's a bit suspect since that some of the status of the decoder is re-initialised at every call, but the library specifically only exposes the function forcing this initialisation)