175 lines
11 KiB
C
175 lines
11 KiB
C
|
#ifdef DECLARE_DATA
|
||
|
const BYTE g_FastEncoderLiteralTreeLength[] = {
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0c,0x06,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0d,0x0e,
|
||
|
0x06,0x0e,0x0a,0x0c,0x0e,0x0e,0x0d,0x0a,0x08,0x09,0x0b,0x0a,0x07,0x08,0x07,0x09,
|
||
|
0x08,0x08,0x08,0x09,0x08,0x09,0x0a,0x09,0x08,0x09,0x09,0x08,0x09,0x0a,0x08,0x0e,
|
||
|
0x0e,0x08,0x09,0x08,0x09,0x08,0x09,0x0a,0x0b,0x08,0x0b,0x0e,0x09,0x0a,0x09,0x0a,
|
||
|
0x09,0x0c,0x09,0x09,0x09,0x0a,0x0c,0x0b,0x0e,0x0e,0x0c,0x0b,0x0e,0x0b,0x0e,0x0e,
|
||
|
0x0e,0x06,0x07,0x07,0x07,0x06,0x08,0x08,0x07,0x06,0x0c,0x09,0x06,0x07,0x07,0x06,
|
||
|
0x07,0x0d,0x06,0x06,0x06,0x07,0x08,0x08,0x09,0x08,0x0b,0x0d,0x0c,0x0d,0x0d,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x0e,0x0e,0x0d,0x0d,0x0d,0x0e,0x0d,0x0e,0x0d,0x0e,0x0d,0x0e,0x0e,0x0e,0x0e,
|
||
|
0x0e,0x04,0x03,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x05,0x06,0x06,0x05,0x06,0x07,
|
||
|
0x08,0x08,0x09,0x0a,0x09,0x0a,0x0c,0x0b,0x0c,0x0e,0x0e,0x0e,0x0c,0x0b,
|
||
|
};
|
||
|
const USHORT g_FastEncoderLiteralTreeCode[] = {
|
||
|
0x06bf,0x26bf,0x16bf,0x36bf,0x0ebf,0x2ebf,0x1ebf,0x3ebf,
|
||
|
0x01bf,0x063f,0x0009,0x21bf,0x11bf,0x31bf,0x09bf,0x29bf,
|
||
|
0x19bf,0x39bf,0x05bf,0x25bf,0x15bf,0x35bf,0x0dbf,0x2dbf,
|
||
|
0x1dbf,0x3dbf,0x03bf,0x23bf,0x13bf,0x33bf,0x00bf,0x0bbf,
|
||
|
0x0029,0x2bbf,0x011f,0x0e3f,0x1bbf,0x3bbf,0x10bf,0x031f,
|
||
|
0x005b,0x0077,0x02df,0x009f,0x0023,0x00db,0x0063,0x0177,
|
||
|
0x003b,0x00bb,0x007b,0x00f7,0x00fb,0x01f7,0x029f,0x000f,
|
||
|
0x0007,0x010f,0x008f,0x0087,0x018f,0x019f,0x0047,0x07bf,
|
||
|
0x27bf,0x00c7,0x004f,0x0027,0x014f,0x00a7,0x00cf,0x039f,
|
||
|
0x06df,0x0067,0x01df,0x17bf,0x01cf,0x005f,0x002f,0x025f,
|
||
|
0x012f,0x013f,0x00af,0x01af,0x006f,0x015f,0x093f,0x05df,
|
||
|
0x37bf,0x0fbf,0x053f,0x03df,0x2fbf,0x07df,0x1fbf,0x3fbf,
|
||
|
0x007f,0x0019,0x0013,0x0053,0x0033,0x0039,0x00e7,0x0017,
|
||
|
0x0073,0x0005,0x0d3f,0x016f,0x0025,0x000b,0x004b,0x0015,
|
||
|
0x002b,0x08bf,0x0035,0x000d,0x002d,0x006b,0x0097,0x0057,
|
||
|
0x00ef,0x00d7,0x003f,0x18bf,0x033f,0x04bf,0x14bf,0x207f,
|
||
|
0x107f,0x307f,0x087f,0x287f,0x187f,0x387f,0x047f,0x247f,
|
||
|
0x147f,0x347f,0x0c7f,0x2c7f,0x1c7f,0x3c7f,0x027f,0x227f,
|
||
|
0x127f,0x327f,0x0a7f,0x2a7f,0x1a7f,0x3a7f,0x067f,0x267f,
|
||
|
0x167f,0x367f,0x0e7f,0x2e7f,0x1e7f,0x3e7f,0x017f,0x217f,
|
||
|
0x117f,0x317f,0x097f,0x297f,0x197f,0x397f,0x057f,0x257f,
|
||
|
0x157f,0x357f,0x0d7f,0x2d7f,0x1d7f,0x3d7f,0x037f,0x237f,
|
||
|
0x137f,0x337f,0x0b7f,0x2b7f,0x1b7f,0x3b7f,0x077f,0x277f,
|
||
|
0x177f,0x377f,0x0f7f,0x2f7f,0x1f7f,0x3f7f,0x00ff,0x20ff,
|
||
|
0x10ff,0x30ff,0x08ff,0x28ff,0x18ff,0x38ff,0x04ff,0x24ff,
|
||
|
0x14ff,0x34ff,0x0cff,0x2cff,0x1cff,0x3cff,0x02ff,0x22ff,
|
||
|
0x12ff,0x32ff,0x0aff,0x2aff,0x1aff,0x3aff,0x06ff,0x26ff,
|
||
|
0x16ff,0x36ff,0x0eff,0x2eff,0x1eff,0x3eff,0x01ff,0x21ff,
|
||
|
0x11ff,0x31ff,0x09ff,0x29ff,0x19ff,0x39ff,0x05ff,0x25ff,
|
||
|
0x15ff,0x35ff,0x0dff,0x2dff,0x1dff,0x3dff,0x03ff,0x23ff,
|
||
|
0x13ff,0x33ff,0x0bff,0x0cbf,0x1cbf,0x02bf,0x2bff,0x12bf,
|
||
|
0x1bff,0x0abf,0x3bff,0x1abf,0x07ff,0x27ff,0x17ff,0x37ff,
|
||
|
0x0fff,0x0004,0x0000,0x000c,0x0002,0x000a,0x0006,0x0016,
|
||
|
0x000e,0x001e,0x0001,0x001d,0x003d,0x0011,0x0003,0x001b,
|
||
|
0x0037,0x00b7,0x01ef,0x035f,0x001f,0x00df,0x0b3f,0x043f,
|
||
|
0x073f,0x2fff,0x1fff,0x3fff,0x0f3f,0x023f,
|
||
|
};
|
||
|
#else /* !DECLARE_DATA */
|
||
|
extern const BYTE g_FastEncoderLiteralTreeLength[];
|
||
|
extern const USHORT g_FastEncoderLiteralTreeCode[];
|
||
|
#endif /* DECLARE_DATA */
|
||
|
#ifdef DECLARE_DATA
|
||
|
const BYTE g_FastEncoderDistanceTreeLength[] = {
|
||
|
0x06,0x0a,0x0b,0x0b,0x09,0x08,0x08,0x08,0x07,0x07,0x05,0x06,0x04,0x05,0x04,0x05,
|
||
|
0x04,0x05,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x04,0x05,0x05,0x05,0x00,0x00,
|
||
|
};
|
||
|
const USHORT g_FastEncoderDistanceTreeCode[] = {
|
||
|
0x000f,0x01ff,0x03ff,0x07ff,0x00ff,0x003f,0x00bf,0x007f,
|
||
|
0x001f,0x005f,0x000d,0x002f,0x0000,0x001d,0x0008,0x0003,
|
||
|
0x0004,0x0013,0x000c,0x0002,0x000a,0x0006,0x000e,0x0001,
|
||
|
0x0009,0x000b,0x0005,0x001b,0x0007,0x0017,0x0000,0x0001,
|
||
|
};
|
||
|
#else /* !DECLARE_DATA */
|
||
|
extern const BYTE g_FastEncoderDistanceTreeLength[];
|
||
|
extern const USHORT g_FastEncoderDistanceTreeCode[];
|
||
|
#endif /* DECLARE_DATA */
|
||
|
|
||
|
|
||
|
|
||
|
#ifdef DECLARE_DATA
|
||
|
const ULONG g_FastEncoderLiteralCodeInfo[] = {
|
||
|
|
||
|
0x0000d7ee,0x0004d7ee,0x0002d7ee,0x0006d7ee,0x0001d7ee,0x0005d7ee,0x0003d7ee,
|
||
|
0x0007d7ee,0x000037ee,0x0000c7ec,0x00000126,0x000437ee,0x000237ee,0x000637ee,
|
||
|
0x000137ee,0x000537ee,0x000337ee,0x000737ee,0x0000b7ee,0x0004b7ee,0x0002b7ee,
|
||
|
0x0006b7ee,0x0001b7ee,0x0005b7ee,0x0003b7ee,0x0007b7ee,0x000077ee,0x000477ee,
|
||
|
0x000277ee,0x000677ee,0x000017ed,0x000177ee,0x00000526,0x000577ee,0x000023ea,
|
||
|
0x0001c7ec,0x000377ee,0x000777ee,0x000217ed,0x000063ea,0x00000b68,0x00000ee9,
|
||
|
0x00005beb,0x000013ea,0x00000467,0x00001b68,0x00000c67,0x00002ee9,0x00000768,
|
||
|
0x00001768,0x00000f68,0x00001ee9,0x00001f68,0x00003ee9,0x000053ea,0x000001e9,
|
||
|
0x000000e8,0x000021e9,0x000011e9,0x000010e8,0x000031e9,0x000033ea,0x000008e8,
|
||
|
0x0000f7ee,0x0004f7ee,0x000018e8,0x000009e9,0x000004e8,0x000029e9,0x000014e8,
|
||
|
0x000019e9,0x000073ea,0x0000dbeb,0x00000ce8,0x00003beb,0x0002f7ee,0x000039e9,
|
||
|
0x00000bea,0x000005e9,0x00004bea,0x000025e9,0x000027ec,0x000015e9,0x000035e9,
|
||
|
0x00000de9,0x00002bea,0x000127ec,0x0000bbeb,0x0006f7ee,0x0001f7ee,0x0000a7ec,
|
||
|
0x00007beb,0x0005f7ee,0x0000fbeb,0x0003f7ee,0x0007f7ee,0x00000fee,0x00000326,
|
||
|
0x00000267,0x00000a67,0x00000667,0x00000726,0x00001ce8,0x000002e8,0x00000e67,
|
||
|
0x000000a6,0x0001a7ec,0x00002de9,0x000004a6,0x00000167,0x00000967,0x000002a6,
|
||
|
0x00000567,0x000117ed,0x000006a6,0x000001a6,0x000005a6,0x00000d67,0x000012e8,
|
||
|
0x00000ae8,0x00001de9,0x00001ae8,0x000007eb,0x000317ed,0x000067ec,0x000097ed,
|
||
|
0x000297ed,0x00040fee,0x00020fee,0x00060fee,0x00010fee,0x00050fee,0x00030fee,
|
||
|
0x00070fee,0x00008fee,0x00048fee,0x00028fee,0x00068fee,0x00018fee,0x00058fee,
|
||
|
0x00038fee,0x00078fee,0x00004fee,0x00044fee,0x00024fee,0x00064fee,0x00014fee,
|
||
|
0x00054fee,0x00034fee,0x00074fee,0x0000cfee,0x0004cfee,0x0002cfee,0x0006cfee,
|
||
|
0x0001cfee,0x0005cfee,0x0003cfee,0x0007cfee,0x00002fee,0x00042fee,0x00022fee,
|
||
|
0x00062fee,0x00012fee,0x00052fee,0x00032fee,0x00072fee,0x0000afee,0x0004afee,
|
||
|
0x0002afee,0x0006afee,0x0001afee,0x0005afee,0x0003afee,0x0007afee,0x00006fee,
|
||
|
0x00046fee,0x00026fee,0x00066fee,0x00016fee,0x00056fee,0x00036fee,0x00076fee,
|
||
|
0x0000efee,0x0004efee,0x0002efee,0x0006efee,0x0001efee,0x0005efee,0x0003efee,
|
||
|
0x0007efee,0x00001fee,0x00041fee,0x00021fee,0x00061fee,0x00011fee,0x00051fee,
|
||
|
0x00031fee,0x00071fee,0x00009fee,0x00049fee,0x00029fee,0x00069fee,0x00019fee,
|
||
|
0x00059fee,0x00039fee,0x00079fee,0x00005fee,0x00045fee,0x00025fee,0x00065fee,
|
||
|
0x00015fee,0x00055fee,0x00035fee,0x00075fee,0x0000dfee,0x0004dfee,0x0002dfee,
|
||
|
0x0006dfee,0x0001dfee,0x0005dfee,0x0003dfee,0x0007dfee,0x00003fee,0x00043fee,
|
||
|
0x00023fee,0x00063fee,0x00013fee,0x00053fee,0x00033fee,0x00073fee,0x0000bfee,
|
||
|
0x0004bfee,0x0002bfee,0x0006bfee,0x0001bfee,0x0005bfee,0x0003bfee,0x0007bfee,
|
||
|
0x00007fee,0x00047fee,0x00027fee,0x00067fee,0x00017fee,0x000197ed,0x000397ed,
|
||
|
0x000057ed,0x00057fee,0x000257ed,0x00037fee,0x000157ed,0x00077fee,0x000357ed,
|
||
|
0x0000ffee,0x0004ffee,0x0002ffee,0x0006ffee,0x0001ffee,0x00000084,0x00000003,
|
||
|
0x00000184,0x00000044,0x00000144,0x000000c5,0x000002c5,0x000001c5,0x000003c6,
|
||
|
0x000007c6,0x00000026,0x00000426,0x000003a7,0x00000ba7,0x000007a7,0x00000fa7,
|
||
|
0x00000227,0x00000627,0x00000a27,0x00000e27,0x00000068,0x00000868,0x00001068,
|
||
|
0x00001868,0x00000369,0x00001369,0x00002369,0x00003369,0x000006ea,0x000026ea,
|
||
|
0x000046ea,0x000066ea,0x000016eb,0x000036eb,0x000056eb,0x000076eb,0x000096eb,
|
||
|
0x0000b6eb,0x0000d6eb,0x0000f6eb,0x00003dec,0x00007dec,0x0000bdec,0x0000fdec,
|
||
|
0x00013dec,0x00017dec,0x0001bdec,0x0001fdec,0x00006bed,0x0000ebed,0x00016bed,
|
||
|
0x0001ebed,0x00026bed,0x0002ebed,0x00036bed,0x0003ebed,0x000003ec,0x000043ec,
|
||
|
0x000083ec,0x0000c3ec,0x000103ec,0x000143ec,0x000183ec,0x0001c3ec,0x00001bee,
|
||
|
0x00009bee,0x00011bee,0x00019bee,0x00021bee,0x00029bee,0x00031bee,0x00039bee,
|
||
|
0x00041bee,0x00049bee,0x00051bee,0x00059bee,0x00061bee,0x00069bee,0x00071bee,
|
||
|
0x00079bee,0x000167f0,0x000367f0,0x000567f0,0x000767f0,0x000967f0,0x000b67f0,
|
||
|
0x000d67f0,0x000f67f0,0x001167f0,0x001367f0,0x001567f0,0x001767f0,0x001967f0,
|
||
|
0x001b67f0,0x001d67f0,0x001f67f0,0x000087ef,0x000187ef,0x000287ef,0x000387ef,
|
||
|
0x000487ef,0x000587ef,0x000687ef,0x000787ef,0x000887ef,0x000987ef,0x000a87ef,
|
||
|
0x000b87ef,0x000c87ef,0x000d87ef,0x000e87ef,0x000f87ef,0x0000e7f0,0x0002e7f0,
|
||
|
0x0004e7f0,0x0006e7f0,0x0008e7f0,0x000ae7f0,0x000ce7f0,0x000ee7f0,0x0010e7f0,
|
||
|
0x0012e7f0,0x0014e7f0,0x0016e7f0,0x0018e7f0,0x001ae7f0,0x001ce7f0,0x001ee7f0,
|
||
|
0x0005fff3,0x000dfff3,0x0015fff3,0x001dfff3,0x0025fff3,0x002dfff3,0x0035fff3,
|
||
|
0x003dfff3,0x0045fff3,0x004dfff3,0x0055fff3,0x005dfff3,0x0065fff3,0x006dfff3,
|
||
|
0x0075fff3,0x007dfff3,0x0085fff3,0x008dfff3,0x0095fff3,0x009dfff3,0x00a5fff3,
|
||
|
0x00adfff3,0x00b5fff3,0x00bdfff3,0x00c5fff3,0x00cdfff3,0x00d5fff3,0x00ddfff3,
|
||
|
0x00e5fff3,0x00edfff3,0x00f5fff3,0x00fdfff3,0x0003fff3,0x000bfff3,0x0013fff3,
|
||
|
0x001bfff3,0x0023fff3,0x002bfff3,0x0033fff3,0x003bfff3,0x0043fff3,0x004bfff3,
|
||
|
0x0053fff3,0x005bfff3,0x0063fff3,0x006bfff3,0x0073fff3,0x007bfff3,0x0083fff3,
|
||
|
0x008bfff3,0x0093fff3,0x009bfff3,0x00a3fff3,0x00abfff3,0x00b3fff3,0x00bbfff3,
|
||
|
0x00c3fff3,0x00cbfff3,0x00d3fff3,0x00dbfff3,0x00e3fff3,0x00ebfff3,0x00f3fff3,
|
||
|
0x00fbfff3,0x0007fff3,0x000ffff3,0x0017fff3,0x001ffff3,0x0027fff3,0x002ffff3,
|
||
|
0x0037fff3,0x003ffff3,0x0047fff3,0x004ffff3,0x0057fff3,0x005ffff3,0x0067fff3,
|
||
|
0x006ffff3,0x0077fff3,0x007ffff3,0x0087fff3,0x008ffff3,0x0097fff3,0x009ffff3,
|
||
|
0x00a7fff3,0x00affff3,0x00b7fff3,0x00bffff3,0x00c7fff3,0x00cffff3,0x00d7fff3,
|
||
|
0x00dffff3,0x00e7fff3,0x00effff3,0x00f7fff3,0x00fffff3,0x0001e7f1,0x0003e7f1,
|
||
|
0x0005e7f1,0x0007e7f1,0x0009e7f1,0x000be7f1,0x000de7f1,0x000fe7f1,0x0011e7f1,
|
||
|
0x0013e7f1,0x0015e7f1,0x0017e7f1,0x0019e7f1,0x001be7f1,0x001de7f1,0x001fe7f1,
|
||
|
0x0021e7f1,0x0023e7f1,0x0025e7f1,0x0027e7f1,0x0029e7f1,0x002be7f1,0x002de7f1,
|
||
|
0x002fe7f1,0x0031e7f1,0x0033e7f1,0x0035e7f1,0x0037e7f1,0x0039e7f1,0x003be7f1,
|
||
|
0x003de7f1,0x000047eb,
|
||
|
};
|
||
|
#else /* !DECLARE_DATA */
|
||
|
extern const ULONG g_FastEncoderLiteralCodeInfo[];
|
||
|
#endif /* DECLARE_DATA */
|
||
|
#ifdef DECLARE_DATA
|
||
|
const ULONG g_FastEncoderDistanceCodeInfo[] = {
|
||
|
|
||
|
0x00000f06,0x0001ff0a,0x0003ff0b,0x0007ff0b,0x0000ff19,0x00003f18,0x0000bf28,
|
||
|
0x00007f28,0x00001f37,0x00005f37,0x00000d45,0x00002f46,0x00000054,0x00001d55,
|
||
|
0x00000864,0x00000365,0x00000474,0x00001375,0x00000c84,0x00000284,0x00000a94,
|
||
|
0x00000694,0x00000ea4,0x000001a4,0x000009b4,0x00000bb5,0x000005c4,0x00001bc5,
|
||
|
0x000007d5,0x000017d5,0x00000000,0x00000100,
|
||
|
};
|
||
|
#else /* !DECLARE_DATA */
|
||
|
extern const ULONG g_FastEncoderDistanceCodeInfo[];
|
||
|
#endif /* DECLARE_DATA */
|