1*3b35e7eeSXin LI // SPDX-License-Identifier: 0BSD 2*3b35e7eeSXin LI 381ad8388SMartin Matuska /////////////////////////////////////////////////////////////////////////////// 481ad8388SMartin Matuska // 581ad8388SMartin Matuska /// \file lzma2_encoder.h 681ad8388SMartin Matuska /// \brief LZMA2 encoder 781ad8388SMartin Matuska /// 881ad8388SMartin Matuska // Authors: Igor Pavlov 981ad8388SMartin Matuska // Lasse Collin 1081ad8388SMartin Matuska // 1181ad8388SMartin Matuska /////////////////////////////////////////////////////////////////////////////// 1281ad8388SMartin Matuska 1381ad8388SMartin Matuska #ifndef LZMA_LZMA2_ENCODER_H 1481ad8388SMartin Matuska #define LZMA_LZMA2_ENCODER_H 1581ad8388SMartin Matuska 1681ad8388SMartin Matuska #include "common.h" 1781ad8388SMartin Matuska 1881ad8388SMartin Matuska 1981ad8388SMartin Matuska /// Maximum number of bytes of actual data per chunk (no headers) 2081ad8388SMartin Matuska #define LZMA2_CHUNK_MAX (UINT32_C(1) << 16) 2181ad8388SMartin Matuska 2281ad8388SMartin Matuska /// Maximum uncompressed size of LZMA chunk (no headers) 2381ad8388SMartin Matuska #define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21) 2481ad8388SMartin Matuska 2581ad8388SMartin Matuska /// Maximum size of LZMA2 headers 2681ad8388SMartin Matuska #define LZMA2_HEADER_MAX 6 2781ad8388SMartin Matuska 2881ad8388SMartin Matuska /// Size of a header for uncompressed chunk 2981ad8388SMartin Matuska #define LZMA2_HEADER_UNCOMPRESSED 3 3081ad8388SMartin Matuska 3181ad8388SMartin Matuska 3281ad8388SMartin Matuska extern lzma_ret lzma_lzma2_encoder_init( 3353200025SRui Paulo lzma_next_coder *next, const lzma_allocator *allocator, 3481ad8388SMartin Matuska const lzma_filter_info *filters); 3581ad8388SMartin Matuska 3681ad8388SMartin Matuska extern uint64_t lzma_lzma2_encoder_memusage(const void *options); 3781ad8388SMartin Matuska 3881ad8388SMartin Matuska extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out); 3981ad8388SMartin Matuska 4053200025SRui Paulo extern uint64_t lzma_lzma2_block_size(const void *options); 4153200025SRui Paulo 4281ad8388SMartin Matuska #endif 43