"command":"hand-built: [RLE 5000 x 0xAB][raw 33 bytes][RLE 40000 x 0x07] in one frame",
"verdict":"legal",
"plain":[
"mixed_rle_raw.raw.gz"
],
"size":45033
},
{
"name":"nofcs_windowed",
"frame":"nofcs_windowed.zst",
"command":"zstd -3 --no-check from stdin over b'the quick brown fox jumps over the lazy dog. ' * 24000",
"verdict":"legal",
"plain":[
"text.raw.gz"
],
"size":1080000,
"expectedSize":1080000
},
{
"name":"direct_nibble",
"frame":"direct_nibble.zst",
"command":"block 183 of path/to/srtm1z/N00E042.hgtz, lifted out as its own frame; its literals carry the direct-nibble Huffman weight form",
"verdict":"legal",
"plain":[
"direct_nibble.raw.gz"
],
"size":131072
},
{
"name":"dictflag",
"frame":"dictflag.zst",
"command":"python3: pyzstd.compress(A, 3) with Dictionary_ID_flag forced to 1 in the frame header descriptor",
"verdict":"refused",
"why":"a dictionary this decoder does not have; pyzstd refuses it: ZstdError"
},
{
"name":"rle_over_max",
"frame":"rle_over_max.zst",
"command":"hand-built: one last RLE block declaring Block_Size 2,000,000",
"verdict":"refused",
"why":"RFC 8878 bounds Block_Size by Block_Maximum_Size, never over 128 KB; libzstd's one-shot decoder accepts it and returns 2 MB"
},
{
"name":"rle_at_max",
"frame":"rle_at_max.zst",
"command":"hand-built: one last RLE block at exactly Block_Maximum_Size, 131072",
"verdict":"legal",
"plain":[
"rle_at_max.raw.gz"
],
"size":131072
},
{
"name":"lit_one_stream",
"frame":"lit_one_stream.zst",
"command":"zstd -19 -c --no-check over a file holding b'aaadaabaaaddbbaaacabbada'; from a file rather than stdin so the frame declares its own content size",
"verdict":"legal",
"plain":[
"lit_one_stream.raw.gz"
],
"size":24
},
{
"name":"multiblock_check",
"frame":"multiblock_check.zst",
"command":"python3: pyzstd.compress(body, {level: 9, checksumFlag: 1, targetCBlockSize: 8192}), body = 165,450 bytes of runs",
"verdict":"legal",
"plain":[
"multiblock_check.raw.gz"
],
"size":165450
},
{
"name":"trailing_junk",
"frame":"trailing_junk.zst",
"command":"hand-built: the lit_one_stream frame with four bytes of junk appended",
"verdict":"refused",
"why":"reading one frame is the whole API, so input left over after it is input this decoder does not understand; it used to be ignored"
},
{
"name":"trailing_skippable",
"frame":"trailing_skippable.zst",
"command":"hand-built: the lit_one_stream frame followed by a skippable frame",
"verdict":"refused",
"why":"a trailing skippable frame was accepted and silently ignored; only a leading one was refused, and only because the magic check fired"