LMMS
Loading...
Searching...
No Matches
trees.c File Reference
#include "deflate.h"

Classes

struct  static_tree_desc_s

Macros

#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 /* see definition of array dist_code below */
#define send_code(s, c, tree)
#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

Macro Definition Documentation

◆ Buf_size

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

◆ DIST_CODE_LEN

#define DIST_CODE_LEN   512 /* see definition of array dist_code below */

◆ END_BLOCK

#define END_BLOCK   256

◆ MAX_BL_BITS

#define MAX_BL_BITS   7

◆ pqremove

#define pqremove ( s,
tree,
top )
Value:
{\
top = s->heap[SMALLEST]; \
s->heap[SMALLEST] = s->heap[s->heap_len--]; \
pqdownheap(s, tree, SMALLEST); \
}
unsigned s
Definition inflate.c:1555
#define SMALLEST
Definition trees.c:421

◆ put_short

#define put_short ( s,
w )
Value:
{ \
put_byte(s, (uch)((w) & 0xff)); \
put_byte(s, (uch)((ush)(w) >> 8)); \
}
UINT_D64 w
Definition inflate.c:942
unsigned short ush
Definition unzip.h:402
unsigned char uch
Definition unzip.h:401

◆ REP_3_6

#define REP_3_6   16

◆ REPZ_11_138

#define REPZ_11_138   18

◆ REPZ_3_10

#define REPZ_3_10   17

◆ send_bits

#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;\
}\
}
static PuglViewHint int value
Definition pugl.h:1708
int val
Definition jpeglib.h:956
png_uint_32 length
Definition png.c:2247
#define Buf_size
Definition trees.c:76

◆ send_code

#define send_code ( s,
c,
tree )
Value:
send_bits(s, tree[c].Code, tree[c].Len)
#define Code
Definition deflate.h:76
#define Len
Definition deflate.h:78
#define send_bits(s, value, length)
Definition trees.c:214
return c
Definition crypt.c:175

◆ smaller

#define smaller ( tree,
n,
m,
depth )
Value:
(tree[n].Freq < tree[m].Freq || \
(tree[n].Freq == tree[m].Freq && depth[n] <= depth[m]))
unsigned * m
Definition inflate.c:1559
int n
Definition crypt.c:458

◆ SMALLEST

#define SMALLEST   1

Function Documentation

◆ _tr_align()

void _tr_align ( deflate_state * s)

◆ _tr_flush_block()

void _tr_flush_block ( deflate_state * s,
charf * buf,
ulg stored_len,
int eof )

◆ _tr_init()

void _tr_init ( deflate_state * s)

◆ _tr_stored_block()

void _tr_stored_block ( deflate_state * s,
charf * buf,
ulg stored_len,
int eof )

◆ _tr_tally()

int _tr_tally ( deflate_state * s,
unsigned dist,
unsigned lc )

◆ bi_flush()

local void bi_flush ( deflate_state * s)

◆ bi_reverse()

local unsigned bi_reverse ( unsigned code_,
int len )

◆ bi_windup()

local void bi_windup ( deflate_state * s)

◆ build_bl_tree()

local int build_bl_tree ( deflate_state * s)

◆ build_tree()

local void build_tree ( deflate_state * s,
tree_desc * desc )

◆ compress_block()

local void compress_block ( deflate_state * s,
ct_data * ltree,
ct_data * dtree )

◆ copy_block()

local void copy_block ( deflate_state * s,
charf * buf,
unsigned len,
int header )

◆ gen_bitlen()

local void gen_bitlen ( deflate_state * s,
tree_desc * desc )

◆ gen_codes()

local void gen_codes ( ct_data * tree,
int max_code,
ushf * bl_count )

◆ init_block()

local void init_block ( deflate_state * s)

◆ OF() [1/10]

local void gen_codes OF ( (ct_data *tree, int max_code, ushf *bl_count) )

◆ OF() [2/10]

◆ OF() [3/10]

local void copy_block OF ( (deflate_state *s, charf *buf, unsigned len, int header) )

◆ OF() [4/10]

local void compress_block OF ( (deflate_state *s, ct_data *ltree, ct_data *dtree) )

◆ OF() [5/10]

◆ OF() [6/10]

local void scan_tree OF ( (deflate_state *s, ct_data *tree, int max_code) )

◆ OF() [7/10]

local void send_all_trees OF ( (deflate_state *s, int lcodes, int dcodes, int blcodes) )

◆ OF() [8/10]

◆ OF() [9/10]

local unsigned bi_reverse OF ( (unsigned value, int length) )

◆ OF() [10/10]

◆ pqdownheap()

local void pqdownheap ( deflate_state * s,
ct_data * tree,
int k )

◆ scan_tree()

local void scan_tree ( deflate_state * s,
ct_data * tree,
int max_code )

◆ send_all_trees()

local void send_all_trees ( deflate_state * s,
int lcodes,
int dcodes,
int blcodes )

◆ send_tree()

local void send_tree ( deflate_state * s,
ct_data * tree,
int max_code )

◆ set_data_type()

local void set_data_type ( deflate_state * s)

◆ tr_static_init()

local void tr_static_init ( )

Variable Documentation

◆ _dist_code

uch _dist_code[DIST_CODE_LEN]

◆ _length_code

uch _length_code[MAX_MATCH-MIN_MATCH+1]

◆ base_dist

local int base_dist[D_CODES]

◆ base_length

local int base_length[LENGTH_CODES]

◆ bl_order

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}

◆ extra_blbits

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}

◆ extra_dbits

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}

◆ extra_lbits

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}

◆ static_bl_desc

local static_tree_desc static_bl_desc
Initial value:
=
struct ct_data_s ct_data
#define BL_CODES
Definition deflate.h:44
#define MAX_BL_BITS
Definition trees.c:46
local const int extra_blbits[BL_CODES]
Definition trees.c:68

◆ static_d_desc

local static_tree_desc static_d_desc
Initial value:
=
#define D_CODES
Definition deflate.h:41
local ct_data static_dtree[D_CODES]
Definition trees.c:97
local const int extra_dbits[D_CODES]
Definition trees.c:65
#define MAX_BITS
Definition unzpriv.h:1839

◆ static_dtree

local ct_data static_dtree[D_CODES]

◆ static_l_desc

local static_tree_desc static_l_desc
Initial value:
=
#define L_CODES
Definition deflate.h:38
#define LITERALS
Definition deflate.h:35
local ct_data static_ltree[L_CODES+2]
Definition trees.c:90
local const int extra_lbits[LENGTH_CODES]
Definition trees.c:62

◆ static_ltree

local ct_data static_ltree[L_CODES+2]