Home | History | Annotate | Line # | Download | only in lzma
      1 // SPDX-License-Identifier: 0BSD
      2 
      3 ///////////////////////////////////////////////////////////////////////////////
      4 //
      5 /// \file       lzma2_encoder.h
      6 /// \brief      LZMA2 encoder
      7 ///
      8 //  Authors:    Igor Pavlov
      9 //              Lasse Collin
     10 //
     11 ///////////////////////////////////////////////////////////////////////////////
     12 
     13 #ifndef LZMA_LZMA2_ENCODER_H
     14 #define LZMA_LZMA2_ENCODER_H
     15 
     16 #include "common.h"
     17 
     18 
     19 /// Maximum number of bytes of actual data per chunk (no headers)
     20 #define LZMA2_CHUNK_MAX (UINT32_C(1) << 16)
     21 
     22 /// Maximum uncompressed size of LZMA chunk (no headers)
     23 #define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21)
     24 
     25 /// Maximum size of LZMA2 headers
     26 #define LZMA2_HEADER_MAX 6
     27 
     28 /// Size of a header for uncompressed chunk
     29 #define LZMA2_HEADER_UNCOMPRESSED 3
     30 
     31 
     32 extern lzma_ret lzma_lzma2_encoder_init(
     33 		lzma_next_coder *next, const lzma_allocator *allocator,
     34 		const lzma_filter_info *filters);
     35 
     36 extern uint64_t lzma_lzma2_encoder_memusage(const void *options);
     37 
     38 extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out);
     39 
     40 extern uint64_t lzma_lzma2_block_size(const void *options);
     41 
     42 #endif
     43