diff options
author | root <root> | 2007-11-13 11:30:37 +0000 |
---|---|---|
committer | root <root> | 2007-11-13 11:30:37 +0000 |
commit | 110fdc6e441d5e2ef11229486534db0f5e36e87d (patch) | |
tree | 8c204af427594f94210c5a1dbf02aaf35748a63c | |
parent | d73fdbeb9a5b1d65e82c22411d76fc117ad67296 (diff) |
*** empty log message ***
-rw-r--r-- | Changes | 1 | ||||
-rw-r--r-- | lzfP.h | 4 | ||||
-rw-r--r-- | lzf_c.c | 29 |
3 files changed, 17 insertions, 17 deletions
@@ -11,6 +11,7 @@ (amd64 and core 2 duo, ymmv). thanks a lot for the competition :) - undo inline assembly, it is no longer helpful. - no changes to the decompressor. + - use a HLOG of 16 by default now (formerly 15). 2.1 Fri Nov 2 13:34:42 CET 2007 - switched to a 2-clause bsd license with GPL exception. @@ -49,10 +49,10 @@ * 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). + * For best compression, use 15 or 16 (or more, up to 23). */ #ifndef HLOG -# define HLOG 15 +# define HLOG 16 #endif /* @@ -237,32 +237,31 @@ lzf_compress (const void *const in_data, unsigned int in_len, } while (len--); #endif + lit = 0; op++; /* start run */ - continue; } + else + { + /* one more literal byte we must copy */ + if (expect_false (op >= out_end)) + return 0; - /* one more literal byte we must copy */ - - if (expect_false (op >= out_end)) - return 0; - - lit++; - *op++ = *ip++; + lit++; *op++ = *ip++; - if (expect_false (lit == MAX_LIT)) - { - op [- lit - 1] = lit - 1; /* stop run */ - lit = 0; op++; /* start run */ + if (expect_false (lit == MAX_LIT)) + { + op [- lit - 1] = lit - 1; /* stop run */ + lit = 0; op++; /* start run */ + } } } - if (op + 2 >= out_end) + if (op + 2 > out_end) /* at most 2 bytes can be missing here */ return 0; while (ip < in_end) { - lit++; - *op++ = *ip++; + lit++; *op++ = *ip++; } op [- lit - 1] = lit - 1; /* end run */ |