81 Todo
Yann Collet edited this page 2019-10-17 14:45:14 -07:00
  • lz4io : check for write error on close (/dev/full)
  • Move default block mode to 64 KB linked blocks
    • definitely future (v2?), as it would break 3rd party implementations which only support independent blocks.
  • replace ERROR_GENERIC with more specific error messages within lz4frame
  • implement error codes within lz4.c
    • similar to lz4f or zstd
    • but seems very hard without breaking API. Might be a future (v2?) topic
  • remove or reduce parsing restrictions in LZ4 decoder
    • but not in LZ4 encoder yet
  • Add cygwin test on Appveyor
  • add simple "one-pass" lz4frame decoder
  • Fullbench : should work "out of the box", using synthetic data (datagen)
    • with configurable generated size

Research

  • universal U16
  • lz4 hc : special mode, to use less memory;
    • especially for external dictionary mode
    • end dictionary on 64KB border
  • lz4frame decompression context : parameter to limit max possible memory ?
  • Consider intermediate compression mode, like Carlo Medas 4mc
  • Multi-threaded compression (lz4io) ?

Unlikely

  • More efficient FCS content size format => 1 & 2 bytes
    • breaks format
    • start by enabling decoder, then a few versions later, the encoder as it is supposed to be triggered automatically