|
ZLIB
|
header to use inftrees.c Copyright (C) 1995-2005, 2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h More...
Go to the source code of this file.
Data Structures | |
| struct | code |
| Structure for decoding tables. More... | |
Macros | |
| #define | ENOUGH_LENS 852 |
| Maximum size of the dynamic table. | |
| #define | ENOUGH_DISTS 592 |
| #define | ENOUGH (ENOUGH_LENS+ENOUGH_DISTS) |
Enumerations | |
| enum | codetype { CODES , LENS , DISTS } |
| Type of code to build for inflate_table() | |
Functions | |
| int ZLIB_INTERNAL | inflate_table (codetype type, unsigned short *lens, unsigned codes, code **table, unsigned *bits, unsigned short *work) |
header to use inftrees.c Copyright (C) 1995-2005, 2010 Mark Adler For conditions of distribution and use, see copyright notice in zlib.h
| #define ENOUGH_LENS 852 |
Maximum size of the dynamic table.
The maximum number of code structures is 1444, which is the sum of 852 for literal/length codes and 592 for distance codes. These values were found by exhaustive searches using the program examples/enough.c found in the zlib distribution. The arguments to that program are the number of symbols, the initial root table size, and the maximum bit length of a code. "enough 286 9 15" for literal/length codes returns returns 852, and "enough 30 6 15" for distance codes returns 592. The initial root table size (9 or 6) is found in the fifth argument of the inflate_table() calls in inflate.c and infback.c. If the root table size is changed, then these maximum sizes would be need to be recalculated and updated.