diff --git a/doc/zstd_compression_format.md b/doc/zstd_compression_format.md index 0532a846f45..29a6e3a4327 100644 --- a/doc/zstd_compression_format.md +++ b/doc/zstd_compression_format.md @@ -1252,7 +1252,9 @@ Number_of_Bits = Weight ? (Max_Number_of_Bits + 1 - Weight) : 0 ``` When a literal value is not present, it receives a `Weight` of 0. The least frequent symbol receives a `Weight` of 1. -Consequently, the `Weight` 1 is necessarily present. +If no literal has a `Weight` of 1, then the data is considered corrupted. +If there are not at least two literals with non-zero `Weight`, then the data +is considered corrupted. The most frequent symbol receives a `Weight` anywhere between 1 and 11 (max). The last symbol's `Weight` is deduced from previously retrieved Weights, by completing to the nearest power of 2. It's necessarily non 0.