Lines Matching refs:coder
64 lzma_index_coder *coder = coder_ptr; in index_decode() local
71 switch (coder->sequence) { in index_decode()
85 coder->sequence = SEQ_COUNT; in index_decode()
89 ret = lzma_vli_decode(&coder->count, &coder->pos, in index_decode()
94 coder->pos = 0; in index_decode()
95 coder->sequence = SEQ_MEMUSAGE; in index_decode()
100 if (lzma_index_memusage(1, coder->count) > coder->memlimit) { in index_decode()
107 lzma_index_prealloc(coder->index, coder->count); in index_decode()
110 coder->sequence = coder->count == 0 in index_decode()
116 lzma_vli *size = coder->sequence == SEQ_UNPADDED in index_decode()
117 ? &coder->unpadded_size in index_decode()
118 : &coder->uncompressed_size; in index_decode()
120 ret = lzma_vli_decode(size, &coder->pos, in index_decode()
126 coder->pos = 0; in index_decode()
128 if (coder->sequence == SEQ_UNPADDED) { in index_decode()
131 if (coder->unpadded_size < UNPADDED_SIZE_MIN in index_decode()
132 || coder->unpadded_size in index_decode()
136 coder->sequence = SEQ_UNCOMPRESSED; in index_decode()
140 coder->index, allocator, in index_decode()
141 coder->unpadded_size, in index_decode()
142 coder->uncompressed_size)); in index_decode()
145 coder->sequence = --coder->count == 0 in index_decode()
154 coder->pos = lzma_index_padding_size(coder->index); in index_decode()
155 coder->sequence = SEQ_PADDING; in index_decode()
160 if (coder->pos > 0) { in index_decode()
161 --coder->pos; in index_decode()
169 coder->crc32 = lzma_crc32(in + in_start, in index_decode()
170 *in_pos - in_start, coder->crc32); in index_decode()
172 coder->sequence = SEQ_CRC32; in index_decode()
181 if (((coder->crc32 >> (coder->pos * 8)) & 0xFF) in index_decode()
188 } while (++coder->pos < 4); in index_decode()
192 *coder->index_ptr = coder->index; in index_decode()
195 coder->index = NULL; in index_decode()
212 coder->crc32 = lzma_crc32(in + in_start, in index_decode()
213 in_used, coder->crc32); in index_decode()
223 lzma_index_coder *coder = coder_ptr; in index_decoder_end() local
224 lzma_index_end(coder->index, allocator); in index_decoder_end()
225 lzma_free(coder, allocator); in index_decoder_end()
234 lzma_index_coder *coder = coder_ptr; in index_decoder_memconfig() local
236 *memusage = lzma_index_memusage(1, coder->count); in index_decoder_memconfig()
237 *old_memlimit = coder->memlimit; in index_decoder_memconfig()
243 coder->memlimit = new_memlimit; in index_decoder_memconfig()
251 index_decoder_reset(lzma_index_coder *coder, const lzma_allocator *allocator, in index_decoder_reset() argument
258 coder->index_ptr = i; in index_decoder_reset()
262 coder->index = lzma_index_init(allocator); in index_decoder_reset()
263 if (coder->index == NULL) in index_decoder_reset()
267 coder->sequence = SEQ_INDICATOR; in index_decoder_reset()
268 coder->memlimit = my_max(1, memlimit); in index_decoder_reset()
269 coder->count = 0; // Needs to be initialized due to _memconfig(). in index_decoder_reset()
270 coder->pos = 0; in index_decoder_reset()
271 coder->crc32 = 0; in index_decoder_reset()
286 lzma_index_coder *coder = next->coder; in lzma_index_decoder_init() local
287 if (coder == NULL) { in lzma_index_decoder_init()
288 coder = lzma_alloc(sizeof(lzma_index_coder), allocator); in lzma_index_decoder_init()
289 if (coder == NULL) in lzma_index_decoder_init()
292 next->coder = coder; in lzma_index_decoder_init()
296 coder->index = NULL; in lzma_index_decoder_init()
298 lzma_index_end(coder->index, allocator); in lzma_index_decoder_init()
301 return index_decoder_reset(coder, allocator, i, memlimit); in lzma_index_decoder_init()
339 lzma_index_coder coder; in lzma_index_buffer_decode() local
340 return_if_error(index_decoder_reset(&coder, allocator, i, *memlimit)); in lzma_index_buffer_decode()
347 lzma_ret ret = index_decode(&coder, allocator, in, in_pos, in_size, in lzma_index_buffer_decode()
355 lzma_index_end(coder.index, allocator); in lzma_index_buffer_decode()
367 *memlimit = lzma_index_memusage(1, coder.count); in lzma_index_buffer_decode()