#include "deflate.h"Go to the source code of this file.
Classes | |
| struct | static_tree_desc_s |
Defines | |
| #define | MAX_BL_BITS 7 |
| #define | END_BLOCK 256 |
| #define | REP_3_6 16 |
| #define | REPZ_3_10 17 |
| #define | REPZ_11_138 18 |
| #define | Buf_size (8 * 2*sizeof(char)) |
| #define | DIST_CODE_LEN 512 |
| #define | send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len) |
| #define | put_short(s, w) |
| #define | send_bits(s, value, length) |
| #define | SMALLEST 1 |
| #define | pqremove(s, tree, top) |
| #define | smaller(tree, n, m, depth) |
Functions | |
| local void tr_static_init | OF ((void)) |
| local void init_block | OF ((deflate_state *s)) |
| local void pqdownheap | OF ((deflate_state *s, ct_data *tree, int k)) |
| local void gen_bitlen | OF ((deflate_state *s, tree_desc *desc)) |
| local void gen_codes | OF ((ct_data *tree, int max_code, ushf *bl_count)) |
| local void scan_tree | OF ((deflate_state *s, ct_data *tree, int max_code)) |
| local void send_all_trees | OF ((deflate_state *s, int lcodes, int dcodes, int blcodes)) |
| local void compress_block | OF ((deflate_state *s, ct_data *ltree, ct_data *dtree)) |
| local unsigned bi_reverse | OF ((unsigned value, int length)) |
| local void copy_block | OF ((deflate_state *s, charf *buf, unsigned len, int header)) |
| local void | tr_static_init () |
| void | _tr_init (deflate_state *s) |
| local void | init_block (deflate_state *s) |
| local void | pqdownheap (deflate_state *s, ct_data *tree, int k) |
| local void | gen_bitlen (deflate_state *s, tree_desc *desc) |
| local void | gen_codes (ct_data *tree, int max_code, ushf *bl_count) |
| local void | build_tree (deflate_state *s, tree_desc *desc) |
| local void | scan_tree (deflate_state *s, ct_data *tree, int max_code) |
| local void | send_tree (deflate_state *s, ct_data *tree, int max_code) |
| local int | build_bl_tree (deflate_state *s) |
| local void | send_all_trees (deflate_state *s, int lcodes, int dcodes, int blcodes) |
| void | _tr_stored_block (deflate_state *s, charf *buf, ulg stored_len, int eof) |
| void | _tr_align (deflate_state *s) |
| void | _tr_flush_block (deflate_state *s, charf *buf, ulg stored_len, int eof) |
| int | _tr_tally (deflate_state *s, unsigned dist, unsigned lc) |
| local void | compress_block (deflate_state *s, ct_data *ltree, ct_data *dtree) |
| local void | set_data_type (deflate_state *s) |
| local unsigned | bi_reverse (unsigned code, int len) |
| local void | bi_flush (deflate_state *s) |
| local void | bi_windup (deflate_state *s) |
| local void | copy_block (deflate_state *s, charf *buf, unsigned len, int header) |
Variables | |
| local const int | extra_lbits [LENGTH_CODES] = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0} |
| local const int | extra_dbits [D_CODES] = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13} |
| local const int | extra_blbits [BL_CODES] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7} |
| local const uch | bl_order [BL_CODES] = {16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15} |
| local ct_data | static_ltree [L_CODES+2] |
| local ct_data | static_dtree [D_CODES] |
| uch | _dist_code [DIST_CODE_LEN] |
| uch | _length_code [MAX_MATCH-MIN_MATCH+1] |
| local int | base_length [LENGTH_CODES] |
| local int | base_dist [D_CODES] |
| local static_tree_desc | static_l_desc |
| local static_tree_desc | static_d_desc |
| local static_tree_desc | static_bl_desc |
| #define END_BLOCK 256 |
Definition at line 49 of file trees.c.
Referenced by _tr_align(), compress_block(), and init_block().
| #define pqremove | ( | s, | |||
| tree, | |||||
| top | ) |
| #define put_short | ( | s, | |||
| w | ) |
Value:
Definition at line 180 of file trees.c.
Referenced by bi_flush(), bi_windup(), and copy_block().
| #define REP_3_6 16 |
| #define REPZ_11_138 18 |
| #define REPZ_3_10 17 |
| #define send_bits | ( | s, | |||
| value, | |||||
| length | ) |
Value:
{ int len = length;\
if (s->bi_valid > (int)Buf_size - len) {\
int val = value;\
s->bi_buf |= (val << s->bi_valid);\
put_short(s, s->bi_buf);\
s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
s->bi_valid += len - Buf_size;\
} else {\
s->bi_buf |= (value) << s->bi_valid;\
s->bi_valid += len;\
}\
}
Definition at line 217 of file trees.c.
Referenced by _tr_align(), _tr_flush_block(), _tr_stored_block(), compress_block(), send_all_trees(), and send_tree().
Definition at line 167 of file trees.c.
Referenced by _tr_align(), compress_block(), and send_tree().
| #define smaller | ( | tree, | |||
| n, | |||||
| m, | |||||
| depth | ) |
| #define SMALLEST 1 |
| void _tr_align | ( | deflate_state * | s | ) |
Definition at line 892 of file trees.c.
References bi_flush(), END_BLOCK, send_bits, send_code, static_ltree, and STATIC_TREES.
Referenced by deflate().
| void _tr_flush_block | ( | deflate_state * | s, | |
| charf * | buf, | |||
| ulg | stored_len, | |||
| int | eof | |||
| ) |
Definition at line 921 of file trees.c.
References _tr_stored_block(), Assert, bi_windup(), build_bl_tree(), build_tree(), compress_block(), DYN_TREES, init_block(), send_all_trees(), send_bits, set_data_type(), static_dtree, static_ltree, STATIC_TREES, Tracev, Z_FIXED, and Z_UNKNOWN.
| void _tr_init | ( | deflate_state * | s | ) |
Definition at line 382 of file trees.c.
References init_block(), static_bl_desc, static_d_desc, static_l_desc, and tr_static_init().
Referenced by deflateReset().
| void _tr_stored_block | ( | deflate_state * | s, | |
| charf * | buf, | |||
| ulg | stored_len, | |||
| int | eof | |||
| ) |
Definition at line 867 of file trees.c.
References copy_block(), send_bits, and STORED_BLOCK.
Referenced by _tr_flush_block(), and deflate().
| int _tr_tally | ( | deflate_state * | s, | |
| unsigned | dist, | |||
| unsigned | lc | |||
| ) |
Definition at line 1022 of file trees.c.
References _length_code, Assert, d_code, extra_dbits, LITERALS, MAX_DIST, MAX_MATCH, and Tracev.
| local void bi_flush | ( | deflate_state * | s | ) |
Definition at line 1161 of file trees.c.
References put_byte, and put_short.
Referenced by _tr_align().
| local unsigned bi_reverse | ( | unsigned | code, | |
| int | len | |||
| ) |
| local void bi_windup | ( | deflate_state * | s | ) |
Definition at line 1178 of file trees.c.
References put_byte, and put_short.
Referenced by _tr_flush_block(), and copy_block().
| local int build_bl_tree | ( | deflate_state * | s | ) |
Definition at line 803 of file trees.c.
References BL_CODES, bl_order, build_tree(), scan_tree(), and Tracev.
Referenced by _tr_flush_block().
| local void build_tree | ( | deflate_state * | s, | |
| tree_desc * | desc | |||
| ) |
Definition at line 619 of file trees.c.
References tree_desc_s::dyn_tree, static_tree_desc_s::elems, Freq, gen_bitlen(), gen_codes(), HEAP_SIZE, tree_desc_s::max_code, n, pqdownheap(), pqremove, SMALLEST, tree_desc_s::stat_desc, and static_tree_desc_s::static_tree.
Referenced by _tr_flush_block(), and build_bl_tree().
| local void compress_block | ( | deflate_state * | s, | |
| ct_data * | ltree, | |||
| ct_data * | dtree | |||
| ) |
Definition at line 1072 of file trees.c.
References _length_code, Assert, base_dist, base_length, d_code, END_BLOCK, extra_dbits, extra_lbits, LITERALS, send_bits, send_code, and Tracecv.
Referenced by _tr_flush_block().
| local void copy_block | ( | deflate_state * | s, | |
| charf * | buf, | |||
| unsigned | len, | |||
| int | header | |||
| ) |
Definition at line 1197 of file trees.c.
References bi_windup(), put_byte, and put_short.
Referenced by _tr_stored_block().
| local void gen_bitlen | ( | deflate_state * | s, | |
| tree_desc * | desc | |||
| ) |
Definition at line 490 of file trees.c.
References bits, tree_desc_s::dyn_tree, static_tree_desc_s::extra_base, static_tree_desc_s::extra_bits, for(), simple_client::h, HEAP_SIZE, Len, MAX_BITS, tree_desc_s::max_code, static_tree_desc_s::max_length, n, tree_desc_s::stat_desc, static_tree_desc_s::static_tree, and Trace.
Referenced by build_tree().
Definition at line 577 of file trees.c.
References Assert, bi_reverse(), bits, Code, MAX_BITS, n, static_ltree, Tracecv, and Tracev.
Referenced by build_tree(), and tr_static_init().
| local void init_block | ( | deflate_state * | s | ) |
Definition at line 411 of file trees.c.
References BL_CODES, END_BLOCK, for(), and n.
Referenced by _tr_flush_block(), and _tr_init().
| local void copy_block OF | ( | (deflate_state *s, charf *buf, unsigned len, int header) | ) |
| local unsigned bi_reverse OF | ( | (unsigned value, int length) | ) |
| local void compress_block OF | ( | (deflate_state *s, ct_data *ltree, ct_data *dtree) | ) |
| local void send_all_trees OF | ( | (deflate_state *s, int lcodes, int dcodes, int blcodes) | ) |
| local void scan_tree OF | ( | (deflate_state *s, ct_data *tree, int max_code) | ) |
| local void gen_bitlen OF | ( | (deflate_state *s, tree_desc *desc) | ) |
| local void pqdownheap OF | ( | (deflate_state *s, ct_data *tree, int k) | ) |
| local void init_block OF | ( | (deflate_state *s) | ) |
| local void tr_static_init OF | ( | (void) | ) |
| local void pqdownheap | ( | deflate_state * | s, | |
| ct_data * | tree, | |||
| int | k | |||
| ) |
| local void scan_tree | ( | deflate_state * | s, | |
| ct_data * | tree, | |||
| int | max_code | |||
| ) |
Definition at line 707 of file trees.c.
References count, n, REP_3_6, REPZ_11_138, and REPZ_3_10.
Referenced by build_bl_tree().
| local void send_all_trees | ( | deflate_state * | s, | |
| int | lcodes, | |||
| int | dcodes, | |||
| int | blcodes | |||
| ) |
Definition at line 838 of file trees.c.
References Assert, BL_CODES, bl_order, send_bits, send_tree(), and Tracev.
Referenced by _tr_flush_block().
| local void send_tree | ( | deflate_state * | s, | |
| ct_data * | tree, | |||
| int | max_code | |||
| ) |
| local void set_data_type | ( | deflate_state * | s | ) |
| local void tr_static_init | ( | ) |
Definition at line 238 of file trees.c.
References _dist_code, _length_code, Assert, base_dist, base_length, bi_reverse(), bits, D_CODES, static_tree_desc_s::extra_bits, extra_blbits, extra_dbits, extra_lbits, gen_codes(), L_CODES, LENGTH_CODES, MAX_BITS, n, static_bl_desc, static_d_desc, static_dtree, static_l_desc, static_ltree, and static_tree_desc_s::static_tree.
Referenced by _tr_init().
| uch _dist_code[DIST_CODE_LEN] |
| uch _length_code[MAX_MATCH-MIN_MATCH+1] |
| local int base_dist[D_CODES] |
| local int base_length[LENGTH_CODES] |
| local const int extra_blbits[BL_CODES] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7} |
| local const int extra_dbits[D_CODES] = {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13} |
Definition at line 65 of file trees.c.
Referenced by _tr_tally(), compress_block(), and tr_static_init().
| local const int extra_lbits[LENGTH_CODES] = {0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0} |
Initial value:
{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS}
Definition at line 135 of file trees.c.
Referenced by _tr_init(), and tr_static_init().
Initial value:
{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS}
Definition at line 132 of file trees.c.
Referenced by _tr_init(), and tr_static_init().
| local ct_data static_dtree[D_CODES] |
Initial value:
{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS}
Definition at line 129 of file trees.c.
Referenced by _tr_init(), and tr_static_init().
| local ct_data static_ltree[L_CODES+2] |
Definition at line 90 of file trees.c.
Referenced by _tr_align(), _tr_flush_block(), gen_codes(), and tr_static_init().
1.5.6