#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 |
|
|
|
|
|
Definition at line 49 of file trees.c. Referenced by _tr_align(), compress_block(), and init_block(). |
|
|
|
Value: {\ top = s->heap[SMALLEST]; \ s->heap[SMALLEST] = s->heap[s->heap_len--]; \ pqdownheap(s, tree, SMALLEST); \ } Definition at line 434 of file trees.c. Referenced by build_tree(). |
|
Value: Definition at line 180 of file trees.c. Referenced by bi_flush(), bi_windup(), and copy_block(). |
|
Definition at line 52 of file trees.c. Referenced by scan_tree(), and send_tree(). |
|
Definition at line 58 of file trees.c. Referenced by scan_tree(), and send_tree(). |
|
Definition at line 55 of file trees.c. Referenced by scan_tree(), and send_tree(). |
|
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(). |
|
Value: (tree[n].Freq < tree[m].Freq || \ (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m])) Definition at line 445 of file trees.c. Referenced by pqdownheap(). |
|
Definition at line 426 of file trees.c. Referenced by build_tree(). |
|
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(). |
|
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. |
|
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(). |
|
Definition at line 867 of file trees.c. References copy_block(), send_bits, and STORED_BLOCK. Referenced by _tr_flush_block(), and deflate(). |
|
Definition at line 1022 of file trees.c. References _length_code, Assert, d_code, D_CODES, extra_dbits, LITERALS, MAX_DIST, MAX_MATCH, MIN_MATCH, and Tracev. |
|
Definition at line 1161 of file trees.c. References put_byte, and put_short. Referenced by _tr_align(). |
|
Definition at line 1146 of file trees.c. Referenced by gen_codes(), and tr_static_init(). |
|
Definition at line 1178 of file trees.c. References put_byte, and put_short. Referenced by _tr_flush_block(), and copy_block(). |
|
Definition at line 803 of file trees.c. References BL_CODES, bl_order, build_tree(), scan_tree(), and Tracev. Referenced by _tr_flush_block(). |
|
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, pqdownheap(), pqremove, SMALLEST, tree_desc_s::stat_desc, and static_tree_desc_s::static_tree. Referenced by _tr_flush_block(), and build_bl_tree(). |
|
Definition at line 1072 of file trees.c. References _length_code, Assert, base_dist, base_length, d_code, D_CODES, END_BLOCK, extra_dbits, extra_lbits, LITERALS, send_bits, send_code, and Tracecv. Referenced by _tr_flush_block(). |
|
Definition at line 1197 of file trees.c. References bi_windup(), put_byte, and put_short. Referenced by _tr_stored_block(). |
|
Definition at line 490 of file trees.c. References tree_desc_s::dyn_tree, static_tree_desc_s::extra_base, static_tree_desc_s::extra_bits, Freq, HEAP_SIZE, Len, tree_desc_s::max_code, static_tree_desc_s::max_length, tree_desc_s::stat_desc, and static_tree_desc_s::static_tree. Referenced by build_tree(). |
|
Definition at line 577 of file trees.c. References Assert, bi_reverse(), Code, MAX_BITS, static_ltree, Tracecv, and Tracev. Referenced by build_tree(), and tr_static_init(). |
|
Definition at line 411 of file trees.c. References END_BLOCK, and Freq. Referenced by _tr_flush_block(), and _tr_init(). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 455 of file trees.c. References smaller. Referenced by build_tree(). |
|
Definition at line 707 of file trees.c. References REP_3_6, REPZ_11_138, and REPZ_3_10. Referenced by build_bl_tree(). |
|
Definition at line 838 of file trees.c. References Assert, BL_CODES, bl_order, D_CODES, L_CODES, send_bits, send_tree(), and Tracev. Referenced by _tr_flush_block(). |
|
Definition at line 752 of file trees.c. References Assert, REP_3_6, REPZ_11_138, REPZ_3_10, send_bits, and send_code. Referenced by send_all_trees(). |
|
Definition at line 1126 of file trees.c. References Z_BINARY, and Z_TEXT. Referenced by _tr_flush_block(). |
|
Definition at line 238 of file trees.c. References _dist_code, _length_code, Assert, base_dist, base_length, bi_reverse(), D_CODES, static_tree_desc_s::extra_bits, extra_blbits, extra_dbits, extra_lbits, gen_codes(), L_CODES, LENGTH_CODES, MAX_BITS, static_bl_desc, static_d_desc, static_dtree, static_l_desc, static_ltree, and static_tree_desc_s::static_tree. Referenced by _tr_init(). |
|
|
|
|
|
Definition at line 114 of file trees.c. Referenced by compress_block(), and tr_static_init(). |
|
Definition at line 111 of file trees.c. Referenced by compress_block(), and tr_static_init(). |
|
Definition at line 71 of file trees.c. Referenced by build_bl_tree(), and send_all_trees(). |
|
Definition at line 68 of file trees.c. Referenced by tr_static_init(). |
|
Definition at line 65 of file trees.c. Referenced by _tr_tally(), compress_block(), and tr_static_init(). |
|
Definition at line 62 of file trees.c. Referenced by compress_block(), and tr_static_init(). |
|
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(). |
|
Definition at line 97 of file trees.c. Referenced by _tr_flush_block(), and tr_static_init(). |
|
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(). |
|
Definition at line 90 of file trees.c. Referenced by _tr_align(), _tr_flush_block(), gen_codes(), and tr_static_init(). |