# # 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 compresser and may allocate that memory in the most efficient way for the application. #ifndef HLOG # define HLOG 13 #endif 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