Lines Matching defs:trees

311                 /* used by trees.c: */
324 int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
328 * The same heap array is used to build all trees.
332 /* Depth of each subtree used as tie breaker for trees of equal frequency
348 * - creating new Huffman trees less frequently may not provide fast
353 * trees more frequently.
365 ulg opt_len; /* bit length of current block with optimal trees */
366 ulg static_len; /* bit length of current block with static trees */
407 /* in trees.c */
1440 /* trees.c -- output deflated data using Huffman coding
1448 * The "deflation" process uses several Huffman trees. The more
1471 /* From: trees.c,v 1.5 1995/05/03 17:27:12 jloup Exp */
1774 /* Initialize the trees. */
2165 /* Determine the bit length frequencies for literal and distance trees */
2184 Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
2191 * Send the header for a block using dynamic Huffman trees: the counts, the
2277 * Determine the best encoding for the current block: dynamic trees, static
2278 * trees or store, and output the encoded block to the zip file. This function
2296 /* Construct the literal and distance trees */
2308 /* Build the bit length tree for the above two trees, and get the index
2371 if (static_lenb >= 0) /* force static trees */
2449 * Send the block data compressed using the given Huffman trees
3057 DTREE, /* get length, distance trees for a dynamic block */
3074 } trees; /* if DTREE, decoding info for trees */
3076 inflate_huft *tl, *td; /* trees to free */
3184 However, static trees define 32 codes (all 5 bits) to fill out the
3216 ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
3357 s->sub.trees.table = t = (uInt)b & 0x3fff;
3370 if ((s->sub.trees.blens = (uIntf*)ZALLOC(z, t, sizeof(uInt))) == Z_NULL)
3375 s->sub.trees.nblens = t;
3377 s->sub.trees.index = 0;
3381 while (s->sub.trees.index < 4 + (s->sub.trees.table >> 10))
3384 s->sub.trees.blens[border[s->sub.trees.index++]] = (uInt)b & 7;
3387 while (s->sub.trees.index < 19)
3388 s->sub.trees.blens[border[s->sub.trees.index++]] = 0;
3389 s->sub.trees.bb = 7;
3390 t = inflate_trees_bits(s->sub.trees.blens, &s->sub.trees.bb,
3391 &s->sub.trees.tb, z);
3399 s->sub.trees.index = 0;
3403 while (t = s->sub.trees.table,
3404 s->sub.trees.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))
3409 t = s->sub.trees.bb;
3411 h = s->sub.trees.tb + ((uInt)b & inflate_mask[t]);
3417 s->sub.trees.blens[s->sub.trees.index++] = c;
3427 i = s->sub.trees.index;
3428 t = s->sub.trees.table;
3437 c = c == 16 ? s->sub.trees.blens[i - 1] : 0;
3439 s->sub.trees.blens[i++] = c;
3441 s->sub.trees.index = i;
3444 inflate_trees_free(s->sub.trees.tb, z);
3445 s->sub.trees.tb = Z_NULL;
3453 t = s->sub.trees.table;
3455 s->sub.trees.blens, &bl, &bd, &tl, &td, z);
3463 Tracev((stderr, "inflate: trees ok\n"));
3471 ZFREE(z, s->sub.trees.blens, s->sub.trees.nblens * sizeof(uInt));
3601 /* inftrees.c -- generate Huffman trees for efficient decoding