| Bsoft 1.9 Bernard's software package

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Macros | Functions | Variables
trees.c File Reference
`#include "deflate.h"`

Go to the source code of this file.

## 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) 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 ZLIB_INTERNAL | _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 ZLIB_INTERNAL | _tr_stored_block (deflate_state *s, charf *buf, ulg stored_len, int last)
void ZLIB_INTERNAL | _tr_align (deflate_state *s)
void ZLIB_INTERNAL | _tr_flush_block (deflate_state *s, charf *buf, ulg stored_len, int last)
int ZLIB_INTERNAL | _tr_tally (deflate_state *s, unsigned dist, unsigned lc)
local void | compress_block (deflate_state *s, ct_data *ltree, ct_data *dtree)
local int | detect_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

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

Definition at line 77 of file trees.c.

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

Definition at line 86 of file trees.c.

#define END_BLOCK 256

Definition at line 50 of file trees.c.

#define MAX_BL_BITS 7

Definition at line 47 of file trees.c.

#define pqremove | ( |  | s,
|  |  | tree,
|  |  | top
| ) |  |

Value:
{\
top = s->heap[SMALLEST]; \
s->heap[SMALLEST] = s->heap[s->heap_len--]; \
pqdownheap(s, tree, SMALLEST); \
}
jpeg_error_mgr::s
char s[JMSG_STR_PARM_MAX]
Definition: jpeglib.h:663
SMALLEST
#define SMALLEST
Definition: trees.c:430

Definition at line 438 of file trees.c.

#define put_short | ( |  | s,
|  |  | w
| ) |  |

Value:
{ \
put_byte(s, (uch)((w) & 0xff)); \
put_byte(s, (uch)((ush)(w) >> 8)); \
}
jpeg_error_mgr::s
char s[JMSG_STR_PARM_MAX]
Definition: jpeglib.h:663
ush
unsigned short ush
Definition: zutil.h:39
uch
unsigned char uch
Definition: zutil.h:37

Definition at line 181 of file trees.c.

#define REP_3_6 16

Definition at line 53 of file trees.c.

#define REPZ_11_138 18

Definition at line 59 of file trees.c.

#define REPZ_3_10 17

Definition at line 56 of file trees.c.

#define send_bits | ( |  | s,
|  |  | value,
|  |  | length
| ) |  |

Value:
{ int len = length;\
if (s->bi_valid > (int)Buf_size - len) {\
int val = value;\
s->bi_buf |= (ush)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 |= (ush)(value) << s->bi_valid;\
s->bi_valid += len;\
}\
}
jpeg_error_mgr::s
char s[JMSG_STR_PARM_MAX]
Definition: jpeglib.h:663
put_short
#define put_short(s, w)
Definition: trees.c:181
ush
unsigned short ush
Definition: zutil.h:39
val
int val
Definition: jpeglib.h:956
Buf_size
#define Buf_size
Definition: trees.c:77

Definition at line 218 of file trees.c.

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

Definition at line 168 of file trees.c.

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

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

Definition at line 449 of file trees.c.

#define SMALLEST 1

Definition at line 430 of file trees.c.

## Function Documentation

void ZLIB_INTERNAL _tr_align | ( | deflate_state * | s | ) |

Definition at line 896 of file trees.c.

void ZLIB_INTERNAL _tr_flush_block | ( | deflate_state * | s,
|  | charf * | buf,
|  | ulg | stored_len,
|  | int | last
| ) |  |

Definition at line 925 of file trees.c.

void ZLIB_INTERNAL _tr_init | ( | deflate_state * | s | ) |

Definition at line 386 of file trees.c.

void ZLIB_INTERNAL _tr_stored_block | ( | deflate_state * | s,
|  | charf * | buf,
|  | ulg | stored_len,
|  | int | last
| ) |  |

Definition at line 871 of file trees.c.

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

Definition at line 1026 of file trees.c.

local void bi_flush | ( | deflate_state * | s | ) |

Definition at line 1186 of file trees.c.

local unsigned bi_reverse | ( | unsigned | code,
|  | int | len
| ) |  |

Definition at line 1171 of file trees.c.

local void bi_windup | ( | deflate_state * | s | ) |

Definition at line 1203 of file trees.c.

local int build_bl_tree | ( | deflate_state * | s | ) |

Definition at line 807 of file trees.c.

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

Definition at line 623 of file trees.c.

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

Definition at line 1076 of file trees.c.

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

Definition at line 1222 of file trees.c.

local int detect_data_type | ( | deflate_state * | s | ) |

Definition at line 1137 of file trees.c.

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

Definition at line 494 of file trees.c.

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

Definition at line 581 of file trees.c.

local void init_block | ( | deflate_state * | s | ) |

Definition at line 415 of file trees.c.

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 pqdownheap | ( | deflate_state * | s,
|  | ct_data * | tree,
|  | int | k
| ) |  |

Definition at line 459 of file trees.c.

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

Definition at line 711 of file trees.c.

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

Definition at line 842 of file trees.c.

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

Definition at line 756 of file trees.c.

local void tr_static_init | ( |  | ) |

Definition at line 239 of file trees.c.

## Variable Documentation

uch _dist_code[DIST_CODE_LEN]

Definition at line 103 of file trees.c.

uch _length_code[MAX_MATCH-MIN_MATCH+1]

Definition at line 109 of file trees.c.

local int base_dist[D_CODES]

Definition at line 115 of file trees.c.

local int base_length[LENGTH_CODES]

Definition at line 112 of file trees.c.

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}

Definition at line 72 of file trees.c.

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}

Definition at line 69 of file trees.c.

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 66 of file trees.c.

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}

Definition at line 63 of file trees.c.

local static_tree_desc static_bl_desc

Initial value:
=
{(const ct_data *)0, extra_blbits, 0, BL_CODES, MAX_BL_BITS}
BL_CODES
#define BL_CODES
Definition: deflate.h:42
MAX_BL_BITS
#define MAX_BL_BITS
Definition: trees.c:47
ct_data_s
Definition: deflate.h:62
extra_blbits
local const int extra_blbits[BL_CODES]
Definition: trees.c:69

Definition at line 136 of file trees.c.

local static_tree_desc static_d_desc

Initial value:
=
{static_dtree, extra_dbits, 0, D_CODES, MAX_BITS}
extra_dbits
local const int extra_dbits[D_CODES]
Definition: trees.c:66
static_dtree
local ct_data static_dtree[D_CODES]
Definition: trees.c:98
MAX_BITS
#define MAX_BITS
Definition: deflate.h:48
D_CODES
#define D_CODES
Definition: deflate.h:39

Definition at line 133 of file trees.c.

local ct_data static_dtree[D_CODES]

Definition at line 98 of file trees.c.

local static_tree_desc static_l_desc

Initial value:
=
{static_ltree, extra_lbits, LITERALS+1, L_CODES, MAX_BITS}
MAX_BITS
#define MAX_BITS
Definition: deflate.h:48
LITERALS
#define LITERALS
Definition: deflate.h:33
extra_lbits
local const int extra_lbits[LENGTH_CODES]
Definition: trees.c:63
static_ltree
local ct_data static_ltree[L_CODES+2]
Definition: trees.c:91
L_CODES
#define L_CODES
Definition: deflate.h:36

Definition at line 130 of file trees.c.

local ct_data static_ltree[L_CODES+2]

Definition at line 91 of file trees.c.