Skip to content

Commit 4c1bb56

Browse files
committed
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]>
1 parent 4f0cdd2 commit 4c1bb56

File tree

2 files changed

+432
-0
lines changed

2 files changed

+432
-0
lines changed

xls/modules/zstd/BUILD

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,21 @@ xls_dslx_test(
155155
name = "raw_block_dec_dslx_test",
156156
library = ":raw_block_dec_dslx",
157157
)
158+
159+
xls_dslx_library(
160+
name = "rle_block_dec_dslx",
161+
srcs = [
162+
"rle_block_dec.x",
163+
],
164+
deps = [
165+
":buffer_dslx",
166+
":common_dslx",
167+
"//xls/modules/rle:rle_common_dslx",
168+
"//xls/modules/rle:rle_dec_dslx",
169+
],
170+
)
171+
172+
xls_dslx_test(
173+
name = "rle_block_dec_dslx_test",
174+
library = ":rle_block_dec_dslx",
175+
)

0 commit comments

Comments
 (0)