diff options
Diffstat (limited to 'encoder.cc')
-rw-r--r-- | encoder.cc | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -101,8 +101,8 @@ Matchfinder_base::Matchfinder_base( const int before, const int dict_size, dictionary_size_ = dict_size; pos_limit = buffer_size; if( !at_stream_end ) pos_limit -= after_size; - int size = 1 << std::max( 16, real_bits( dictionary_size_ - 1 ) - 2 ); - if( dictionary_size_ > 1 << 26 ) + unsigned size = 1 << std::max( 16, real_bits( dictionary_size_ - 1 ) - 2 ); + if( dictionary_size_ > 1 << 26 ) // 64 MiB size >>= 1; key4_mask = size - 1; size += num_prev_positions23; @@ -336,7 +336,7 @@ void LZ_encoder::fill_distance_prices() // Return value == number of bytes advanced (ahead). -// trials[0]..trials[retval-1] contain the steps to encode. +// trials[0]..trials[ahead-1] contain the steps to encode. // ( trials[0].dis == -1 && trials[0].price == 1 ) means literal. // int LZ_encoder::sequence_optimizer( const int reps[num_rep_distances], @@ -690,7 +690,7 @@ bool LZ_encoder::encode_member( const unsigned long long member_size ) const uint8_t cur_byte = matchfinder[0]; renc.encode_bit( bm_match[state()][0], 0 ); encode_literal( prev_byte, cur_byte ); - crc32.update( crc_, cur_byte ); + crc32.update_byte( crc_, cur_byte ); matchfinder.get_match_pairs(); matchfinder.move_pos(); } @@ -720,7 +720,7 @@ bool LZ_encoder::encode_member( const unsigned long long member_size ) { const uint8_t prev_byte = matchfinder[-ahead-1]; const uint8_t cur_byte = matchfinder[-ahead]; - crc32.update( crc_, cur_byte ); + crc32.update_byte( crc_, cur_byte ); if( state.is_char() ) encode_literal( prev_byte, cur_byte ); else @@ -732,7 +732,7 @@ bool LZ_encoder::encode_member( const unsigned long long member_size ) } else // match or repeated match { - crc32.update( crc_, matchfinder.ptr_to_current_pos() - ahead, len ); + crc32.update_buf( crc_, matchfinder.ptr_to_current_pos() - ahead, len ); mtf_reps( dis, rep_distances ); bit = ( dis < num_rep_distances ); renc.encode_bit( bm_rep[state()], bit ); |