Lines Matching refs:code

13  *      Each code tree is stored in a compressed form which is itself

14 * a Huffman encoding of the lengths of all the code strings (in
15 * ascending order by source values). The actual code strings are
51 /* end of block literal code */
62 local const int extra_lbits[LENGTH_CODES] /* extra bits for each length code */
65 local const int extra_dbits[D_CODES] /* extra bits for each distance code */
68 local const int extra_blbits[BL_CODES]/* extra bits for each bit length code */
110 /* length code for each normalized match length (0 == MIN_MATCH) */
113 /* First normalized length for each code (0 = MIN_MATCH) */
116 /* First normalized distance for each code (0 = distance of 1) */
124 const intf *extra_bits; /* extra bits for each code or NULL */
169 /* Send a code of the given tree. c and tree must not have side effects */
246 int code; /* code value */
262 /* Initialize the mapping length (0..255) -> length code (0..28) */
264 for (code = 0; code < LENGTH_CODES-1; code++) {
265 base_length[code] = length;
266 for (n = 0; n < (1<<extra_lbits[code]); n++) {
267 _length_code[length++] = (uch)code;
272 * in two different ways: code 284 + 5 bits or code 285, so we
275 _length_code[length-1] = (uch)code;
277 /* Initialize the mapping dist (0..32K) -> dist code (0..29) */
279 for (code = 0 ; code < 16; code++) {
280 base_dist[code] = dist;
281 for (n = 0; n < (1<<extra_dbits[code]); n++) {
282 _dist_code[dist++] = (uch)code;
287 for ( ; code < D_CODES; code++) {
288 base_dist[code] = dist << 7;
289 for (n = 0; n < (1<<(extra_dbits[code]-7)); n++) {
290 _dist_code[256 + dist++] = (uch)code;
303 * tree construction to get a canonical Huffman tree (longest code
563 Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
578 * OUT assertion: the field code is set for all tree elements of non
579 * zero code length.
583 int max_code; /* largest code with non zero frequency */
586 ush next_code[MAX_BITS+1]; /* next code value for each bit length */
587 ush code = 0; /* running code value */
589 int n; /* code index */
591 /* The distribution counts are first used to generate the code values
595 next_code[bits] = code = (code + bl_count[bits-1]) << 1;
597 /* Check that the bit counts in bl_count are consistent. The last code
600 Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,
616 * Construct one Huffman tree and assigns the code bit strings and lengths.
619 * OUT assertions: the fields len and code are set to the optimal bit length
620 * and corresponding code. The length opt_len is updated; static_len is
631 int max_code = -1; /* largest code with non zero frequency */
649 /* The pkzip format requires that at least one distance code exists,
651 * possible code. So to avoid special checks later on we force at least
714 int max_code; /* and its largest code of non zero frequency */
718 int curlen; /* length of current code */
719 int nextlen = tree[0].Len; /* length of next code */
720 int count = 0; /* repeat count of the current code */
759 int max_code; /* and its largest code of non zero frequency */
763 int curlen; /* length of current code */
764 int nextlen = tree[0].Len; /* length of next code */
765 int count = 0; /* repeat count of the current code */
805 * bl_order of the last bit length code to send.
810 int max_blindex; /* index of last bit length code of non zero freq */
856 Tracev((stderr, "\nbl code %2d ", bl_order[rank]));
888 * The current inflate code requires 9 bits of lookahead. If the
889 * last two codes for the previous block (real code plus EOB) were coded
891 * the last real code. In this case we send two empty static blocks instead
893 * To simplify the code, we assume the worst case of last real code encoded
906 * (10 - bi_valid) bits. The lookahead for the last real code (before
932 int max_blindex = 0; /* index of last bit length code of non zero freq */
954 * in bl_order of the last bit length code to send.
1062 unsigned code; /* the code to send */
1074 code = _length_code[lc];
1075 send_code(s, code+LITERALS+1, ltree); /* send the length code */
1076 extra = extra_lbits[code];
1078 lc -= base_length[code];
1082 code = d_code(dist);
1083 Assert (code < D_CODES, "bad d_code");
1085 send_code(s, code, dtree); /* send the distance code */
1086 extra = extra_dbits[code];
1088 dist -= base_dist[code];
1145 * Reverse the first len bits of a code, using straightforward code (a faster
1149 local unsigned bi_reverse(code, len)
1150 unsigned code; /* the value to invert */
1155 res |= code & 1;
1156 code >>= 1, res <<= 1;