1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! The block partition of one symbol stream.
//!
//! Ports `BlockSplit` from `c/enc/block_splitter.h` of the pinned reference
//! (`google/brotli` v1.2.0, commit `028fb5a`).
//!
//! A meta-block splits each of its three symbol streams — literals, commands
//! and distances — into consecutive blocks, each tagged with a block type that
//! selects the prefix code it is coded with. How the boundaries are chosen is a
//! quality decision; the partition itself is shared, because the bit writer and
//! the histogram builders read the same shape whichever splitter produced it.
/// Largest number of block types a meta-block may use.
pub const MAX_NUMBER_OF_BLOCK_TYPES: usize = 256;
/// The block boundaries and types one symbol stream was split into.
pub