Lines Matching refs:coder

52 	lzma_index_coder *coder = coder_ptr;
65 switch (coder->sequence) {
69 coder->sequence = SEQ_COUNT;
73 const lzma_vli count = lzma_index_block_count(coder->index);
74 ret = lzma_vli_encode(count, &coder->pos,
80 coder->pos = 0;
81 coder->sequence = SEQ_NEXT;
87 &coder->iter, LZMA_INDEX_ITER_BLOCK)) {
89 coder->pos = lzma_index_padding_size(coder->index);
90 assert(coder->pos <= 3);
91 coder->sequence = SEQ_PADDING;
95 coder->sequence = SEQ_UNPADDED;
101 const lzma_vli size = coder->sequence == SEQ_UNPADDED
102 ? coder->iter.block.unpadded_size
103 : coder->iter.block.uncompressed_size;
105 ret = lzma_vli_encode(size, &coder->pos,
111 coder->pos = 0;
114 ++coder->sequence;
119 if (coder->pos > 0) {
120 --coder->pos;
126 coder->crc32 = lzma_crc32(out + out_start,
127 *out_pos - out_start, coder->crc32);
129 coder->sequence = SEQ_CRC32;
135 // coder->crc32 to be touched anymore.
140 out[*out_pos] = (coder->crc32 >> (coder->pos * 8))
144 } while (++coder->pos < 4);
161 coder->crc32 = lzma_crc32(out + out_start,
162 out_used, coder->crc32);
170 index_encoder_end(void *coder, const lzma_allocator *allocator)
172 lzma_free(coder, allocator);
178 index_encoder_reset(lzma_index_coder *coder, const lzma_index *i)
180 lzma_index_iter_init(&coder->iter, i);
182 coder->sequence = SEQ_INDICATOR;
183 coder->index = i;
184 coder->pos = 0;
185 coder->crc32 = 0;
200 if (next->coder == NULL) {
201 next->coder = lzma_alloc(sizeof(lzma_index_coder), allocator);
202 if (next->coder == NULL)
209 index_encoder_reset(next->coder, i);
241 lzma_index_coder coder;
242 index_encoder_reset(&coder, i);
247 lzma_ret ret = index_encode(&coder, NULL, NULL, NULL, 0,