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