X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Flzms_common.c;h=dfe022b06e765d229b720a98eca062134c9c8f48;hp=117e2f3222198a860464ec668ab16777632dbd01;hb=ba9577d39906b70c591e4d898d5f05ca909d59e1;hpb=d1284a3b721162794ebd7131d090ab7c0cba92a3 diff --git a/src/lzms_common.c b/src/lzms_common.c index 117e2f32..dfe022b0 100644 --- a/src/lzms_common.c +++ b/src/lzms_common.c @@ -23,7 +23,6 @@ # include "config.h" #endif -#include "wimlib/endianness.h" #include "wimlib/lzms_common.h" #include "wimlib/unaligned.h" @@ -303,8 +302,8 @@ const u32 lzms_length_slot_base[LZMS_NUM_LENGTH_SYMS + 1] = { 0x0000009b, 0x000000ab, 0x000000cb, 0x000000eb, 0x0000012b, 0x000001ab, 0x000002ab, 0x000004ab, 0x000008ab, 0x000108ab, 0x400108ab, - /* The last entry is extra; it is equal to LZMS_MAX_MATCH_LEN + 1 and is - * here to aid binary search. */ + /* The last entry is extra; it is equal to LZMS_MAX_MATCH_LENGTH + 1 and + * is here to aid binary search. */ }; /* Table: length slot => number of extra length bits */ @@ -356,10 +355,17 @@ lzms_init_probability_entries(struct lzms_probability_entry *entries, size_t cou } void -lzms_init_symbol_frequencies(u32 freqs[], size_t num_syms) +lzms_init_symbol_frequencies(u32 freqs[], unsigned num_syms) +{ + for (unsigned sym = 0; sym < num_syms; sym++) + freqs[sym] = 1; +} + +void +lzms_dilute_symbol_frequencies(u32 freqs[], unsigned num_syms) { - for (size_t i = 0; i < num_syms; i++) - freqs[i] = 1; + for (unsigned sym = 0; sym < num_syms; sym++) + freqs[sym] = (freqs[sym] >> 1) + 1; } /* @@ -529,8 +535,6 @@ lzms_x86_filter(u8 data[restrict], s32 size, have_opcode: if (undo) { if (i - last_x86_pos <= max_trans_offset) { - LZMS_DEBUG("Undid x86 translation at position %d " - "(opcode 0x%02x)", i, data[i]); void *p32 = &data[i + opcode_nbytes]; u32 n = get_unaligned_u32_le(p32); put_unaligned_u32_le(n - i, p32); @@ -539,8 +543,6 @@ lzms_x86_filter(u8 data[restrict], s32 size, } else { target16 = i + get_unaligned_u16_le(&data[i + opcode_nbytes]); if (i - last_x86_pos <= max_trans_offset) { - LZMS_DEBUG("Did x86 translation at position %d " - "(opcode 0x%02x)", i, data[i]); void *p32 = &data[i + opcode_nbytes]; u32 n = get_unaligned_u32_le(p32); put_unaligned_u32_le(n + i, p32);