]> granicus.if.org Git - xz/commitdiff
Remove some redundant code from LZMA encoder.
authorLasse Collin <lasse.collin@tukaani.org>
Fri, 20 Jun 2008 13:19:54 +0000 (16:19 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Fri, 20 Jun 2008 13:19:54 +0000 (16:19 +0300)
src/liblzma/lzma/lzma_encoder.c

index e9de32c829dd581d800ed0d9587f1ff3f58a8981..afb1d5ed0be2118ad77c717d134bbd106f4a7b4c 100644 (file)
 // Literal //
 /////////////
 
-static inline void
-literal_normal(lzma_range_encoder *rc, probability *subcoder, uint32_t symbol)
-{
-       uint32_t context = 1;
-       uint32_t bit_count = 8; // Bits per byte
-       do {
-               const uint32_t bit = (symbol >> --bit_count) & 1;
-               rc_bit(rc, &subcoder[context], bit);
-               context = (context << 1) | bit;
-       } while (bit_count != 0);
-}
-
-
 static inline void
 literal_matched(lzma_range_encoder *rc, probability *subcoder,
                uint32_t match_byte, uint32_t symbol)
@@ -81,7 +68,7 @@ literal(lzma_coder *coder)
        if (is_literal_state(coder->state)) {
                // Previous LZMA-symbol was a literal. Encode a normal
                // literal without a match byte.
-               literal_normal(&coder->rc, subcoder, cur_byte);
+               rc_bittree(&coder->rc, subcoder, 8, cur_byte);
        } else {
                // Previous LZMA-symbol was a match. Use the last byte of
                // the match as a "match byte". That is, compare the bits