Return error code if output buffer is full in aec_buffer_encode().
[platform/upstream/libaec.git] / src / szlib.h
1 #ifndef SZLIB_H
2 #define SZLIB_H 1
3
4 #include "libaec.h"
5
6 #define SZ_ALLOW_K13_OPTION_MASK         1
7 #define SZ_CHIP_OPTION_MASK              2
8 #define SZ_EC_OPTION_MASK                4
9 #define SZ_LSB_OPTION_MASK               8
10 #define SZ_MSB_OPTION_MASK              16
11 #define SZ_NN_OPTION_MASK               32
12 #define SZ_RAW_OPTION_MASK             128
13
14 #define SZ_OK AEC_OK
15 #define SZ_NO_ENCODER_ERROR -1
16 #define SZ_PARAM_ERROR AEC_CONF_ERROR
17 #define SZ_MEM_ERROR AEC_MEM_ERROR
18 #define SZ_OUTBUFF_FULL AEC_STREAM_ERROR
19
20 #define SZ_MAX_PIXELS_PER_BLOCK 32
21 #define SZ_MAX_BLOCKS_PER_SCANLINE 128
22 #define SZ_MAX_PIXELS_PER_SCANLINE                              \
23     (SZ_MAX_BLOCKS_PER_SCANLINE) * (SZ_MAX_PIXELS_PER_BLOCK)
24
25 typedef struct SZ_com_t_s
26 {
27     int options_mask;
28     int bits_per_pixel;
29     int pixels_per_block;
30     int pixels_per_scanline;
31 } SZ_com_t;
32
33 AEC_SCOPE int SZ_BufftoBuffCompress(void *dest, size_t *destLen,
34                           const void *source, size_t sourceLen,
35                           SZ_com_t *param);
36 AEC_SCOPE int SZ_BufftoBuffDecompress(void *dest, size_t *destLen,
37                             const void *source, size_t sourceLen,
38                             SZ_com_t *param);
39
40 AEC_SCOPE int SZ_encoder_enabled(void);
41
42 #endif /* SZLIB_H */