mirror of
https://github.com/facebook/zstd.git
synced 2025-03-06 08:49:28 +02:00
Move educational_decoder to doc/ and add doc README
- Also make some minor bugfixes to educational decoder
This commit is contained in:
parent
a395fdbaf0
commit
1d1932480e
20
doc/README.md
Normal file
20
doc/README.md
Normal file
@ -0,0 +1,20 @@
|
||||
Zstandard Documentation
|
||||
=======================
|
||||
|
||||
This directory contains material defining the Zstandard format,
|
||||
as well as for help using the `zstd` library.
|
||||
|
||||
__`zstd_compression_format.md`__ : This document defines the Zstandard compression format.
|
||||
Compliant decoders must adhere to this document,
|
||||
and compliant encoders must generate data that follows it.
|
||||
|
||||
__`educational_decoder`__ : This directory contains an implementation of a Zstandard decoder,
|
||||
compliant with the Zstandard compression format.
|
||||
It can be used, for example, to better understand the format,
|
||||
or as the basis for a separate implementation a Zstandard decoder/encoder.
|
||||
|
||||
__`zstd_manual.html`__ : Documentation on the functions found in `zstd.h`.
|
||||
See [http://zstd.net/zstd_manual.html](http://zstd.net/zstd_manual.html) for
|
||||
the manual released with the latest official `zstd` release.
|
||||
|
||||
|
@ -799,7 +799,7 @@ static size_t decode_literals_simple(istream_t *const in, u8 **const literals,
|
||||
case 2:
|
||||
// "Size_Format uses 1 bit. Regenerated_Size uses 5 bits (0-31)."
|
||||
IO_rewind_bits(in, 1);
|
||||
size = IO_read_bits(in, 2);
|
||||
size = IO_read_bits(in, 5);
|
||||
break;
|
||||
case 1:
|
||||
// "Size_Format uses 2 bits. Regenerated_Size uses 12 bits (0-4095)."
|
||||
@ -881,7 +881,7 @@ static size_t decode_literals_compressed(frame_context_t *const ctx,
|
||||
IMPOSSIBLE();
|
||||
}
|
||||
if (regenerated_size > MAX_LITERALS_SIZE ||
|
||||
compressed_size > regenerated_size) {
|
||||
compressed_size >= regenerated_size) {
|
||||
CORRUPTION();
|
||||
}
|
||||
|
||||
@ -1654,7 +1654,7 @@ static inline const u8 *IO_read_bytes(istream_t *const in, size_t len) {
|
||||
/// Returns a pointer to write `len` bytes to, and advances the internal state
|
||||
static inline u8 *IO_write_bytes(ostream_t *const out, size_t len) {
|
||||
if (len > out->len) {
|
||||
INP_SIZE();
|
||||
OUT_SIZE();
|
||||
}
|
||||
u8 *const ptr = out->ptr;
|
||||
out->ptr += len;
|
Loading…
x
Reference in New Issue
Block a user