lz_encoder.h   lz_encoder.h 
skipping to change at line 120 skipping to change at line 120
/// If the longest match found by the match finder is nice_len, /// If the longest match found by the match finder is nice_len,
/// mf_find() tries to expand it up to match_len_max bytes. /// mf_find() tries to expand it up to match_len_max bytes.
uint32_t match_len_max; uint32_t match_len_max;
/// When running out of input, binary tree match finders need to kno w /// When running out of input, binary tree match finders need to kno w
/// if it is due to flushing or finishing. The action is used also /// if it is due to flushing or finishing. The action is used also
/// by the LZ-based encoders themselves. /// by the LZ-based encoders themselves.
lzma_action action; lzma_action action;
/// Number of elements in hash[] /// Number of elements in hash[]
uint32_t hash_size_sum; uint32_t hash_count;
/// Number of elements in son[] /// Number of elements in son[]
uint32_t sons_count; uint32_t sons_count;
}; };
typedef struct { typedef struct {
/// Extra amount of data to keep available before the "actual" /// Extra amount of data to keep available before the "actual"
/// dictionary. /// dictionary.
size_t before_size; size_t before_size;
skipping to change at line 197 skipping to change at line 197
typedef struct { typedef struct {
/// Data specific to the LZ-based encoder /// Data specific to the LZ-based encoder
lzma_coder *coder; lzma_coder *coder;
/// Function to encode from *dict to out[] /// Function to encode from *dict to out[]
lzma_ret (*code)(lzma_coder *restrict coder, lzma_ret (*code)(lzma_coder *restrict coder,
lzma_mf *restrict mf, uint8_t *restrict out, lzma_mf *restrict mf, uint8_t *restrict out,
size_t *restrict out_pos, size_t out_size); size_t *restrict out_pos, size_t out_size);
/// Free allocated resources /// Free allocated resources
void (*end)(lzma_coder *coder, lzma_allocator *allocator); void (*end)(lzma_coder *coder, const lzma_allocator *allocator);
/// Update the options in the middle of the encoding. /// Update the options in the middle of the encoding.
lzma_ret (*options_update)(lzma_coder *coder, lzma_ret (*options_update)(lzma_coder *coder,
const lzma_filter *filter); const lzma_filter *filter);
} lzma_lz_encoder; } lzma_lz_encoder;
// Basic steps: // Basic steps:
// 1. Input gets copied into the dictionary. // 1. Input gets copied into the dictionary.
// 2. Data in dictionary gets run through the match finder byte by byte. // 2. Data in dictionary gets run through the match finder byte by byte.
skipping to change at line 285 skipping to change at line 285
memcpy(out + *out_pos, mf->buffer + mf->read_pos - *left, memcpy(out + *out_pos, mf->buffer + mf->read_pos - *left,
copy_size); copy_size);
*out_pos += copy_size; *out_pos += copy_size;
*left -= copy_size; *left -= copy_size;
return; return;
} }
extern lzma_ret lzma_lz_encoder_init( extern lzma_ret lzma_lz_encoder_init(
lzma_next_coder *next, lzma_allocator *allocator, lzma_next_coder *next, const lzma_allocator *allocator,
const lzma_filter_info *filters, const lzma_filter_info *filters,
lzma_ret (*lz_init)(lzma_lz_encoder *lz, lzma_ret (*lz_init)(lzma_lz_encoder *lz,
lzma_allocator *allocator, const void *options, const lzma_allocator *allocator, const void *options ,
lzma_lz_options *lz_options)); lzma_lz_options *lz_options));
extern uint64_t lzma_lz_encoder_memusage(const lzma_lz_options *lz_options) ; extern uint64_t lzma_lz_encoder_memusage(const lzma_lz_options *lz_options) ;
// These are only for LZ encoder's internal use. // These are only for LZ encoder's internal use.
extern uint32_t lzma_mf_find( extern uint32_t lzma_mf_find(
lzma_mf *mf, uint32_t *count, lzma_match *matches); lzma_mf *mf, uint32_t *count, lzma_match *matches);
extern uint32_t lzma_mf_hc3_find(lzma_mf *dict, lzma_match *matches); extern uint32_t lzma_mf_hc3_find(lzma_mf *dict, lzma_match *matches);
extern void lzma_mf_hc3_skip(lzma_mf *dict, uint32_t amount); extern void lzma_mf_hc3_skip(lzma_mf *dict, uint32_t amount);
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/