1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 /// \file lzma2_encoder.h 4 /// \brief LZMA2 encoder 5 /// 6 // Authors: Igor Pavlov 7 // Lasse Collin 8 // 9 // This file has been put into the public domain. 10 // You can do whatever you want with this file. 11 // 12 /////////////////////////////////////////////////////////////////////////////// 13 14 #ifndef LZMA_LZMA2_ENCODER_H 15 #define LZMA_LZMA2_ENCODER_H 16 17 #include "common.h" 18 19 20 /// Maximum number of bytes of actual data per chunk (no headers) 21 #define LZMA2_CHUNK_MAX (UINT32_C(1) << 16) 22 23 /// Maximum uncompressed size of LZMA chunk (no headers) 24 #define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21) 25 26 /// Maximum size of LZMA2 headers 27 #define LZMA2_HEADER_MAX 6 28 29 /// Size of a header for uncompressed chunk 30 #define LZMA2_HEADER_UNCOMPRESSED 3 31 32 33 extern lzma_ret lzma_lzma2_encoder_init( 34 lzma_next_coder *next, const lzma_allocator *allocator, 35 const lzma_filter_info *filters); 36 37 extern uint64_t lzma_lzma2_encoder_memusage(const void *options); 38 39 extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out); 40 41 extern uint64_t lzma_lzma2_block_size(const void *options); 42 43 #endif 44