modules/zstd: add rle block decoder#1213
Closed
lpawelcz wants to merge 16 commits intogoogle:mainfrom
Closed
Conversation
1f02f00 to
842cfcf
Compare
823d5a8 to
ad311e0
Compare
ad311e0 to
f1c4596
Compare
81fca94 to
4c1bb56
Compare
afbdd66 to
80b5bc7
Compare
80b5bc7 to
2b45f83
Compare
This commit adds a DSLX Buffer library that provides the Buffer struct, and helper functions that can be used to operate on it. The Buffer is meant to be a storage for data coming from the channel. It acts like a FIFO, allowing data of any length to be put in or popped out of it. Provided DSLX tests verify the correct behaviour of the library. Internal-tag: [#50221] Signed-off-by: Robert Winkler <[email protected]>
This commit adds a simple test that shows, how one can use the Buffer struct inside a Proc. Internal-tag: [#50221] Signed-off-by: Robert Winkler <[email protected]>
Signed-off-by: Pawel Czarnecki <[email protected]>
This commit adds the library with functions for parsing a magic number and tests that verify its correctness. Internal-tag: [#50221] Signed-off-by: Robert Winkler <[email protected]>
This commit adds the library with functions for parsing a frame header. The provided tests verify the correcness of the library. Internal-tag: [#49967] Co-authored-by: Roman Dobrodii <[email protected]> Co-authored-by: Pawel Czarnecki <[email protected]> Signed-off-by: Robert Winkler <[email protected]> Signed-off-by: Pawel Czarnecki <[email protected]>
Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
Required for expected_status inference in C++ tests for ZSTD decoder components Internal-tag: [#53465] Signed-off-by: Pawel Czarnecki <[email protected]>
Internal-tag: [#50967] Signed-off-by: Robert Winkler <[email protected]>
This commit adds a binary that calls decoding to generate data and loads it into a vector of bytes. Internal-tag: [#50967] Signed-off-by: Robert Winkler <[email protected]>
Internal-tag: [#50967] Co-authored-by: Pawel Czarnecki <[email protected]> Signed-off-by: Robert Winkler <[email protected]> Signed-off-by: Pawel Czarnecki <[email protected]>
Internal-tag: [#51343] Signed-off-by: Robert Winkler <[email protected]>
Internal-tag: [#51343] Signed-off-by: Robert Winkler <[email protected]>
Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
Adds RleBlockDecoder responsible for decoding Blocks of RLE_Block Block_Type as specified in RFC 8878, paragraph 3.1.1.2.2. https://datatracker.ietf.org/doc/html/rfc8878#section-3.1.1.2.2 RleBlockDecoder communicates through BlockDataPacket channels. It reuses existing RunLengthDecoder block which is interfaced through two seprate procs: * RleDataPacker * BatchPacker Which are responsible for converting input data into format accepted by RLE decoder and for gathering RLE decoder output symbols into batches which are then send out through BlockDataPacket. Internal-tag: [#51473] Signed-off-by: Pawel Czarnecki <[email protected]>
Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
2b45f83 to
5689ed9
Compare
lpawelcz
added a commit
to antmicro/xls
that referenced
this pull request
Feb 21, 2024
google#1213 modules/zstd: Add rle block decoder Adds RleBlockDecoder responsible for decoding Blocks of RLE_Block Block_Type as specified in RFC 8878, paragraph 3.1.1.2.2. https://datatracker.ietf.org/doc/html/rfc8878#section-3.1.1.2.2 RleBlockDecoder communicates through BlockDataPacket channels. It reuses existing RunLengthDecoder block which is interfaced through two seprate procs: * RleDataPacker * BatchPacker Which are responsible for converting input data into format accepted by RLE decoder and for gathering RLE decoder output symbols into batches which are then send out through BlockDataPacket. Internal-tag: [#51473] Signed-off-by: Pawel Czarnecki <[email protected]> modules/zstd/rle_block_dec: Specify fifo depths for internal channels Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]> modules/zstd/rle_block_decoder: Add benchmarking rules Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
lpawelcz
added a commit
to antmicro/xls
that referenced
this pull request
Mar 7, 2024
google#1213 modules/zstd: Add rle block decoder Adds RleBlockDecoder responsible for decoding Blocks of RLE_Block Block_Type as specified in RFC 8878, paragraph 3.1.1.2.2. https://datatracker.ietf.org/doc/html/rfc8878#section-3.1.1.2.2 RleBlockDecoder communicates through BlockDataPacket channels. It reuses existing RunLengthDecoder block which is interfaced through two seprate procs: * RleDataPacker * BatchPacker Which are responsible for converting input data into format accepted by RLE decoder and for gathering RLE decoder output symbols into batches which are then send out through BlockDataPacket. Internal-tag: [#51473] Signed-off-by: Pawel Czarnecki <[email protected]> modules/zstd/rle_block_dec: Specify fifo depths for internal channels Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]> modules/zstd/rle_block_decoder: Add benchmarking rules Internal-tag: [#53329] Signed-off-by: Pawel Czarnecki <[email protected]>
Member
|
should we close this and focus on reviewing #1315 ? |
Contributor
Author
|
Closing. The review will take place in #1315 |
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.
This PR adds
RleBlockDecoderProc which is responsible for decoding ZSTD RLE Blocks. More information about RLE Block's format can be found in Section 3.1.1.2.2 of RFC8788.RleBlockDecodercommunicates throughBlockDataPacketchannels.It reuses existing
RunLengthDecoderblock which is interfaced throughtwo seprate procs:
RleDataPackerBatchPackerThose are responsible for converting input data into format accepted by
RLE decoder and for gathering RLE decoder output symbols into batches
which are then send out through
BlockDataPacket.NOTE: this is based on #1212 , please ignore commits from that branch when reviewing.
This is part of #1211
CC @proppy