7 #define OPTIONS_MASK (SZ_RAW_OPTION_MASK \
10 #define PIXELS_PER_BLOCK (8)
11 #define PIXELS_PER_SCANLINE (PIXELS_PER_BLOCK*128)
13 int main(int argc, char *argv[])
17 unsigned char *source, *dest, *dest1;
18 size_t destLen, dest1Len, sourceLen;
23 fprintf(stderr, "Usage: %s buffer_size file\n", argv[0]);
26 sz_param.options_mask = OPTIONS_MASK;
27 sz_param.bits_per_pixel = 64;
28 sz_param.pixels_per_block = PIXELS_PER_BLOCK;
29 sz_param.pixels_per_scanline = PIXELS_PER_SCANLINE;
31 sourceLen = destLen = atoi(argv[1]);
33 source = (unsigned char *)malloc(sourceLen);
34 dest = (unsigned char *)malloc(destLen);
35 dest1 = (unsigned char *)malloc(destLen);
37 if (source == NULL || dest == NULL || dest1 == NULL)
40 if ((fp = fopen(argv[2], "r")) == NULL)
42 fprintf(stderr, "Can't open %s\n", argv[2]);
46 sourceLen = fread(source, 1, sourceLen, fp);
48 status = SZ_BufftoBuffCompress(dest, &destLen,
49 source, sourceLen, &sz_param);
54 status = SZ_BufftoBuffDecompress(dest1, &dest1Len,
55 dest, destLen, &sz_param);
59 if (memcmp(source, dest1, sourceLen) != 0)
60 fprintf(stderr, "File %s Buffers differ\n", argv[2]);