Adding upstream version 1.15.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
6a117924f6
commit
abf5fed346
10 changed files with 45 additions and 49 deletions
16
decoder.cc
16
decoder.cc
|
@ -202,7 +202,7 @@ int LZ_decoder::decode_member( const Pretty_print & pp )
|
|||
Bit_model bm_rep1[State::states];
|
||||
Bit_model bm_rep2[State::states];
|
||||
Bit_model bm_len[State::states][pos_states];
|
||||
Bit_model bm_dis_slot[max_dis_states][1<<dis_slot_bits];
|
||||
Bit_model bm_dis_slot[dis_states][1<<dis_slot_bits];
|
||||
Bit_model bm_dis[modeled_distances-end_dis_model];
|
||||
Bit_model bm_align[dis_align_size];
|
||||
Len_model match_len_model;
|
||||
|
@ -237,12 +237,7 @@ int LZ_decoder::decode_member( const Pretty_print & pp )
|
|||
int len;
|
||||
if( rdec.decode_bit( bm_rep[state()] ) == 1 ) // 2nd bit
|
||||
{
|
||||
if( rdec.decode_bit( bm_rep0[state()] ) == 0 ) // 3rd bit
|
||||
{
|
||||
if( rdec.decode_bit( bm_len[state()][pos_state] ) == 0 ) // 4th bit
|
||||
{ state.set_short_rep(); put_byte( get_byte( rep0 ) ); continue; }
|
||||
}
|
||||
else
|
||||
if( rdec.decode_bit( bm_rep0[state()] ) == 1 ) // 3rd bit
|
||||
{
|
||||
unsigned distance;
|
||||
if( rdec.decode_bit( bm_rep1[state()] ) == 0 ) // 4th bit
|
||||
|
@ -258,8 +253,13 @@ int LZ_decoder::decode_member( const Pretty_print & pp )
|
|||
rep1 = rep0;
|
||||
rep0 = distance;
|
||||
}
|
||||
len = min_match_len + rdec.decode_len( rep_len_model, pos_state );
|
||||
else
|
||||
{
|
||||
if( rdec.decode_bit( bm_len[state()][pos_state] ) == 0 ) // 4th bit
|
||||
{ state.set_short_rep(); put_byte( get_byte( rep0 ) ); continue; }
|
||||
}
|
||||
state.set_rep();
|
||||
len = min_match_len + rdec.decode_len( rep_len_model, pos_state );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue