Lines Matching refs:coder

60 	lzma_lzma2_coder *restrict coder = coder_ptr;
65 while (*in_pos < in_size || coder->sequence == SEQ_LZMA)
66 switch (coder->sequence) {
78 coder->need_properties = true;
79 coder->need_dictionary_reset = true;
80 } else if (coder->need_dictionary_reset) {
87 coder->uncompressed_size = (control & 0x1F) << 16;
88 coder->sequence = SEQ_UNCOMPRESSED_1;
95 coder->need_properties = false;
96 coder->next_sequence = SEQ_PROPERTIES;
98 } else if (coder->need_properties) {
102 coder->next_sequence = SEQ_LZMA;
108 coder->lzma.reset(coder->lzma.coder,
109 &coder->options);
117 coder->sequence = SEQ_COMPRESSED_0;
118 coder->next_sequence = SEQ_COPY;
121 if (coder->need_dictionary_reset) {
124 coder->need_dictionary_reset = false;
133 coder->uncompressed_size += (uint32_t)(in[(*in_pos)++]) << 8;
134 coder->sequence = SEQ_UNCOMPRESSED_2;
138 coder->uncompressed_size += in[(*in_pos)++] + 1U;
139 coder->sequence = SEQ_COMPRESSED_0;
140 coder->lzma.set_uncompressed(coder->lzma.coder,
141 coder->uncompressed_size, false);
145 coder->compressed_size = (uint32_t)(in[(*in_pos)++]) << 8;
146 coder->sequence = SEQ_COMPRESSED_1;
150 coder->compressed_size += in[(*in_pos)++] + 1U;
151 coder->sequence = coder->next_sequence;
155 if (lzma_lzma_lclppb_decode(&coder->options, in[(*in_pos)++]))
158 coder->lzma.reset(coder->lzma.coder, &coder->options);
160 coder->sequence = SEQ_LZMA;
165 // coder->compressed_size later.
169 const lzma_ret ret = coder->lzma.code(coder->lzma.coder,
172 // Validate and update coder->compressed_size.
174 if (in_used > coder->compressed_size)
177 coder->compressed_size -= in_used;
186 if (coder->compressed_size != 0)
189 coder->sequence = SEQ_CONTROL;
195 dict_write(dict, in, in_pos, in_size, &coder->compressed_size);
196 if (coder->compressed_size != 0)
199 coder->sequence = SEQ_CONTROL;
215 lzma_lzma2_coder *coder = coder_ptr;
217 assert(coder->lzma.end == NULL);
218 lzma_free(coder->lzma.coder, allocator);
220 lzma_free(coder, allocator);
231 lzma_lzma2_coder *coder = lz->coder;
232 if (coder == NULL) {
233 coder = lzma_alloc(sizeof(lzma_lzma2_coder), allocator);
234 if (coder == NULL)
237 lz->coder = coder;
241 coder->lzma = LZMA_LZ_DECODER_INIT;
246 coder->sequence = SEQ_CONTROL;
247 coder->need_properties = true;
248 coder->need_dictionary_reset = options->preset_dict == NULL
251 return lzma_lzma_decoder_create(&coder->lzma,