typedef unsigned char arithmetic_codec_bit_t |
Definition at line 33 of file arithmetic_codec.h.
typedef unsigned long arithmetic_codec_register_t |
Definition at line 34 of file arithmetic_codec.h.
typedef struct _arithmetic_coder_t_ arithmetic_coder_t |
typedef struct _arithmetic_decoder_t_ arithmetic_decoder_t |
void arithmetic_coder_delete | ( | arithmetic_coder_t * | arithmetic_coder | ) |
void arithmetic_coder_encode_bit | ( | arithmetic_coder_t * | arithmetic_coder, | |
double | prob_0, | |||
arithmetic_codec_bit_t | bit | |||
) |
Definition at line 155 of file arithmetic_codec.c.
References _arithmetic_coder_t_::lower, _arithmetic_coder_t_::range, and renormalize_enc().
Referenced by arithmetic_coder_encode_symbol(), and main().
void arithmetic_coder_encode_symbol | ( | arithmetic_coder_t * | arithmetic_coder, | |
vec | pdf, | |||
int | symbol | |||
) |
Definition at line 258 of file arithmetic_codec.c.
References arithmetic_coder_encode_bit(), and vec_length().
Referenced by main().
arithmetic_coder_t* arithmetic_coder_new | ( | int | precision | ) |
Definition at line 136 of file arithmetic_codec.c.
References _arithmetic_coder_t_::buffer, and _arithmetic_coder_t_::precision.
Referenced by main().
void arithmetic_coder_start | ( | arithmetic_coder_t * | arithmetic_coder, | |
bvec | buffer | |||
) |
Definition at line 110 of file arithmetic_codec.c.
References _arithmetic_coder_t_::buffer, _arithmetic_coder_t_::lower, _arithmetic_coder_t_::pending, _arithmetic_coder_t_::precision, _arithmetic_coder_t_::range, and _arithmetic_coder_t_::sequence.
Referenced by main().
int arithmetic_coder_stop | ( | arithmetic_coder_t * | arithmetic_coder | ) |
Definition at line 120 of file arithmetic_codec.c.
References _arithmetic_coder_t_::buffer, _arithmetic_coder_t_::lower, _arithmetic_coder_t_::precision, _arithmetic_coder_t_::sequence, and write_bit().
Referenced by main().
arithmetic_codec_bit_t arithmetic_decoder_decode_bit | ( | arithmetic_decoder_t * | arithmetic_decoder, | |
double | prob_zero | |||
) |
Definition at line 225 of file arithmetic_codec.c.
References bit, _arithmetic_decoder_t_::lower, _arithmetic_decoder_t_::range, renormalize_dec(), and _arithmetic_decoder_t_::value.
Referenced by arithmetic_decoder_decode_symbol(), and main().
int arithmetic_decoder_decode_symbol | ( | arithmetic_decoder_t * | arithmetic_decoder, | |
vec | ||||
) |
Definition at line 287 of file arithmetic_codec.c.
References arithmetic_decoder_decode_bit(), and vec_length().
Referenced by main().
void arithmetic_decoder_delete | ( | arithmetic_decoder_t * | arithmetic_decoder | ) |
arithmetic_decoder_t* arithmetic_decoder_new | ( | int | precision | ) |
Definition at line 208 of file arithmetic_codec.c.
References _arithmetic_decoder_t_::precision.
Referenced by main().
void arithmetic_decoder_start | ( | arithmetic_decoder_t * | arithmetic_decoder, | |
bvec | buffer | |||
) |
Definition at line 179 of file arithmetic_codec.c.
References _arithmetic_decoder_t_::buffer, _arithmetic_decoder_t_::lower, _arithmetic_decoder_t_::precision, _arithmetic_decoder_t_::range, _arithmetic_decoder_t_::sequence, and _arithmetic_decoder_t_::value.
Referenced by main().
int arithmetic_decoder_stop | ( | arithmetic_decoder_t * | arithmetic_decoder | ) |
Definition at line 197 of file arithmetic_codec.c.
References _arithmetic_decoder_t_::buffer, _arithmetic_decoder_t_::precision, read_bit(), and _arithmetic_decoder_t_::sequence.
Referenced by main().
void vlc_affect_codewords | ( | vlc_t * | vlc | ) |
Definition at line 287 of file vlc.c.
References vlc_t::cwd, vlc_t::cwd_length, vlc_t::node_root, and vlc_affect_codewords_subtree().
Referenced by vlc_flc(), vlc_hu_tucker(), vlc_huffman(), and vlc_read().
Definition at line 55 of file vlc.c.
References vlc_t::cwd, vlc_t::cwd_length, ivec_clone(), vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, and vlc_t::node_root.
Definition at line 915 of file vlc.c.
References bvec_length(), ivec_new_alloc(), ivec_push, vlc_t::map, vlc_t::node_root, vlc_is_leaf(), and vlc_maxh().
Referenced by main().
Definition at line 933 of file vlc.c.
References bvec_length(), ivec_new(), ivec_set(), vlc_t::map, vlc_t::node_root, and vlc_is_leaf().
void vlc_delete | ( | vlc_t * | vlc | ) |
Definition at line 74 of file vlc.c.
References vlc_t::cwd, vlc_t::cwd_length, ivec_delete(), and vlc_t::map.
Referenced by main().
Definition at line 896 of file vlc.c.
References bvec_new_alloc(), bvec_push, ivec_length(), vlc_get_cwd(), vlc_get_cwd_length(), and vlc_maxh().
Referenced by main().
Definition at line 800 of file vlc.c.
References ivec_del(), ivec_delete(), ivec_length(), ivec_new_alloc(), ivec_push, vlc_t::nb_nodes, vlc_t::nb_symb, vlc_t::node_root, vec_delete(), vec_div(), vec_index_by(), vec_max_index(), vlc_get_child0(), vlc_get_child1(), vlc_nodes_delta_energy(), and vlc_nodes_entropy().
vlc_t* vlc_flc | ( | int | nb_bits | ) |
Definition at line 86 of file vlc.c.
References vlc_t::map, vlc_t::node_root, vlc_affect_codewords(), and vlc_new().
static int vlc_get_child0 | ( | const vlc_t * | vlc, | |
int | s | |||
) | [inline, static] |
Definition at line 75 of file vlc.h.
References vlc_t::map.
Referenced by vlc_affect_codewords_subtree(), vlc_energy_order(), vlc_node_variance_tmp(), vlc_nodes_delta_energy(), vlc_nodes_entropy(), vlc_nodes_expectation_tmp(), and vlc_nodes_pdf_tmp().
static int vlc_get_child1 | ( | const vlc_t * | vlc, | |
int | s | |||
) | [inline, static] |
Definition at line 80 of file vlc.h.
References vlc_t::map.
Referenced by vlc_affect_codewords_subtree(), vlc_energy_order(), vlc_node_variance_tmp(), vlc_nodes_delta_energy(), vlc_nodes_entropy(), vlc_nodes_expectation_tmp(), and vlc_nodes_pdf_tmp().
static int vlc_get_cwd | ( | const vlc_t * | vlc, | |
int | node | |||
) | [inline, static] |
Definition at line 65 of file vlc.h.
References vlc_t::cwd.
Referenced by vlc_encode_concat(), vlc_print(), and vlc_print_all().
static int vlc_get_cwd_length | ( | const vlc_t * | vlc, | |
int | node | |||
) | [inline, static] |
Definition at line 70 of file vlc.h.
References vlc_t::cwd_length.
Referenced by vlc_encode_concat(), and vlc_nb_bits_required().
Definition at line 168 of file vlc.c.
References DUMM_NODE, ivec_del(), ivec_delete(), ivec_new(), ivec_new_arithm(), ivec_new_ones(), ivec_set(), vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, vec_delete(), vec_length(), vec_new(), vec_new_1N(), vec_new_zeros(), vec_set(), vlc_affect_codewords(), vlc_is_leaf(), vlc_new(), and vlc_quasi_lexicographic().
Referenced by main().
Definition at line 112 of file vlc.c.
References bvec_delete(), bvec_new_zeros(), bvec_set_between(), vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, vec_delete(), Vec_length, vec_new_zeros(), vlc_affect_codewords(), and vlc_new().
Referenced by main().
static int vlc_is_leaf | ( | const vlc_t * | vlc, | |
int | s | |||
) | [inline, static] |
Definition at line 85 of file vlc.h.
References vlc_t::nb_symb.
Referenced by vlc_affect_codewords_subtree(), vlc_decode_concat(), vlc_decode_concat_N(), vlc_hu_tucker(), and vlc_print_all().
static int vlc_is_node | ( | const vlc_t * | vlc, | |
int | s | |||
) | [inline, static] |
double vlc_kraft_sum | ( | const vlc_t * | vlc | ) |
Definition at line 331 of file vlc.c.
References vlc_t::cwd_length, and vlc_t::nb_symb.
Referenced by vlc_quasi_lexicographic().
int vlc_maxh | ( | const vlc_t * | vlc | ) |
Definition at line 308 of file vlc.c.
References vlc_t::cwd_length, and vlc_t::nb_symb.
Referenced by main(), vlc_decode_concat(), vlc_encode_concat(), and vlc_quasi_lexicographic().
Definition at line 320 of file vlc.c.
References vlc_t::cwd_length, and vlc_t::nb_symb.
Referenced by main().
int vlc_minh | ( | const vlc_t * | vlc | ) |
Definition at line 296 of file vlc.c.
References vlc_t::cwd_length, and vlc_t::nb_symb.
Referenced by main().
vlc_t* vlc_new | ( | int | n | ) |
Definition at line 34 of file vlc.c.
References vlc_t::cwd, vlc_t::cwd_length, DUMM_NODE, ivec_new(), ivec_new_zeros(), ivec_set(), vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, and vlc_t::node_root.
Referenced by vlc_flc(), vlc_hu_tucker(), and vlc_huffman().
Definition at line 623 of file vlc.c.
References vlc_node_variance_tmp().
Referenced by vlc_nodes_variance().
Definition at line 651 of file vlc.c.
References DUMM_NODE, vlc_t::nb_nodes, vlc_t::nb_symb, vec_delete(), vec_new_zeros(), vlc_get_child0(), vlc_get_child1(), vlc_nodes_pdf(), and vlc_nodes_variance().
Referenced by vlc_energy_order(), and vlc_print_all().
Definition at line 565 of file vlc.c.
References DUMM_NODE, log2, vlc_t::nb_symb, vec_delete(), vec_length(), vec_new_zeros(), vlc_get_child0(), vlc_get_child1(), and vlc_nodes_pdf().
Referenced by vlc_energy_order(), and vlc_print_all().
Definition at line 547 of file vlc.c.
References vlc_t::nb_nodes, vlc_t::nb_symb, vlc_t::node_root, vec_delete(), vec_new_zeros(), and vlc_nodes_expectation_tmp().
Referenced by main(), vlc_nodes_variance(), and vlc_print_all().
Definition at line 472 of file vlc.c.
References vlc_t::nb_nodes, vlc_t::nb_symb, vlc_t::node_root, vec_new_zeros(), and vlc_nodes_pdf_tmp().
Referenced by main(), vlc_nodes_delta_energy(), vlc_nodes_entropy(), vlc_nodes_proba0(), and vlc_print_all().
Definition at line 485 of file vlc.c.
References DUMM_NODE, vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, vec_delete(), vec_new(), and vlc_nodes_pdf().
Definition at line 636 of file vlc.c.
References vlc_t::nb_nodes, vlc_t::nb_symb, vec_delete(), vec_new_zeros(), vlc_node_variance(), and vlc_nodes_expectation().
Referenced by vlc_nodes_delta_energy(), and vlc_print_all().
void vlc_print | ( | const vlc_t * | vlc | ) |
Definition at line 690 of file vlc.c.
References bit, vlc_t::cwd_length, vlc_t::nb_symb, and vlc_get_cwd().
Referenced by main().
Definition at line 846 of file vlc.c.
References bit, vlc_t::cwd_length, vlc_t::nb_nodes, vec_delete(), vlc_get_cwd(), vlc_is_leaf(), vlc_nodes_delta_energy(), vlc_nodes_entropy(), vlc_nodes_expectation(), vlc_nodes_pdf(), and vlc_nodes_variance().
Referenced by main().
Definition at line 345 of file vlc.c.
References vlc_t::cwd, vlc_t::cwd_length, ivec_delete(), ivec_index_by(), ivec_new(), ivec_set_between(), vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, vlc_t::node_root, vec_delete(), vec_index_by(), Vec_length, vec_new(), vec_new_zeros(), vec_sort_index(), vlc_kraft_sum(), and vlc_maxh().
Referenced by main(), and vlc_hu_tucker().
vlc_t* vlc_read | ( | const char * | s | ) |
Definition at line 718 of file vlc.c.
References bit, vlc_t::cwd, vlc_t::cwd_length, DUMM_NODE, it_error(), ivec_length(), ivec_new_alloc(), ivec_push, vlc_t::map, vlc_t::nb_nodes, vlc_t::nb_symb, vlc_t::node_root, and vlc_affect_codewords().
Referenced by main().
|
|