void maze_generator_kruskal_private::allocate_locations_table()
{
	maze_data->size_x = size_x;
	maze_data->size_y = size_y;

	unsigned int edge_count = 2 * size_x*size_y - size_y - size_x;
	locations_id_mask = get_bits_size(edge_count);

	maze_data->m_vvMapa.resize(size_x);
	for (unsigned int index = 0; index<size_x; index++)
		maze_data->m_vvMapa[index].resize(size_y);
	reset_locations();
	locations_sets.clear();
	for (unsigned int index = 0; index < size_x * size_y; index++)
		locations_sets[index] = index;
}
Exemplo n.º 2
0
/* decode ac coefs */
static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, DCTELEM *block)
{
    int last_index = get_bits_size(gb);
    const uint8_t *scan_table = mb->scan_table;
    const uint8_t *shift_table = mb->shift_table;
    int pos = mb->pos;
    int partial_bit_count = mb->partial_bit_count;
    int level, pos1, run, vlc_len, index;
    
    OPEN_READER(re, gb);
    UPDATE_CACHE(re, gb);
    
    /* if we must parse a partial vlc, we do it here */
    if (partial_bit_count > 0) {
        re_cache = ((unsigned)re_cache >> partial_bit_count) |
	           (mb->partial_bit_buffer << (sizeof(re_cache)*8 - partial_bit_count));
	re_index -= partial_bit_count;
	mb->partial_bit_count = 0;
    }