Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Utilities/cmliblzma/liblzma/lzma/lzma2_encoder.h
3156 views
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
44