4 int SZ_BufftoBuffCompress(void *dest, size_t *destLen, const void *source, size_t sourceLen, SZ_com_t *param)
9 strm.bit_per_sample = param->bits_per_pixel;
10 strm.block_size = param->pixels_per_block;
11 strm.segment_size = param->pixels_per_scanline / param->pixels_per_block;
12 strm.flags = param->options_mask;
13 strm.avail_in = sourceLen;
14 strm.avail_out = *destLen;
16 strm.next_in = source;
18 if ((status = ae_encode_init(&strm)) != AE_OK)
21 if ((status = ae_encode(&strm, AE_FLUSH)) != AE_OK)
24 *destLen = strm.total_out;
28 int SZ_BufftoBuffDecompress(void *dest, size_t *destLen, const void *source, size_t sourceLen, SZ_com_t *param)
33 strm.bit_per_sample = param->bits_per_pixel;
34 strm.block_size = param->pixels_per_block;
35 strm.segment_size = param->pixels_per_scanline / param->pixels_per_block;
36 strm.flags = param->options_mask;
37 strm.avail_in = sourceLen;
38 strm.avail_out = *destLen;
40 strm.next_in = source;
42 if ((status = ae_decode_init(&strm)) != AE_OK)
45 if ((status = ae_decode(&strm, AE_FLUSH)) != AE_OK)
48 *destLen = strm.total_out;