|
|
/*
* encproto.h * * Encoder function prototypes */
/* blkinit.c */ void create_slot_lookup_table(t_encoder_context *context); void create_ones_table(t_encoder_context *context);
/* block.c */ void output_block(t_encoder_context *context); void flush_output_bit_buffer(t_encoder_context *context); long estimate_buffer_contents(t_encoder_context *context); ulong get_distances_from_literals(t_encoder_context *context, ulong literals);
/* bsearch.c */ long binary_search_findmatch(t_encoder_context *context, long BufPos); void quick_insert_bsearch_findmatch(t_encoder_context *context, long BufPos, long endpos); void binary_search_remove_node(t_encoder_context *context, long BufPos, ulong end_pos);
/* encdata.c */ void output_bits( t_encoder_context *context, ulong numbits, ulong value ); void encode_verbatim_block(t_encoder_context *context, ulong literal_to_end_at); void encode_aligned_block(t_encoder_context *context, ulong literal_to_end_at); void encode_uncompressed_block(t_encoder_context *context, ulong bufpos, ulong block_size); void perform_flush_output_callback(t_encoder_context *context); ulong estimate_compressed_block_size(t_encoder_context *context); void get_final_repeated_offset_states(t_encoder_context *context, ulong distances);
/* encstats.c */ lzx_block_type get_aligned_stats(t_encoder_context *context, ulong dist_to_end_at);
ulong get_block_stats( t_encoder_context *context, ulong literal_to_start_at, ulong distance_to_start_at, ulong literal_to_end_at );
ulong update_cumulative_block_stats( t_encoder_context *context, ulong literal_to_start_at, ulong distance_to_start_at, ulong literal_to_end_at );
bool split_block( t_encoder_context *context, ulong literal_to_start_at, ulong literal_to_end_at, ulong distance_to_end_at, ulong *split_at_literal, ulong *split_at_distance );
/* enctree.c */ void create_trees(t_encoder_context *context, bool generate_codes); void fix_tree_cost_estimates(t_encoder_context *context); void encode_trees(t_encoder_context *context); void encode_aligned_tree(t_encoder_context *context); void prevent_far_matches(t_encoder_context *context);
/* init.c */ void init_compression_memory(t_encoder_context *context); bool comp_alloc_compress_memory(t_encoder_context *context);
/* io.c */ bool init_compressed_output_buffer(t_encoder_context *context); void flush_compressed_output_buffer(t_encoder_context *context); void reset_translation(t_encoder_context *context); long comp_read_input(t_encoder_context *context, ulong BufPos, long Size);
/* optenc.c */ void opt_encode_top(t_encoder_context *context, long BytesRead); void reset_encoder_variables(t_encoder_context *context); void flush_all_pending_blocks(t_encoder_context *context); void encoder_start(t_encoder_context *context);
void make_tree( t_encoder_context *context, int nparm, ushort *freqparm, byte *lenparm, ushort *codeparm, bool make_codes );
|