167754Smsmith/////////////////////////////////////////////////////////////////////////////// 267754Smsmith// 377424Smsmith/// \file lzma2_encoder.h 4100966Siwasaki/// \brief LZMA2 encoder 567754Smsmith/// 667754Smsmith// Authors: Igor Pavlov 767754Smsmith// Lasse Collin 867754Smsmith// 967754Smsmith// This file has been put into the public domain. 1067754Smsmith// You can do whatever you want with this file. 1167754Smsmith// 1291116Smsmith/////////////////////////////////////////////////////////////////////////////// 1370243Smsmith 1467754Smsmith#ifndef LZMA_LZMA2_ENCODER_H 1567754Smsmith#define LZMA_LZMA2_ENCODER_H 1667754Smsmith 1767754Smsmith#include "common.h" 1867754Smsmith 1967754Smsmith 2067754Smsmith/// Maximum number of bytes of actual data per chunk (no headers) 2167754Smsmith#define LZMA2_CHUNK_MAX (UINT32_C(1) << 16) 2267754Smsmith 2367754Smsmith/// Maximum uncompressed size of LZMA chunk (no headers) 2467754Smsmith#define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21) 2567754Smsmith 2667754Smsmith/// Maximum size of LZMA2 headers 2767754Smsmith#define LZMA2_HEADER_MAX 6 2867754Smsmith 2967754Smsmith/// Size of a header for uncompressed chunk 3067754Smsmith#define LZMA2_HEADER_UNCOMPRESSED 3 3167754Smsmith 3267754Smsmith 3367754Smsmithextern lzma_ret lzma_lzma2_encoder_init( 3467754Smsmith lzma_next_coder *next, const lzma_allocator *allocator, 3567754Smsmith const lzma_filter_info *filters); 3667754Smsmith 3767754Smsmithextern uint64_t lzma_lzma2_encoder_memusage(const void *options); 3867754Smsmith 3967754Smsmithextern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out); 4067754Smsmith 4167754Smsmithextern uint64_t lzma_lzma2_block_size(const void *options); 4267754Smsmith 4367754Smsmith#endif 4467754Smsmith