Refactor Decoder#501
Merged
Merged
Conversation
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
01c75c0 to
c2577c3
Compare
c2577c3 to
7e5cfcb
Compare
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 19, 2026
argilo
reviewed
Apr 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes an issue raised in #457(to be moved in a different pr)While working on the API for the local_time SIS parameter, I wanted to try out decoding the ALFN to experiment with what stations are sending out. That requires the current block count to construct ALFN.
The current block count isn't directly associated with each PIDS. To make this easier, I decided to refactor the decoder to make the current block count more accessible.
This is the improvements:
decode_set_blockis removed since block count is now provided with each call.decode_set_psminow.decode_set_px1_lengthis not needed.The convolutional decoder's path and trellis is now separated. The possibly for stack allocation is easier.(to be moved in a different pr)The convolutional decoder's path and trellis is now allocated upfront before decoding and freed after decoding is finished. This does make memory usage (~18.7 MB) from convolutional decoder noticeable. For example, Task Manager on Windows now shows the memory usage from the convolutional decoder.(to be moved in a different pr)There is still some code duplication but good enough for what it is at the moment.
I did learn a lot by asking @argilo many questions to make sure this was refactored properly.