Lines Matching refs:lzma

257 	 * including lzma.pos_mask are in the first 128 bytes on x86-32,
266 struct lzma_dec lzma;
592 uint32_t low = prev_byte >> (8 - s->lzma.lc);
593 uint32_t high = (s->dict.pos & s->lzma.literal_pos_mask) << s->lzma.lc;
594 return s->lzma.literal[low + high];
609 if (lzma_state_is_literal(s->lzma.state)) {
613 match_byte = dict_get(&s->dict, s->lzma.rep0) << 1;
632 lzma_state_literal(&s->lzma.state);
635 /* Decode the length of the match into s->lzma.len. */
645 s->lzma.len = MATCH_LEN_MIN;
650 s->lzma.len = MATCH_LEN_MIN + LEN_LOW_SYMBOLS;
654 s->lzma.len = MATCH_LEN_MIN + LEN_LOW_SYMBOLS
659 s->lzma.len += rc_bittree(&s->rc, probs, limit) - limit;
662 /* Decode a match. The distance will be stored in s->lzma.rep0. */
669 lzma_state_match(&s->lzma.state);
671 s->lzma.rep3 = s->lzma.rep2;
672 s->lzma.rep2 = s->lzma.rep1;
673 s->lzma.rep1 = s->lzma.rep0;
675 lzma_len(s, &s->lzma.match_len_dec, pos_state);
677 probs = s->lzma.dist_slot[lzma_get_dist_state(s->lzma.len)];
681 s->lzma.rep0 = dist_slot;
684 s->lzma.rep0 = 2 + (dist_slot & 1);
687 s->lzma.rep0 <<= limit;
688 probs = s->lzma.dist_special + s->lzma.rep0
691 &s->lzma.rep0, limit);
693 rc_direct(&s->rc, &s->lzma.rep0, limit - ALIGN_BITS);
694 s->lzma.rep0 <<= ALIGN_BITS;
695 rc_bittree_reverse(&s->rc, s->lzma.dist_align,
696 &s->lzma.rep0, ALIGN_BITS);
703 * seen matches. The distance will be stored in s->lzma.rep0.
709 if (!rc_bit(&s->rc, &s->lzma.is_rep0[s->lzma.state])) {
710 if (!rc_bit(&s->rc, &s->lzma.is_rep0_long[
711 s->lzma.state][pos_state])) {
712 lzma_state_short_rep(&s->lzma.state);
713 s->lzma.len = 1;
717 if (!rc_bit(&s->rc, &s->lzma.is_rep1[s->lzma.state])) {
718 tmp = s->lzma.rep1;
720 if (!rc_bit(&s->rc, &s->lzma.is_rep2[s->lzma.state])) {
721 tmp = s->lzma.rep2;
723 tmp = s->lzma.rep3;
724 s->lzma.rep3 = s->lzma.rep2;
727 s->lzma.rep2 = s->lzma.rep1;
730 s->lzma.rep1 = s->lzma.rep0;
731 s->lzma.rep0 = tmp;
734 lzma_state_long_rep(&s->lzma.state);
735 lzma_len(s, &s->lzma.rep_len_dec, pos_state);
747 if (dict_has_space(&s->dict) && s->lzma.len > 0)
748 dict_repeat(&s->dict, &s->lzma.len, s->lzma.rep0);
755 pos_state = s->dict.pos & s->lzma.pos_mask;
757 if (!rc_bit(&s->rc, &s->lzma.is_match[
758 s->lzma.state][pos_state])) {
761 if (rc_bit(&s->rc, &s->lzma.is_rep[s->lzma.state]))
766 if (!dict_repeat(&s->dict, &s->lzma.len, s->lzma.rep0))
789 s->lzma.state = STATE_LIT_LIT;
790 s->lzma.rep0 = 0;
791 s->lzma.rep1 = 0;
792 s->lzma.rep2 = 0;
793 s->lzma.rep3 = 0;
804 probs = s->lzma.is_match[0];
821 s->lzma.pos_mask = 0;
824 ++s->lzma.pos_mask;
827 s->lzma.pos_mask = (1 << s->lzma.pos_mask) - 1;
829 s->lzma.literal_pos_mask = 0;
832 ++s->lzma.literal_pos_mask;
835 s->lzma.lc = props;
837 if (s->lzma.lc + s->lzma.literal_pos_mask > 4)
840 s->lzma.literal_pos_mask = (1 << s->lzma.literal_pos_mask) - 1;
1096 if (s->lzma2.compressed > 0 || s->lzma.len > 0
1177 s->lzma.len = 0;