Method | Description | |
---|---|---|
Deflate ( ) : System |
Default constructor
|
|
_tr_align ( ) : void |
Send one empty static block to give enough lookahead for inflate. This takes 10 bits, of which 7 may remain in the bit buffer. The current inflate code requires 9 bits of lookahead. If the last two codes for the previous block (real code plus EOB) were coded on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode the last real code. In this case we send two empty static blocks instead of one. (There are no problems if the previous block is stored or fixed.) To simplify the code, we assume the worst case of last real code encoded on one bit only.
|
|
_tr_flush_block ( int buf, int stored_len, bool eof ) : void |
Determine the best encoding for the current block: dynamic trees, static trees or store, and output the encoded block to the zip file.
|
|
_tr_stored_block ( int buf, int stored_len, bool eof ) : void |
Send a stored block
|
|
_tr_tally ( int dist, int lc ) : bool |
Save the match info and tally the frequency counts. Return true if the current block must be flushed.
|
|
bi_flush ( ) : void |
Flush the bit buffer, keeping at most 7 bits in it.
|
|
bi_windup ( ) : void |
Flush the bit buffer and align the output on a byte boundary
|
|
build_bl_tree ( ) : int |
Construct the Huffman tree for the bit lengths and return the index in bl_order of the last bit length code to send.
|
|
compress_block ( short ltree, short dtree ) : void |
Send the block data compressed using the given Huffman trees
|
|
copy_block ( int buf, int len, bool header ) : void |
Copy a stored block, storing first the length and its one's complement if requested.
|
|
deflate ( |
Performs data compression with the deflate algorithm
|
|
deflateEnd ( ) : int |
Finish compression with deflate algorithm
|
|
deflateInit ( |
Initializes deflate algorithm
|
|
deflateInit ( |
Deflate algorithm initialization
|
|
deflateInit2 ( |
Deflate algorithm initialization
|
|
deflateParams ( |
Sets deflate algorithm parameters
|
|
deflateReset ( |
Resets the current state of deflate object
|
|
deflateSetDictionary ( |
Sets deflate dictionary
|
|
deflate_fast ( int flush ) : int |
Compress as much as possible from the input stream, return the current block state. This function does not perform lazy evaluation of matches and inserts new strings in the dictionary only for unmatched strings or for short matches. It is used only for the fast compression options.
|
|
deflate_slow ( int flush ) : int |
Same as above, but achieves better compression. We use a lazy evaluation for matches: a match is finally adopted only if there is no better match at the next Window position.
|
|
deflate_stored ( int flush ) : int |
Copy without compression as much as possible from the input stream, return the current block state. This function does not insert new strings in the dictionary since uncompressible data is probably not useful. This function is used only for the level=0 compression option. NOTE: this function should be optimized to avoid extra copying from Window to Pending_buf.
|
|
fill_window ( ) : void |
Fill the Window when the lookahead becomes insufficient. Updates strstart and lookahead. IN assertion: lookahead less than MIN_LOOKAHEAD OUT assertions: strstart less than or equal to window_size-MIN_LOOKAHEAD At least one byte has been ReadPos, or _avail_in == 0; reads are performed for at least two bytes (required for the zip translate_eol option -- not supported here).
|
|
flush_block_only ( bool eof ) : void |
Flushes block
|
|
init_block ( ) : void |
Initializes block
|
|
lm_init ( ) : void |
Initialization
|
|
longest_match ( int cur_match ) : int |
Finds the longest matching data part
|
|
pqdownheap ( short tree, int k ) : void |
Restore the heap property by moving down the tree starting at node k, exchanging a node with the smallest of its two sons if necessary, stopping when the heap property is re-established (each father smaller than its two sons).
|
|
putShortMSB ( int b ) : void | ||
put_byte ( byte c ) : void |
Adds a byte to the buffer
|
|
put_byte ( byte p, int start, int len ) : void |
Output a byte on the stream. IN assertion: there is enough room in Pending_buf.
|
|
put_short ( int w ) : void | ||
scan_tree ( short tree, int max_code ) : void |
Scan a literal or distance tree to determine the frequencies of the codes in the bit length tree.
|
|
send_all_trees ( int lcodes, int dcodes, int blcodes ) : void |
Send the header for a block using dynamic Huffman trees: the counts, the lengths of the bit length codes, the literal tree and the distance tree. IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.
|
|
send_bits ( int value_Renamed, int length ) : void | ||
send_code ( int c, short tree ) : void | ||
send_tree ( short tree, int max_code ) : void |
Send a literal or distance tree in compressed form, using the codes in bl_tree.
|
|
set_data_type ( ) : void |
Set the data type to ASCII or BINARY, using a crude approximation: binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise. IN assertion: the fields freq of dyn_ltree are set and the total of all frequencies does not exceed 64K (to fit in an int on 16 bit machines).
|
|
smaller ( short tree, int n, int m, byte depth ) : bool | ||
tr_init ( ) : void |
Initialize the tree data structures for a new zlib stream.
|