Hi Tom,
Thank you for explainations!
> Potential Viterbi optimization using SIMD methods is substantial as I
> demonstrated many years ago. The implementation does require
> separation of puncturing and Viterbi. Unfortunately, the has code
> experienced code rot since then. Admittedly, I accept much of that
> blame.
I think it would be really good to have/use your Viterbi implementation
inside the libosmocoding. Regarding to some remarks to your code, I am
ready to fix them (such as malloc -> talloc).
Moreover, recently I had a conversation with Alexander Chemeris. He also
mentioned your implementation, which would be better to use in embedded
platforms (such as UmSITE) due to performance reasons.
> In summary, my concern is about the implementation and not the API.
> Perhaps we could pull the puncturing into the library as Max suggests.
> Then, separately, consider performance changes to the internal
> puncturing and Viterbi implementations.
So, my suggestion is to:
1) Extend your code with encoding capabilities.
2) Merge Viterbi transcoder with the libosmocoding.
3) Merge libosmocoding into libosmocore as a sub-library
or spawn a separate repository.
Any opinions?