aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/lz/lz_encoder.h
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2008-09-02 11:45:39 +0300
committerLasse Collin <lasse.collin@tukaani.org>2008-09-02 11:45:39 +0300
commitfc681657450ce57be1fe08f7a15d31dcc705e514 (patch)
tree6ca64e95abda4b9959f7d85869771d57e5a42be8 /src/liblzma/lz/lz_encoder.h
parentFix wrong pointer calculation in LZMA encoder. (diff)
downloadxz-fc681657450ce57be1fe08f7a15d31dcc705e514.tar.xz
Some fixes to LZ encoder.
Diffstat (limited to '')
-rw-r--r--src/liblzma/lz/lz_encoder.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/liblzma/lz/lz_encoder.h b/src/liblzma/lz/lz_encoder.h
index 45bb8462..8442dfa0 100644
--- a/src/liblzma/lz/lz_encoder.h
+++ b/src/liblzma/lz/lz_encoder.h
@@ -53,18 +53,20 @@ struct lzma_mf_s {
/// Number of bytes that must be kept in buffer after read_pos.
/// That is, read_pos <= write_pos - keep_size_after as long as
- /// stream_end_was_reached is false (once it is true, read_pos
- /// is allowed to reach write_pos).
+ /// action is LZMA_RUN; when action != LZMA_RUN, read_pos is allowed
+ /// to reach write_pos so that the last bytes get encoded too.
uint32_t keep_size_after;
/// Match finders store locations of matches using 32-bit integers.
/// To avoid adjusting several megabytes of integers every time the
- /// input window is moved with move_window(), we only adjust the
- /// offset of the buffer. Thus, buffer[match_finder_pos - offset]
- /// is the byte pointed by match_finder_pos.
+ /// input window is moved with move_window, we only adjust the
+ /// offset of the buffer. Thus, buffer[value_in_hash_table - offset]
+ /// is the byte pointed by value_in_hash_table.
uint32_t offset;
- /// buffer[read_pos] is the current byte.
+ /// buffer[read_pos] is the next byte to run through the match
+ /// finder. This is incremented in the match finder once the byte
+ /// has been processed.
uint32_t read_pos;
/// Number of bytes that have been ran through the match finder, but
@@ -103,8 +105,8 @@ struct lzma_mf_s {
uint32_t *hash;
uint32_t *son;
- uint32_t cyclic_buffer_pos;
- uint32_t cyclic_buffer_size; // Must be dictionary_size + 1.
+ uint32_t cyclic_pos;
+ uint32_t cyclic_size; // Must be dictionary size + 1.
uint32_t hash_mask;
/// Maximum number of loops in the match finder