Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

trees.c File Reference

#include "deflate.h"

Compounds

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 (s) deflate_state *s

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
ct_data * tree
int k
tree_desc * desc
int max_code
ushf * bl_count
int lcodes
int dcodes
int blcodes
charf * buf
ulg stored_len
int eof
unsigned dist
unsigned lc
ct_data * ltree
ct_data * dtree
int len
int header

Define Documentation

#define Buf_size   (8 * 2*sizeof(char))
 

#define DIST_CODE_LEN   512
 

#define END_BLOCK   256
 

#define MAX_BL_BITS   7
 

#define pqremove (  s,
tree,
top    ) 
 

Value:

{\
    top = s->heap[SMALLEST]; \
    s->heap[SMALLEST] = s->heap[s->heap_len--]; \
    pqdownheap(s, tree, SMALLEST); \
}

#define put_short (  s,
w    ) 
 

Value:

{ \
    put_byte(s, (uch)((w) & 0xff)); \
    put_byte(s, (uch)((ush)(w) >> 8)); \
}

#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;\
  }\
}

#define send_code (  s,
c,
tree    )     send_bits(s, tree[c].Code, tree[c].Len)
 

#define smaller (  tree,
n,
m,
depth    ) 
 

Value:

(tree[n].Freq < tree[m].Freq || \
   (tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))

#define SMALLEST   1
 


Function Documentation

void _tr_init (  s    ) 
 

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_codes OF (  (ct_data *tree, int max_code, ushf *bl_count)    ) 
 

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 tr_static_init (    ) 
 


Variable Documentation

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]
 

ushf* bl_count
 

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}
 

int blcodes
 

charf* buf
 

int dcodes
 

tree_desc * desc
 

unsigned dist
 

ct_data* dtree
 

int eof
 

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}
 

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}
 

int header
 

int k
 

unsigned lc
 

int lcodes
 

unsigned len
 

ct_data* ltree
 

int max_code
 

local static_tree_desc static_bl_desc
 

Initial value:

local static_tree_desc static_d_desc
 

Initial value:

{static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS}

local ct_data static_dtree[D_CODES]
 

local static_tree_desc static_l_desc
 

Initial value:

{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS}

local ct_data static_ltree[L_CODES+2]
 

ulg stored_len
 

ct_data * tree
 


Generated on Wed Nov 3 12:59:20 2004 for Lemur Toolkit by doxygen1.2.18