62 lines
1.6 KiB
Plaintext
62 lines
1.6 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
config LIBC_LZF
|
|
bool "LZF compression"
|
|
default n
|
|
---help---
|
|
Enable the LZF compression library from Marc Alexander Lehmann
|
|
|
|
if LIBC_LZF
|
|
|
|
choice
|
|
prompt "Compression options"
|
|
default LIBC_LZF_SMALL
|
|
---help---
|
|
Trade-offs between faster and smaller compression. These sections
|
|
have no effect on decompression.
|
|
|
|
config LIBC_LZF_SMALL
|
|
bool "Better compression"
|
|
|
|
config LIBC_LZF_FAST
|
|
bool "Faster compression"
|
|
|
|
config LIBC_LZF_FASTEST
|
|
bool "Fastest compression"
|
|
|
|
endchoice # Compression options
|
|
|
|
config LIBC_LZF_HLOG
|
|
int "Log2 Hash table size"
|
|
default 13
|
|
range 1 22
|
|
---help---
|
|
Size of hashtable is (1 << HLOG) * sizeof (char *). Decompression is
|
|
independent of the hash table size the difference between 15 and 14 is
|
|
very small for small blocks (and 14 is usually a bit faster). For a
|
|
low-memory/faster configuration, use HLOG == 13; For best compression,
|
|
use 15 or 16 (or more, up to 22).
|
|
|
|
Memory usage for the hash table will be approximately:
|
|
|
|
4 * (1 << CONFIG_LIBC_LZF_HLOG)
|
|
|
|
For the default setting of 13, this is 32Kb. A setting of 12 would
|
|
be half that or about 16Kb.
|
|
|
|
The application calling lzf_compress() must provide the hash table to
|
|
the compressor and may allocate that memory in the most efficient way
|
|
for the application. The hash table is not necessary if your application
|
|
only decompresses.
|
|
|
|
config LIBC_LZF_ALIGN
|
|
bool "Strict alignment"
|
|
default y
|
|
---help---
|
|
Unconditionally aligning does not cost very much, so do it if unsure.
|
|
|
|
endif # LIBC_LZF
|