libsquashfs 1.3.0
A new set of tools and libraries for working with SquashFS images
|
Configuration parameters for instantiating a compressor backend. More...
#include <compressor.h>
Data Fields | |
sqfs_u16 | id |
An SQFS_COMPRESSOR identifier. | |
sqfs_u16 | flags |
A combination of SQFS_COMP_FLAG flags. | |
sqfs_u32 | block_size |
The intended data block size. | |
sqfs_u32 | level |
Compression level. | |
union { | |
struct { | |
sqfs_u16 window_size | |
Deflate window size. Value between 8 and 15. More... | |
sqfs_u8 padd0 [14] | |
} gzip | |
Options for the zlib compressor. | |
struct { | |
sqfs_u16 algorithm | |
Which variant of lzo should be used. More... | |
sqfs_u8 padd0 [14] | |
} lzo | |
Options for the lzo compressor. | |
struct { | |
sqfs_u32 dict_size | |
LZMA dictionary size. More... | |
sqfs_u8 lc | |
Number of literal context bits. More... | |
sqfs_u8 lp | |
Number of literal position bits. More... | |
sqfs_u8 pb | |
Number of position bits. More... | |
sqfs_u8 padd0 [9] | |
} xz | |
Options for the LZMA and XZ (LZMA v2) compressors. | |
struct { | |
sqfs_u32 dict_size | |
LZMA dictionary size. More... | |
sqfs_u8 lc | |
Number of literal context bits. More... | |
sqfs_u8 lp | |
Number of literal position bits. More... | |
sqfs_u8 pb | |
Number of position bits. More... | |
sqfs_u8 padd0 [9] | |
} lzma | |
sqfs_u64 padd0 [2] | |
} | opt |
Backend specific options for fine tuing. | |
Configuration parameters for instantiating a compressor backend.
The unused fields MUST be set to 0. The easiest way to do this is by always clearing the struct using memset before setting anything, or using sqfs_compressor_config_init to set defaults and then modify the struct from there.
Definition at line 106 of file compressor.h.
sqfs_u16 algorithm |
Which variant of lzo should be used.
An SQFS_LZO_ALGORITHM value. Default is SQFS_LZO1X_999, i.e. best compression.
Definition at line 157 of file compressor.h.
sqfs_u32 block_size |
The intended data block size.
Definition at line 120 of file compressor.h.
sqfs_u32 dict_size |
LZMA dictionary size.
This value must either be a power of two or the sum of two consecutive powers of two.
Default is setting this to the same as the block size.
Definition at line 175 of file compressor.h.
sqfs_u16 flags |
A combination of SQFS_COMP_FLAG flags.
Definition at line 115 of file compressor.h.
sqfs_u16 id |
An SQFS_COMPRESSOR identifier.
Definition at line 110 of file compressor.h.
sqfs_u8 lc |
Number of literal context bits.
How many of the highest bits of the previous uncompressed byte to take into account when predicting the bits of the next byte.
The sum lc + lp must be at MOST 4. Default value of lc is 3.
Definition at line 187 of file compressor.h.
sqfs_u32 level |
Compression level.
Valid range and default value depend on the selected compressor.
Definition at line 127 of file compressor.h.
sqfs_u8 lp |
Number of literal position bits.
lp affects what kind of alignment in the uncompressed data is assumed when encoding bytes. See pb below for more information about alignment.
The sum lc + lp must be at MOST 4. Default value of lp is 0.
Definition at line 199 of file compressor.h.
sqfs_u8 padd0[9] |
Definition at line 144 of file compressor.h.
sqfs_u64 padd0[2] |
Definition at line 218 of file compressor.h.
sqfs_u8 pb |
Number of position bits.
This is the log2 of the assumed underlying alignment of the input data, i.e. pb=0 means single byte allignment, pb=1 means 16 bit, 2 means 32 bit.
When the alignment is known, setting pb may reduce the file size.
The default value is 2, i.e. 32 bit alignment.
Definition at line 213 of file compressor.h.
sqfs_u16 window_size |
Deflate window size. Value between 8 and 15.
Default is 15, i.e. 32k window.
Definition at line 142 of file compressor.h.