# # 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