summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2014-09-14 21:02:41 +0300
committerLasse Collin <lasse.collin@tukaani.org>2014-09-14 21:02:41 +0300
commit642f856bb8562ab66704b1e01ac7bc08b6d0a663 (patch)
treed055f7f0eaf7dd384b3593076129827ea0d50e0f /TODO
parent6b5e3b9eff5b8cedb2aac5f524d4d60fc8a48124 (diff)
downloadxz-642f856bb8562ab66704b1e01ac7bc08b6d0a663.tar.gz
Update TODO.
Diffstat (limited to 'TODO')
-rw-r--r--TODO38
1 files changed, 34 insertions, 4 deletions
diff --git a/TODO b/TODO
index 7680b7a..45ba433 100644
--- a/TODO
+++ b/TODO
@@ -36,6 +36,15 @@ Known bugs
Missing features
----------------
+ Add support for storing metadata in .xz files. A preliminary
+ idea is to create a new Stream type for metadata. When both
+ metadata and data are wanted in the same .xz file, two or more
+ Streams would be concatenated.
+
+ The state stored in lzma_stream should be cloneable, which would
+ be mostly useful when using a preset dictionary in LZMA2, but
+ it may have other uses too. Compare to deflateCopy() in zlib.
+
Support LZMA_FINISH in raw decoder to indicate end of LZMA1 and
other streams that don't have an end of payload marker.
@@ -68,14 +77,35 @@ Missing features
This is tricky, because the same error codes are used with
slightly different meanings, and this cannot be fixed anymore.
+ Make it possible to adjust LZMA2 options in the middle of a Block
+ so that the encoding speed vs. compression ratio can be optimized
+ when the compressed data is streamed over network.
+
+ Improved BCJ filters. The current filters are small but they aren't
+ so great when compressing binary packages that contain various file
+ types. Specifically, they make things worse if there are static
+ libraries or Linux kernel modules. The filtering could also be
+ more effective (without getting overly complex), for example,
+ streamable variant BCJ2 from 7-Zip could be implemented.
+
+ Filter that autodetects specific data types in the input stream
+ and applies appropriate filters for the corrects parts of the input.
+ Perhaps combine this with the BCJ filter improvement point above.
+
+ Long-range LZ77 method as a separate filter or as a new LZMA2
+ match finder.
+
Documentation
-------------
- Some tutorial is needed for liblzma. I have planned to write some
- extremely well commented example programs, which would work as
- a tutorial. I suppose the Doxygen tags are quite OK as a quick
- reference once one is familiar with the liblzma API.
+ More tutorial programs are needed for liblzma.
Document the LZMA1 and LZMA2 algorithms.
+
+Miscellaneous
+------------
+
+ Try to get the media type for .xz registered at IANA.
+