Lines Matching refs:coder
61 block_encoder_init(lzma_stream_coder *coder, const lzma_allocator *allocator) in block_encoder_init() argument
68 coder->block_options.compressed_size = LZMA_VLI_UNKNOWN; in block_encoder_init()
69 coder->block_options.uncompressed_size = LZMA_VLI_UNKNOWN; in block_encoder_init()
71 return_if_error(lzma_block_header_size(&coder->block_options)); in block_encoder_init()
74 return lzma_block_encoder_init(&coder->block_encoder, allocator, in block_encoder_init()
75 &coder->block_options); in block_encoder_init()
85 lzma_stream_coder *coder = coder_ptr; in stream_encode() local
89 switch (coder->sequence) { in stream_encode()
93 lzma_bufcpy(coder->buffer, &coder->buffer_pos, in stream_encode()
94 coder->buffer_size, out, out_pos, out_size); in stream_encode()
95 if (coder->buffer_pos < coder->buffer_size) in stream_encode()
98 if (coder->sequence == SEQ_STREAM_FOOTER) in stream_encode()
101 coder->buffer_pos = 0; in stream_encode()
102 ++coder->sequence; in stream_encode()
122 &coder->index_encoder, allocator, in stream_encode()
123 coder->index)); in stream_encode()
124 coder->sequence = SEQ_INDEX_ENCODE; in stream_encode()
131 if (!coder->block_encoder_is_initialized) in stream_encode()
132 return_if_error(block_encoder_init(coder, allocator)); in stream_encode()
136 coder->block_encoder_is_initialized = false; in stream_encode()
140 if (lzma_block_header_encode(&coder->block_options, in stream_encode()
141 coder->buffer) != LZMA_OK) in stream_encode()
144 coder->buffer_size = coder->block_options.header_size; in stream_encode()
145 coder->sequence = SEQ_BLOCK_HEADER; in stream_encode()
158 const lzma_ret ret = coder->block_encoder.code( in stream_encode()
159 coder->block_encoder.coder, allocator, in stream_encode()
167 &coder->block_options); in stream_encode()
169 return_if_error(lzma_index_append(coder->index, allocator, in stream_encode()
171 coder->block_options.uncompressed_size)); in stream_encode()
173 coder->sequence = SEQ_BLOCK_INIT; in stream_encode()
180 const lzma_ret ret = coder->index_encoder.code( in stream_encode()
181 coder->index_encoder.coder, allocator, in stream_encode()
190 .backward_size = lzma_index_size(coder->index), in stream_encode()
191 .check = coder->block_options.check, in stream_encode()
194 if (lzma_stream_footer_encode(&stream_flags, coder->buffer) in stream_encode()
198 coder->buffer_size = LZMA_STREAM_HEADER_SIZE; in stream_encode()
199 coder->sequence = SEQ_STREAM_FOOTER; in stream_encode()
215 lzma_stream_coder *coder = coder_ptr; in stream_encoder_end() local
217 lzma_next_end(&coder->block_encoder, allocator); in stream_encoder_end()
218 lzma_next_end(&coder->index_encoder, allocator); in stream_encoder_end()
219 lzma_index_end(coder->index, allocator); in stream_encoder_end()
221 lzma_filters_free(coder->filters, allocator); in stream_encoder_end()
223 lzma_free(coder, allocator); in stream_encoder_end()
233 lzma_stream_coder *coder = coder_ptr; in stream_encoder_update() local
242 if (coder->sequence <= SEQ_BLOCK_INIT) { in stream_encoder_update()
247 coder->block_encoder_is_initialized = false; in stream_encoder_update()
248 coder->block_options.filters = temp; in stream_encoder_update()
249 ret = block_encoder_init(coder, allocator); in stream_encoder_update()
250 coder->block_options.filters = coder->filters; in stream_encoder_update()
254 coder->block_encoder_is_initialized = true; in stream_encoder_update()
256 } else if (coder->sequence <= SEQ_BLOCK_ENCODE) { in stream_encoder_update()
259 ret = coder->block_encoder.update( in stream_encoder_update()
260 coder->block_encoder.coder, allocator, in stream_encoder_update()
272 lzma_filters_free(coder->filters, allocator); in stream_encoder_update()
275 memcpy(coder->filters, temp, sizeof(temp)); in stream_encoder_update()
294 lzma_stream_coder *coder = next->coder; in stream_encoder_init() local
296 if (coder == NULL) { in stream_encoder_init()
297 coder = lzma_alloc(sizeof(lzma_stream_coder), allocator); in stream_encoder_init()
298 if (coder == NULL) in stream_encoder_init()
301 next->coder = coder; in stream_encoder_init()
306 coder->filters[0].id = LZMA_VLI_UNKNOWN; in stream_encoder_init()
307 coder->block_encoder = LZMA_NEXT_CODER_INIT; in stream_encoder_init()
308 coder->index_encoder = LZMA_NEXT_CODER_INIT; in stream_encoder_init()
309 coder->index = NULL; in stream_encoder_init()
313 coder->sequence = SEQ_STREAM_HEADER; in stream_encoder_init()
314 coder->block_options.version = 0; in stream_encoder_init()
315 coder->block_options.check = check; in stream_encoder_init()
318 lzma_index_end(coder->index, allocator); in stream_encoder_init()
319 coder->index = lzma_index_init(allocator); in stream_encoder_init()
320 if (coder->index == NULL) in stream_encoder_init()
329 &stream_flags, coder->buffer)); in stream_encoder_init()
331 coder->buffer_pos = 0; in stream_encoder_init()
332 coder->buffer_size = LZMA_STREAM_HEADER_SIZE; in stream_encoder_init()
337 return stream_encoder_update(coder, allocator, filters, NULL); in stream_encoder_init()