History log of /external/squashfs-tools/squashfs-tools/lzo_wrapper.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5ed0ed962e9934788659d873d143ed58bebd2953 05-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: Use SQUASHFS_LZO1X_999_COMP_DEFAULT rather than hard-coded const

In lzo_usage() where the default compression level for
LZO1X_999 compressed streams is printed, use
SQUASHFS_LZO1X_999_COMP_DEFAULT rather than the hard-coded constant.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
a01d8885f157e25460f008f83a2ee70190cd4eec 04-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: Rename compression_option to compression-option

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
fef58aa5cf2def1a15b6cf7d4040ad142d5b9e34 03-Jan-2014 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: Rename -Xlzo_algo option to -Xalgorithm

The compression specific options are directed to the
appropriate compressor using the -comp option, so the
lzo part of lzo_algorithm is unnecessary and redundant.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
c755a2126482a6f86dcaff5c7ff3acfff9fe85ff 31-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper.c: fix URL

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
c4669254c4fc393eb34511e617d171f026fe4256 30-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper.c: improve -Xcompression_level error message

If the compression level is missing then display the compression
levels accepted.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
b47a6e76933a83a3a43a900a6396648c097ac3fa 30-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper.c: improve -Xlzo_algo error messages

The lzo algorithms are quite easy to misspell, so when the
alogorthm is unrecognised, or is missing, display the list of
algorithms accepted.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
8cf8426046986e0f86e90187576399ee1f44c195 30-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper.c: fix missing tab in compression options display

Unsquashfs -stat dumps the algorithm selected using the
compression options display function. If the compression
algorithm was not lzo1x_999, then the algorithm line was
incorrectly displayed without a leading tab.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
2f4c66d83ae496fe6ce91da34aa1f09471c4cf1d 30-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper.c: fix missing space in ERROR message

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
e450e8c73bdaf5ca4a7bccab3e7f9c55a7d21e94 28-Dec-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: new implementation

Add a new LZO implementation which supports multiple LZO
compression algorithms, with the addition of compressor
command line options to select which algorithm is used,
together with all the other bits which need to be added to
support the "compression option" framework.

Two new compressor options have been added:

1. -Xlzo_algo <algorithm>

Select LZO compression algorithm <algorithm>

Five LZO compression algorithms are now supported, these
algorithms are the ones supported by the kernel.

lzo1x_1
lzo1x_1_11
lzo1x_1_12
lzo1x_1_15
lzo1x_999

If no compression algorithm is specified, then default to
"lzo1x_999" which is the algorithm used by the previous LZO
implementation.

lzo1x_1 is faster than lzo1x_999, but it gives worse compression,
the lzo1x_1_xx algorithms are variants of lzo1x_1 with differing
memory requirements (at compress time), and varying compression levels.

2. -Xcompression_level <compression level>

Select compression level for the lzo1x_999 algorithm, this can
be between 1 and 9 (1 <= n <= 9).

If no compression level is specified, then default to 8, which
is the compression level used by the previous LZO implementation.

Note, -Xcompression_level is only applicable to the lzo1x_999
algorithm, as the other algorithms do not support compression
levels (the lzo1x_1_xx algorithms are in effect different
compression levels on the basic lzo1x_1 algorithm).

As mentioned above, if no -X compression options are used,
the new code defaults to the compression used by the original
LZO code.

Additionally, the new code now calls lzo1x_optimize() which
should be called to optimise the LZO compressed data after
compression.

Generally speaking, without -X compression options, the behaviour
should be the same as the original implementation. If you wish
better compression, then you can bump the compression level up to 9.
If you wish quicker compression, then use one of the lzo1x_1
algorithms, or use a compression level less than 8 with the
lzo1x_999 algorithm.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
2b77610f636a91dcd4ee15212d7f5b09e50b84c0 27-Aug-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: Remove current implementation!

There has been numerous complaints against the LZO implementation,
namely that it takes longer to compress than GZIP, but produces
worse compression. As such for mksquashfs, it makes no sense
to use LZO compression to reduce build time when producing
experimental images.

The latest "complaint" is:
http://sourceforge.net/p/squashfs/support-requests/3

I produced an implementation of LZ4 for Squashfs, which as LZ4
is extremely fast at compression, I intended this to be used
as an extremely fast build time option for building experimental
images. But, I have received unexpected resistance to adding
LZ4 support to Squashfs in the kernel, and so it's basically
back to the drawing board.

I have decided to re-write the LZO implementation, adding
support for different LZO compression algorithms, with the
addition of compressor command line options to select which
algorithm is used, together with all the other bits which
need to be added to support the "compression option" framework.

Note the original implementators of the LZO support can't be blamed for
not adding this support, because the "compression options" framework
didn't exist when the implementation was made!

The current LZO wrapper has an implemention for the lzo1x_999_compress
algorithm, this has to be completely rewritten to deal gracefully with the
ability to deal with multiple compression algorithms (a table of the
different compressors, and function pointers to the appropriate
function), and so the current implementation is not salvageable.

The LZ4 implementation incorporates the necessary support for the
compression options framework, and this code can be reused in the new
LZO wrapper, recouping some of the "wasted" effort in its implementation.

So, on the one-hand the current LZO implementation lacks salvageable code, and
on the other hand, the LZ4 implementation incorporates a compression
options framework which can be reused in the new LZO wrapper.

So, it makes sense to remove the current implementation, and base the
new implementation on the LZ4 wrapper.

Signed-off-by: Phillip Lougher <phillip@squashfs.rg.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
bf5780556725dd45c01a66dc58d164c9b5605525 22-Jun-2013 Phillip Lougher <phillip@squashfs.org.uk> lzo_wrapper: only set *error if an error occurs in lzo_uncompress()

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
8a4692825eb1840d52f2f921e40346d0f8c7e702 23-Jan-2013 Phillip Lougher <phillip@squashfs.org.uk> codec_wrappers: rename block_size in uncompress() to outsize

Rename block_size parameter in uncompress() call to outsize, as it
now holds the size of the output buffer, which can be less than
block_size.

Also in the wrappers where the uncompressed length is available
in the header, don't bother calling the codec if outsize is too
small.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
83d42a3fc898962aa1f1e8387f2ccb1114e0d294 01-Nov-2012 Phillip Lougher <phillip@squashfs.org.uk> Update email address

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
79e15070d59f3a1af501213965b13a8d6eb5c1fc 08-Dec-2010 plougher <plougher> NULL usage() function
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
af7587bfceb63a6bd3df41333c5c2121ee036511 24-Nov-2010 plougher <plougher> Add init() function.
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
2b5136104fc18d420bfbb5b2f9fe9cb4da952848 23-Nov-2010 plougher <plougher> Add modification copyright message
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
29a99376b4565f34625e8617f33116312e646b32 23-Nov-2010 plougher <plougher> Src/dest changed to void * from char *
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
aa820d55cd1a8ce6c23c5492ae0d21eb9bd3d60a 23-Nov-2010 plougher <plougher> Move lzo compressor ops to here.
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c
78fc3fecd02354f39e32156f9a4e88a110ccb34e 14-Sep-2010 plougher <plougher> Add LZO compression.

Thanks to Chan Jeong <chan.jeong@lge.com>
/external/squashfs-tools/squashfs-tools/lzo_wrapper.c