fn decodeSequenceSlice(self: *DecodeState, dest: []u8, write_pos: usize, bit_reader: *readers.ReverseBitReader, sequence_size_limit: usize, last_sequence: bool) error{DestTooSmall} || DecodeSequenceError!usize

Decode one sequence from bit_reader into dest, written starting at write_pos and update FSE states if last_sequence is false. prepare() must be called for the block before attempting to decode sequences.

Errors returned:

  • error.MalformedSequence if the decompressed sequence would be longer than sequence_size_limit or the sequence’s offset is too large
  • error.UnexpectedEndOfLiteralStream if the decoder state’s literal streams do not contain enough literals for the sequence (this may mean the literal stream or the sequence is malformed).
  • error.InvalidBitStream if the FSE sequence bitstream is malformed
  • error.EndOfStream if bit_reader does not contain enough bits
  • error.DestTooSmall if dest is not large enough to holde the decompressed sequence

Parameters

self: *DecodeState,
dest: []u8,
write_pos: usize,
sequence_size_limit: usize,
last_sequence: bool,