| /////////////////////////////////////////////////////////////////////////////// |
| // |
| /// \file lzma2_encoder.h |
| /// \brief LZMA2 encoder |
| /// |
| // Authors: Igor Pavlov |
| // Lasse Collin |
| // |
| // This file has been put into the public domain. |
| // You can do whatever you want with this file. |
| // |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| #ifndef LZMA_LZMA2_ENCODER_H |
| #define LZMA_LZMA2_ENCODER_H |
| |
| #include "common.h" |
| |
| |
| /// Maximum number of bytes of actual data per chunk (no headers) |
| #define LZMA2_CHUNK_MAX (UINT32_C(1) << 16) |
| |
| /// Maximum uncompressed size of LZMA chunk (no headers) |
| #define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21) |
| |
| /// Maximum size of LZMA2 headers |
| #define LZMA2_HEADER_MAX 6 |
| |
| /// Size of a header for uncompressed chunk |
| #define LZMA2_HEADER_UNCOMPRESSED 3 |
| |
| |
| extern lzma_ret lzma_lzma2_encoder_init( |
| lzma_next_coder *next, const lzma_allocator *allocator, |
| const lzma_filter_info *filters); |
| |
| extern uint64_t lzma_lzma2_encoder_memusage(const void *options); |
| |
| extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out); |
| |
| extern uint64_t lzma_lzma2_block_size(const void *options); |
| |
| #endif |