]> wimlib.net Git - wimlib/blobdiff - src/lzms-compress.c
Optimize Huffman code generation
[wimlib] / src / lzms-compress.c
index 2f87fd4320bcc7ebf2baa204724c4884d0aeb330..3b0caab4a963e75cd60161d2fb5ddf5a05b8ffe2 100644 (file)
@@ -32,6 +32,7 @@
 #endif
 
 #include "wimlib.h"
+#include "wimlib/assert.h"
 #include "wimlib/compiler.h"
 #include "wimlib/compressor_ops.h"
 #include "wimlib/compress_common.h"
@@ -162,7 +163,7 @@ struct lzms_huffman_encoder {
        u8 lens[LZMS_MAX_NUM_SYMS];
 
        /* The codeword of each symbol in the Huffman code.  */
-       u16 codewords[LZMS_MAX_NUM_SYMS];
+       u32 codewords[LZMS_MAX_NUM_SYMS];
 };
 
 /* State of the LZMS compressor.  */
@@ -533,7 +534,7 @@ lzms_encode_lz_match(struct lzms_compressor *ctx, u32 length, u32 offset)
        /* Main bit: 1 = a match, not a literal.  */
        lzms_range_encode_bit(&ctx->main_range_encoder, 1);
 
-       /* Match bit: 0 = a LZ match, not a delta match.  */
+       /* Match bit: 0 = an LZ match, not a delta match.  */
        lzms_range_encode_bit(&ctx->match_range_encoder, 0);
 
        /* Determine if the offset can be represented as a recent offset.  */