Merge pull request #4852 from FernetMenta/aefixes
[vuplus_xbmc] / lib / UnrarXLib / compress.hpp
1 #ifndef _RAR_COMPRESS_
2 #define _RAR_COMPRESS_
3
4 class ComprDataIO;
5 class PackingFileTable;
6
7 #define CODEBUFSIZE     0x4000
8 #define MAXWINMEMSIZE      0x40000 // 256k buffer for memory reading
9 #define MAXWINSIZE      0x400000 
10 #define MAXWINMASK      (MAXWINSIZE-1)
11
12 #define LOW_DIST_REP_COUNT 16
13
14 #define NC 299  /* alphabet = {0, 1, 2, ..., NC - 1} */
15 #define DC  60
16 #define LDC 17
17 #define RC  28
18 #define HUFF_TABLE_SIZE (NC+DC+RC+LDC)
19 #define BC  20
20
21 #define NC20 298  /* alphabet = {0, 1, 2, ..., NC - 1} */
22 #define DC20 48
23 #define RC20 28
24 #define BC20 19
25 #define MC20 257
26
27 enum {CODE_HUFFMAN,CODE_LZ,CODE_LZ2,CODE_REPEATLZ,CODE_CACHELZ,
28       CODE_STARTFILE,CODE_ENDFILE,CODE_VM,CODE_VMDATA};
29
30
31 enum FilterType {
32   FILTER_NONE, FILTER_PPM /*dummy*/, FILTER_E8, FILTER_E8E9,
33   FILTER_UPCASETOLOW, FILTER_AUDIO, FILTER_RGB,  FILTER_DELTA,
34   FILTER_ITANIUM, FILTER_E8E9V2
35 };
36
37 #endif