-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modules/zstd: Add literals decoding #1430
base: main
Are you sure you want to change the base?
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
3c28899
to
2574243
Compare
2574243
to
b5a9985
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 <rwinkler@antmicro.com>
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 <rwinkler@antmicro.com>
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 <rwinkler@antmicro.com>
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 <rdobrodii@antmicro.com> Co-authored-by: Pawel Czarnecki <pczarnecki@antmicro.com> Signed-off-by: Robert Winkler <rwinkler@antmicro.com> Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Required for expected_status inference in C++ tests for ZSTD decoder components Internal-tag: [#53465] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#50967] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
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 <rwinkler@antmicro.com>
Internal-tag: [#50967] Co-authored-by: Pawel Czarnecki <pczarnecki@antmicro.com> Signed-off-by: Robert Winkler <rwinkler@antmicro.com> Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#51343] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Internal-tag: [#51343] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
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 <pczarnecki@antmicro.com>
Internal-tag: [#51343] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
This commit adds DecoderMux Proc, which collects data from specialized Raw, RLE, and Compressed Block decoders and re-sends them in the correct order. Internal-tag: [#51343] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
This DSLX proc responsibility is to dispatch encoded blocks to a correct decoder: RAW, RLE, COMPRESSED. It tracks and assigns block IDs. The ID counter is reset on the frame's last block on the last data packet. Internal-tag: [#51736] Co-authored-by: Robert Winkler <rwinkler@antmicro.com> Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
This adds a decoder of block data. It decodes block header and demuxes remaining input data into one of specific block decoders depending on the type of the parsed block. Then it muxes outputs from those decoders into single output channel. Internal-tag: [#51873] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52954] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
This commit marks SimultaneousReadWriteBehavior enum and num_partitions function as public to allow for creating simpler tests that interact with RAM models. Internal-tag: [#53241] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Internal-tag: [#54705] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
This commit adds RAM printer block usefull for debugging HistoryBuffer inside SequenceExecutor. Internal-tag: [#54705] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Add Proc responsible for handling ZSTD Sequence Execution step, which is described in: https://datatracker.ietf.org/doc/html/rfc8878#name-sequence-execution Internal-tag: [#54705] Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Internal-tag: [#52954] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
This commit adds a ZSTD decoder module that parses ZSTD frames. The provided tests examine the model using C++ API, which is a prerequisite for detailed tests using zstd library. Internal-tag: [#50221] Co-authored-by: Maciej Dudek <mdudek@antmicro.com> Co-authored-by: Pawel Czarnecki <pczarnecki@antmicro.com> Signed-off-by: Maciej Dudek <mdudek@antmicro.com> Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com> Signed-off-by: Robert Winkler <rwinkler@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#60906] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#60906] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
…coder Internal-tag: [#60906] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#60906] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Internal-tag: [#52186] Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Signed-off-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
Signed-off-by: Maciej Torhan <mtorhan@antmicro.com>
Signed-off-by: Maciej Torhan <mtorhan@antmicro.com>
Internal-tag: [#56124] Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Signed-off-by: Maciej Torhan <mtorhan@antmicro.com>
Signed-off-by: Maciej Torhan <mtorhan@antmicro.com>
Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
b5a9985
to
6d31c72
Compare
should this be rebased now that #1315 has been merged? |
This PR is meant to provide a proc implementing literals section decoding as described in:
https://datatracker.ietf.org/doc/html/rfc8878#section-3.1.1.3.1
In the beginning, we will focus on implementing the entire RAW and RLE literals decoding path.
Support for literals that use Huffman coding will be added later.
NOTE: this is based on #1214, please ignore commits from that branch when reviewing.