Data Structures | |
struct | pixel_set_tag |
Defines | |
#define | TYPE_POINT 0 |
#define | TYPE_S 1 |
#define | TYPE_I 2 |
#define | TYPE_EMPTY 3 |
#define | STAGE_S 0 |
#define | STAGE_I 1 |
#define | MIN_SPECK_BUF_SIZE 1 |
#define | THRESHOLD_BITS 6 |
#define | PIXEL_SET(_set) ((pixel_set *) (_set->data)) |
#define | SLOT_INDEX(_set) (number_of_bits(MIN(_set->width, _set->height)) - 1) |
#define | BREAK_IF_OVERFLOW(_x) if (_x == BIT_BUFFER_OVERFLOW) break |
#define | RETURN_IF_OVERFLOW(_x) if (_x == BIT_BUFFER_OVERFLOW) return _x |
#define | BREAK_IF_UNDERFLOW(_x) if (_x == BIT_BUFFER_UNDERFLOW) break |
#define | RETURN_IF_UNDERFLOW(_x) if (_x == BIT_BUFFER_UNDERFLOW) return _x |
#define | CONTINUE_IF_EMPTY(_x) if (LIST_IS_EMPTY(_x)) continue |
Typedefs | |
typedef struct pixel_set_tag | pixel_set |
Functions | |
local int | max_coeff (int **channel, int channel_size) |
local int | validate_set (pixel_set *set, int channel_size) |
local int | significance_test (pixel_set *set, int threshold, int **channel, int channel_size) |
local void | select_part_type (pixel_set *set) |
local void | split_set (pixel_set *set, pixel_set *part1, pixel_set *part2, pixel_set *part3, pixel_set *part4, int channel_size) |
local linked_list ** | alloc_LIS_slots (int channel_size) |
local void | free_LIS_slots (linked_list **LIS_slots, int channel_size) |
local void | assign_set (list_node *node, pixel_set *set) |
local void | zero_channel (int **channel, int channel_size) |
local int | speck_encode_S (int **channel, int channel_size, pixel_set *set, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | speck_process_S (int **channel, int channel_size, list_node *node, linked_list *slot, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold, int coding_stage) |
local int | speck_encode_I (int **channel, int channel_size, pixel_set *I, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | speck_process_I (int **channel, int channel_size, pixel_set *I, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | encode_sorting_pass (int **channel, int channel_size, linked_list **LIS_slots, linked_list *LSP, pixel_set *I, bit_buffer *bb, int threshold) |
local int | encode_refinement_pass (int **channel, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | speck_decode_S (int **channel, int channel_size, pixel_set *set, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | speck_unprocess_S (int **channel, int channel_size, list_node *node, linked_list *slot, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold, int coding_stage) |
local int | speck_decode_I (int **channel, int channel_size, pixel_set *I, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | speck_unprocess_I (int **channel, int channel_size, pixel_set *I, linked_list **LIS_slots, linked_list *LSP, bit_buffer *bb, int threshold) |
local int | decode_sorting_pass (int **channel, int channel_size, linked_list **LIS_slots, linked_list *LSP, pixel_set *I, bit_buffer *bb, int threshold) |
local int | decode_refinement_pass (int **channel, linked_list *LSP, bit_buffer *bb, int threshold) |
local void | speck_init (linked_list **LIS_slots, pixel_set *I, int channel_size, int mode) |
int | speck_encode (int **channel, int channel_size, unsigned char *buf, int buf_size) |
void | speck_decode (unsigned char *buf, int buf_size, int **channel, int channel_size) |