made bzip2 mode have 336 bytes less data, but about 60 bytes more code.
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1201 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
142ba15378
commit
9e53aab9b1
3 changed files with 226 additions and 23 deletions
|
@ -125,7 +125,7 @@ typedef unsigned short UInt16;
|
|||
|
||||
/*-- Stuff for randomising repetitive blocks. --*/
|
||||
|
||||
extern Int16 BZ2_rNums[512];
|
||||
extern Int16 BZ2_rNums[513];
|
||||
|
||||
#define BZ_RAND_DECLS \
|
||||
Int32 rNToGo; \
|
||||
|
|
|
@ -63,9 +63,209 @@
|
|||
|
||||
#include "bzlib_private.h"
|
||||
|
||||
#if 1
|
||||
|
||||
#define PACK3(x,y,z) ((z) << 20)|((y) << 10)|(x)
|
||||
|
||||
static Int32 BZ2_rNumsPacked[171]=
|
||||
{
|
||||
PACK3(619,720,127),
|
||||
PACK3(481,931,816),
|
||||
PACK3(813,233,566),
|
||||
PACK3(247,985,724),
|
||||
PACK3(205,454,863),
|
||||
PACK3(491,741,242),
|
||||
PACK3(949,214,733),
|
||||
PACK3(859,335,708),
|
||||
PACK3(621,574,73),
|
||||
PACK3(654,730,472),
|
||||
PACK3(419,436,278),
|
||||
PACK3(496,867,210),
|
||||
PACK3(399,680,480),
|
||||
PACK3(51,878,465),
|
||||
PACK3(811,169,869),
|
||||
PACK3(675,611,697),
|
||||
PACK3(867,561,862),
|
||||
PACK3(687,507,283),
|
||||
PACK3(482,129,807),
|
||||
PACK3(591,733,623),
|
||||
PACK3(150,238,59),
|
||||
PACK3(379,684,877),
|
||||
PACK3(625,169,643),
|
||||
PACK3(105,170,607),
|
||||
PACK3(520,932,727),
|
||||
PACK3(476,693,425),
|
||||
PACK3(174,647,73),
|
||||
PACK3(122,335,530),
|
||||
PACK3(442,853,695),
|
||||
PACK3(249,445,515),
|
||||
PACK3(909,545,703),
|
||||
PACK3(919,874,474),
|
||||
PACK3(882,500,594),
|
||||
PACK3(612,641,801),
|
||||
PACK3(220,162,819),
|
||||
PACK3(984,589,513),
|
||||
PACK3(495,799,161),
|
||||
PACK3(604,958,533),
|
||||
PACK3(221,400,386),
|
||||
PACK3(867,600,782),
|
||||
PACK3(382,596,414),
|
||||
PACK3(171,516,375),
|
||||
PACK3(682,485,911),
|
||||
PACK3(276,98,553),
|
||||
PACK3(163,354,666),
|
||||
PACK3(933,424,341),
|
||||
PACK3(533,870,227),
|
||||
PACK3(730,475,186),
|
||||
PACK3(263,647,537),
|
||||
PACK3(686,600,224),
|
||||
PACK3(469,68,770),
|
||||
PACK3(919,190,373),
|
||||
PACK3(294,822,808),
|
||||
PACK3(206,184,943),
|
||||
PACK3(795,384,383),
|
||||
PACK3(461,404,758),
|
||||
PACK3(839,887,715),
|
||||
PACK3(67,618,276),
|
||||
PACK3(204,918,873),
|
||||
PACK3(777,604,560),
|
||||
PACK3(951,160,578),
|
||||
PACK3(722,79,804),
|
||||
PACK3(96,409,713),
|
||||
PACK3(940,652,934),
|
||||
PACK3(970,447,318),
|
||||
PACK3(353,859,672),
|
||||
PACK3(112,785,645),
|
||||
PACK3(863,803,350),
|
||||
PACK3(139,93,354),
|
||||
PACK3(99,820,908),
|
||||
PACK3(609,772,154),
|
||||
PACK3(274,580,184),
|
||||
PACK3(79,626,630),
|
||||
PACK3(742,653,282),
|
||||
PACK3(762,623,680),
|
||||
PACK3(81,927,626),
|
||||
PACK3(789,125,411),
|
||||
PACK3(521,938,300),
|
||||
PACK3(821,78,343),
|
||||
PACK3(175,128,250),
|
||||
PACK3(170,774,972),
|
||||
PACK3(275,999,639),
|
||||
PACK3(495,78,352),
|
||||
PACK3(126,857,956),
|
||||
PACK3(358,619,580),
|
||||
PACK3(124,737,594),
|
||||
PACK3(701,612,669),
|
||||
PACK3(112,134,694),
|
||||
PACK3(363,992,809),
|
||||
PACK3(743,168,974),
|
||||
PACK3(944,375,748),
|
||||
PACK3(52,600,747),
|
||||
PACK3(642,182,862),
|
||||
PACK3(81,344,805),
|
||||
PACK3(988,739,511),
|
||||
PACK3(655,814,334),
|
||||
PACK3(249,515,897),
|
||||
PACK3(955,664,981),
|
||||
PACK3(649,113,974),
|
||||
PACK3(459,893,228),
|
||||
PACK3(433,837,553),
|
||||
PACK3(268,926,240),
|
||||
PACK3(102,654,459),
|
||||
PACK3(51,686,754),
|
||||
PACK3(806,760,493),
|
||||
PACK3(403,415,394),
|
||||
PACK3(687,700,946),
|
||||
PACK3(670,656,610),
|
||||
PACK3(738,392,760),
|
||||
PACK3(799,887,653),
|
||||
PACK3(978,321,576),
|
||||
PACK3(617,626,502),
|
||||
PACK3(894,679,243),
|
||||
PACK3(440,680,879),
|
||||
PACK3(194,572,640),
|
||||
PACK3(724,926,56),
|
||||
PACK3(204,700,707),
|
||||
PACK3(151,457,449),
|
||||
PACK3(797,195,791),
|
||||
PACK3(558,945,679),
|
||||
PACK3(297,59,87),
|
||||
PACK3(824,713,663),
|
||||
PACK3(412,693,342),
|
||||
PACK3(606,134,108),
|
||||
PACK3(571,364,631),
|
||||
PACK3(212,174,643),
|
||||
PACK3(304,329,343),
|
||||
PACK3(97,430,751),
|
||||
PACK3(497,314,983),
|
||||
PACK3(374,822,928),
|
||||
PACK3(140,206,73),
|
||||
PACK3(263,980,736),
|
||||
PACK3(876,478,430),
|
||||
PACK3(305,170,514),
|
||||
PACK3(364,692,829),
|
||||
PACK3(82,855,953),
|
||||
PACK3(676,246,369),
|
||||
PACK3(970,294,750),
|
||||
PACK3(807,827,150),
|
||||
PACK3(790,288,923),
|
||||
PACK3(804,378,215),
|
||||
PACK3(828,592,281),
|
||||
PACK3(565,555,710),
|
||||
PACK3(82,896,831),
|
||||
PACK3(547,261,524),
|
||||
PACK3(462,293,465),
|
||||
PACK3(502,56,661),
|
||||
PACK3(821,976,991),
|
||||
PACK3(658,869,905),
|
||||
PACK3(758,745,193),
|
||||
PACK3(768,550,608),
|
||||
PACK3(933,378,286),
|
||||
PACK3(215,979,792),
|
||||
PACK3(961,61,688),
|
||||
PACK3(793,644,986),
|
||||
PACK3(403,106,366),
|
||||
PACK3(905,644,372),
|
||||
PACK3(567,466,434),
|
||||
PACK3(645,210,389),
|
||||
PACK3(550,919,135),
|
||||
PACK3(780,773,635),
|
||||
PACK3(389,707,100),
|
||||
PACK3(626,958,165),
|
||||
PACK3(504,920,176),
|
||||
PACK3(193,713,857),
|
||||
PACK3(265,203,50),
|
||||
PACK3(668,108,645),
|
||||
PACK3(990,626,197),
|
||||
PACK3(510,357,358),
|
||||
PACK3(850,858,364),
|
||||
PACK3(936,638,0),
|
||||
};
|
||||
|
||||
/*---------------------------------------------*/
|
||||
Int16 BZ2_rNums[512] = {
|
||||
Int16 BZ2_rNums[513];
|
||||
|
||||
void NSISCALL genrtable()
|
||||
{
|
||||
unsigned char x=171;
|
||||
Int16 *t=BZ2_rNums;
|
||||
Int32 *it=BZ2_rNumsPacked;
|
||||
while (x--)
|
||||
{
|
||||
Int32 i=*it++;
|
||||
char l=3;
|
||||
while (l--)
|
||||
{
|
||||
*t++=i&1023;
|
||||
i>>=10;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
Int16 BZ2_rNums[512]
|
||||
= {
|
||||
619, 720, 127, 481, 931, 816, 813, 233, 566, 247,
|
||||
985, 724, 205, 454, 863, 491, 741, 242, 949, 214,
|
||||
733, 859, 335, 708, 621, 574, 73 , 654, 730, 472,
|
||||
|
@ -119,7 +319,7 @@ Int16 BZ2_rNums[512] = {
|
|||
645, 990, 626, 197, 510, 357, 358, 850, 858, 364,
|
||||
936, 638
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end randtable.c ---*/
|
||||
|
|
|
@ -7,11 +7,13 @@
|
|||
#ifdef NSIS_CONFIG_COMPRESSION_SUPPORT
|
||||
#ifdef NSIS_COMPRESS_USE_ZLIB
|
||||
#include "../zlib/zlib.h"
|
||||
#define genrtable()
|
||||
#endif
|
||||
|
||||
#ifdef NSIS_COMPRESS_USE_BZIP2
|
||||
#include "../bzip2/bzlib.h"
|
||||
static int bz2_needreinit;
|
||||
void NSISCALL genrtable();
|
||||
#define z_stream bz_stream
|
||||
#define inflateInit(x) { if (BZ2_bzDecompressInit(x)<0) return _LANG_INVALIDCRC; }
|
||||
#define inflate(x) BZ2_bzDecompress(x)
|
||||
|
@ -59,6 +61,7 @@ const char * NSISCALL loadHeaders(void)
|
|||
data=(void*)my_GlobalAlloc(h.length_of_header);
|
||||
|
||||
#ifdef NSIS_CONFIG_COMPRESSION_SUPPORT
|
||||
genrtable();
|
||||
inflateInit(&g_inflate_stream);
|
||||
|
||||
#ifdef NSIS_COMPRESS_WHOLE
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue