30 #define OUTBUF_PADDED 1
32 #define INBUF_PADDED 1
53 #define GETB(c) (*(c).in++)
55 #define GETB(c) get_byte(&(c))
83 if (cnt > c->
in_end - src) {
91 #if defined(INBUF_PADDED) && defined(OUTBUF_PADDED)
98 memcpy(dst, src, cnt);
131 if (*outlen <= 0 || *inlen <= 0) {
158 back = (
GETB(c) << 3) + ((x >> 2) & 7) + 1;
162 back = (
GETB(c) << 6) + (x >> 2) + 1;
165 back = (1 << 14) + ((x & 8) << 11);
167 back += (
GETB(c) << 6) + (x >> 2);
168 if (back == (1 << 14)) {
181 back = (1 << 11) + (
GETB(c) << 2) + (x >> 2) + 1;
184 back = (
GETB(c) << 2) + (x >> 2) + 1;
201 #include <lzo/lzo1x.h>
203 #define MAXSZ (10*1024*1024)
207 #define BENCHMARK_LIBLZO_SAFE 0
208 #define BENCHMARK_LIBLZO_UNSAFE 0
210 int main(
int argc,
char *argv[]) {
211 FILE *in = fopen(argv[1],
"rb");
215 size_t s = fread(orig, 1, MAXSZ, in);
217 long tmp[LZO1X_MEM_COMPRESS];
221 lzo1x_999_compress(orig, s, comp, &clen, tmp);
222 for (i = 0; i < 300; i++) {
224 inlen = clen; outlen = MAXSZ;
225 #if BENCHMARK_LIBLZO_SAFE
226 if (lzo1x_decompress_safe(comp, inlen, decomp, &outlen,
NULL))
227 #elif BENCHMARK_LIBLZO_UNSAFE
228 if (lzo1x_decompress(comp, inlen, decomp, &outlen,
NULL))
235 if (memcmp(orig, decomp, s))