diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-11-19 11:37:51 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-12-05 01:30:23 +0100 |
commit | 20dde48bcadd856c86a91d5463831a10be46db83 (patch) | |
tree | 0fd8ab398d563f05aa1eec30fae6e4493af91928 /include | |
parent | 3eb90bad651fab39cffba750ec4421a9c01d60e7 (diff) | |
download | u-boot-imx-20dde48bcadd856c86a91d5463831a10be46db83.zip u-boot-imx-20dde48bcadd856c86a91d5463831a10be46db83.tar.gz u-boot-imx-20dde48bcadd856c86a91d5463831a10be46db83.tar.bz2 |
add lzop decompression support
Add lzop decompression support to the existing lzo bitstream handling
(think gzip versus zlib), and support it for uImage decompression if
CONFIG_LZO is enabled.
Lzop doesn't compress as good as gzip (~10% worse), but decompression
is very fast (~0.7s faster here on a slow ppc). The lzop decompression
code is based on Albin Tonnerre's recent ARM Linux lzo support patch.
Cc: albin.tonnerre@free-electrons.com
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'include')
-rw-r--r-- | include/image.h | 1 | ||||
-rw-r--r-- | include/linux/lzo.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/image.h b/include/image.h index 5a424e6..cc38eae 100644 --- a/include/image.h +++ b/include/image.h @@ -164,6 +164,7 @@ #define IH_COMP_GZIP 1 /* gzip Compression Used */ #define IH_COMP_BZIP2 2 /* bzip2 Compression Used */ #define IH_COMP_LZMA 3 /* lzma Compression Used */ +#define IH_COMP_LZO 4 /* lzo Compression Used */ #define IH_MAGIC 0x27051956 /* Image Magic Number */ #define IH_NMLEN 32 /* Image Name Length */ diff --git a/include/linux/lzo.h b/include/linux/lzo.h index d793497..88687fa 100644 --- a/include/linux/lzo.h +++ b/include/linux/lzo.h @@ -27,6 +27,10 @@ int lzo1x_1_compress(const unsigned char *src, size_t src_len, int lzo1x_decompress_safe(const unsigned char *src, size_t src_len, unsigned char *dst, size_t *dst_len); +/* decompress lzop format */ +int lzop_decompress(const unsigned char *src, size_t src_len, + unsigned char *dst, size_t *dst_len); + /* * Return values (< 0 = Error) */ |