zstdify 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -5
- package/dist/bitstream/bitReaderReverse.js +27 -1
- package/dist/bitstream/bitReaderReverse.js.map +1 -1
- package/dist/compress.js +7 -7
- package/dist/compress.js.map +1 -1
- package/dist/decode/decompressFrame.d.ts +2 -1
- package/dist/decode/decompressFrame.js +73 -57
- package/dist/decode/decompressFrame.js.map +1 -1
- package/dist/decode/literals.js +55 -52
- package/dist/decode/literals.js.map +1 -1
- package/dist/decode/reconstruct.d.ts +21 -1
- package/dist/decode/reconstruct.js +231 -21
- package/dist/decode/reconstruct.js.map +1 -1
- package/dist/decode/sequences.d.ts +1 -1
- package/dist/decode/sequences.js +118 -105
- package/dist/decode/sequences.js.map +1 -1
- package/dist/decompress.d.ts +7 -0
- package/dist/decompress.js +5 -3
- package/dist/decompress.js.map +1 -1
- package/dist/dictionary/compressorDictionary.d.ts +1 -0
- package/dist/dictionary/compressorDictionary.js +20 -0
- package/dist/dictionary/compressorDictionary.js.map +1 -0
- package/dist/encode/blockWriter.js +8 -2
- package/dist/encode/blockWriter.js.map +1 -1
- package/dist/encode/compressedBlock.js +161 -106
- package/dist/encode/compressedBlock.js.map +1 -1
- package/dist/encode/greedySequences.js +63 -40
- package/dist/encode/greedySequences.js.map +1 -1
- package/dist/entropy/fse.js +1 -5
- package/dist/entropy/fse.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +25 -1
- package/logo.webp +0 -0
package/dist/decode/literals.js
CHANGED
|
@@ -14,7 +14,7 @@ export function parseLiteralsSectionHeader(data, offset) {
|
|
|
14
14
|
if (offset >= data.length) {
|
|
15
15
|
throw new ZstdError('Literals section header truncated', 'corruption_detected');
|
|
16
16
|
}
|
|
17
|
-
const b0 = data[offset]
|
|
17
|
+
const b0 = data[offset];
|
|
18
18
|
const blockType = (b0 & 3);
|
|
19
19
|
const sizeFormat = (b0 >> 2) & 3;
|
|
20
20
|
if (blockType === 0 || blockType === 1) {
|
|
@@ -29,7 +29,7 @@ export function parseLiteralsSectionHeader(data, offset) {
|
|
|
29
29
|
if (offset + 2 > data.length) {
|
|
30
30
|
throw new ZstdError('Literals section header truncated', 'corruption_detected');
|
|
31
31
|
}
|
|
32
|
-
const b1 = data[offset + 1]
|
|
32
|
+
const b1 = data[offset + 1];
|
|
33
33
|
const regeneratedSize = (b0 >> 4) + (b1 << 4);
|
|
34
34
|
return {
|
|
35
35
|
header: { blockType, regeneratedSize, headerSize: 2, numStreams: 1 },
|
|
@@ -40,8 +40,8 @@ export function parseLiteralsSectionHeader(data, offset) {
|
|
|
40
40
|
if (offset + 3 > data.length) {
|
|
41
41
|
throw new ZstdError('Literals section header truncated', 'corruption_detected');
|
|
42
42
|
}
|
|
43
|
-
const b1 = data[offset + 1]
|
|
44
|
-
const b2 = data[offset + 2]
|
|
43
|
+
const b1 = data[offset + 1];
|
|
44
|
+
const b2 = data[offset + 2];
|
|
45
45
|
const regeneratedSize = (b0 >> 4) + (b1 << 4) + (b2 << 12);
|
|
46
46
|
return {
|
|
47
47
|
header: { blockType, regeneratedSize, headerSize: 3, numStreams: 1 },
|
|
@@ -79,7 +79,8 @@ export function decodeRawLiterals(data, offset, size) {
|
|
|
79
79
|
if (offset + size > data.length) {
|
|
80
80
|
throw new ZstdError('Raw literals truncated', 'corruption_detected');
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
// Return a view to avoid extra copy; callers copy into destination as needed.
|
|
83
|
+
return data.subarray(offset, offset + size);
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
86
|
* Decode RLE literals block - single byte repeated.
|
|
@@ -88,7 +89,7 @@ export function decodeRLELiterals(data, offset, size) {
|
|
|
88
89
|
if (offset >= data.length) {
|
|
89
90
|
throw new ZstdError('RLE literals truncated', 'corruption_detected');
|
|
90
91
|
}
|
|
91
|
-
const byte = data[offset]
|
|
92
|
+
const byte = data[offset];
|
|
92
93
|
const result = new Uint8Array(size);
|
|
93
94
|
result.fill(byte);
|
|
94
95
|
return result;
|
|
@@ -110,20 +111,41 @@ function weightsToHuffmanTable(weights) {
|
|
|
110
111
|
throw new ZstdError('Invalid Huffman weights: cannot complete to power of 2', 'corruption_detected');
|
|
111
112
|
}
|
|
112
113
|
const lastWeight = 32 - Math.clz32(remainder);
|
|
113
|
-
const fullWeights =
|
|
114
|
-
|
|
115
|
-
fullWeights
|
|
114
|
+
const fullWeights = new Array(256).fill(0);
|
|
115
|
+
for (let i = 0; i < weights.length; i++) {
|
|
116
|
+
fullWeights[i] = weights[i] ?? 0;
|
|
116
117
|
}
|
|
118
|
+
fullWeights[weights.length] = lastWeight;
|
|
117
119
|
const numBits = weightsToNumBits(fullWeights, maxNumBits);
|
|
118
120
|
const table = buildHuffmanDecodeTable(numBits, maxNumBits);
|
|
119
121
|
return { table, maxNumBits };
|
|
120
122
|
}
|
|
121
|
-
function
|
|
123
|
+
function decodeHuffmanStreamByCountInto(data, streamOffset, streamLength, table, maxNumBits, out, outOffset, numSymbols) {
|
|
124
|
+
if (numSymbols === 0)
|
|
125
|
+
return 0;
|
|
126
|
+
if (streamLength <= 0) {
|
|
127
|
+
throw new ZstdError('Huffman stream truncated', 'corruption_detected');
|
|
128
|
+
}
|
|
129
|
+
const reader = new BitReaderReverse(data, streamOffset, streamLength);
|
|
130
|
+
reader.skipPadding();
|
|
131
|
+
let written = 0;
|
|
132
|
+
for (let i = 0; i < numSymbols; i++) {
|
|
133
|
+
const peek = reader.readBits(maxNumBits);
|
|
134
|
+
const row = table[peek];
|
|
135
|
+
if (!row) {
|
|
136
|
+
throw new ZstdError('Huffman invalid code', 'corruption_detected');
|
|
137
|
+
}
|
|
138
|
+
out[outOffset + written] = row.symbol;
|
|
139
|
+
written++;
|
|
140
|
+
}
|
|
141
|
+
return written;
|
|
142
|
+
}
|
|
143
|
+
function decodeHuffmanStreamToEndInto(data, streamOffset, streamLength, table, maxNumBits, out, outOffset) {
|
|
122
144
|
if (streamLength <= 0) {
|
|
123
145
|
throw new ZstdError('Huffman stream truncated', 'corruption_detected');
|
|
124
146
|
}
|
|
125
147
|
const stream = data.subarray(streamOffset, streamOffset + streamLength);
|
|
126
|
-
const lastByte = stream[stream.length - 1]
|
|
148
|
+
const lastByte = stream[stream.length - 1];
|
|
127
149
|
if (lastByte === 0) {
|
|
128
150
|
throw new ZstdError('Huffman invalid end marker', 'corruption_detected');
|
|
129
151
|
}
|
|
@@ -137,24 +159,28 @@ function decodeHuffmanStreamToEnd(data, streamOffset, streamLength, table, maxNu
|
|
|
137
159
|
let value = 0;
|
|
138
160
|
for (let i = 0; i < numBits; i++) {
|
|
139
161
|
const abs = bitOffset + i;
|
|
140
|
-
if (abs < 0)
|
|
162
|
+
if (abs < 0 || abs >= streamLength * 8)
|
|
141
163
|
continue;
|
|
142
164
|
const byteIndex = abs >>> 3;
|
|
143
165
|
const bitInByte = abs & 7;
|
|
144
|
-
const bit = (
|
|
166
|
+
const bit = (stream[byteIndex] >>> bitInByte) & 1;
|
|
145
167
|
value |= bit << i;
|
|
146
168
|
}
|
|
147
169
|
return value;
|
|
148
170
|
};
|
|
149
|
-
const out = [];
|
|
150
171
|
const mask = (1 << maxNumBits) - 1;
|
|
151
172
|
let state = readBitsZeroExtended(maxNumBits);
|
|
173
|
+
let written = 0;
|
|
152
174
|
while (bitOffset > -maxNumBits) {
|
|
153
175
|
const row = table[state];
|
|
154
176
|
if (!row) {
|
|
155
177
|
throw new ZstdError('Huffman invalid code', 'corruption_detected');
|
|
156
178
|
}
|
|
157
|
-
out.
|
|
179
|
+
if (outOffset + written >= out.length) {
|
|
180
|
+
throw new ZstdError('Huffman literals size mismatch', 'corruption_detected');
|
|
181
|
+
}
|
|
182
|
+
out[outOffset + written] = row.symbol;
|
|
183
|
+
written++;
|
|
158
184
|
const nb = row.numBits;
|
|
159
185
|
const rest = nb > 0 ? readBitsZeroExtended(nb) : 0;
|
|
160
186
|
state = ((state << nb) & mask) + rest;
|
|
@@ -162,26 +188,7 @@ function decodeHuffmanStreamToEnd(data, streamOffset, streamLength, table, maxNu
|
|
|
162
188
|
if (bitOffset !== -maxNumBits) {
|
|
163
189
|
throw new ZstdError('Huffman stream did not end cleanly', 'corruption_detected');
|
|
164
190
|
}
|
|
165
|
-
return
|
|
166
|
-
}
|
|
167
|
-
function decodeHuffmanStreamByCount(data, streamOffset, streamLength, table, maxNumBits, numSymbols) {
|
|
168
|
-
if (numSymbols === 0)
|
|
169
|
-
return new Uint8Array(0);
|
|
170
|
-
if (streamLength <= 0) {
|
|
171
|
-
throw new ZstdError('Huffman stream truncated', 'corruption_detected');
|
|
172
|
-
}
|
|
173
|
-
const reader = new BitReaderReverse(data, streamOffset, streamLength);
|
|
174
|
-
reader.skipPadding();
|
|
175
|
-
const out = new Uint8Array(numSymbols);
|
|
176
|
-
for (let i = 0; i < numSymbols; i++) {
|
|
177
|
-
const peek = reader.readBits(maxNumBits);
|
|
178
|
-
const row = table[peek];
|
|
179
|
-
if (!row) {
|
|
180
|
-
throw new ZstdError('Huffman invalid code', 'corruption_detected');
|
|
181
|
-
}
|
|
182
|
-
out[i] = row.symbol;
|
|
183
|
-
}
|
|
184
|
-
return out;
|
|
191
|
+
return written;
|
|
185
192
|
}
|
|
186
193
|
/**
|
|
187
194
|
* Decode compressed literals (Huffman). Requires Huffman table from tree description.
|
|
@@ -192,7 +199,7 @@ export function decodeCompressedLiterals(data, offset, compressedSize, regenerat
|
|
|
192
199
|
if (pos >= data.length) {
|
|
193
200
|
throw new ZstdError('Huffman tree description truncated', 'corruption_detected');
|
|
194
201
|
}
|
|
195
|
-
const headerByte = data[pos]
|
|
202
|
+
const headerByte = data[pos];
|
|
196
203
|
pos++;
|
|
197
204
|
let weights;
|
|
198
205
|
let treeBytes;
|
|
@@ -217,16 +224,15 @@ export function decodeCompressedLiterals(data, offset, compressedSize, regenerat
|
|
|
217
224
|
const result = new Uint8Array(regeneratedSize);
|
|
218
225
|
let outPos = 0;
|
|
219
226
|
if (numStreams === 1) {
|
|
220
|
-
|
|
221
|
-
result.set(lit);
|
|
227
|
+
decodeHuffmanStreamByCountInto(data, pos, totalStreamsSize, huffmanTable.table, huffmanTable.maxNumBits, result, 0, regeneratedSize);
|
|
222
228
|
}
|
|
223
229
|
else {
|
|
224
230
|
if (totalStreamsSize < 10) {
|
|
225
231
|
throw new ZstdError('4-stream mode requires at least 10 bytes', 'corruption_detected');
|
|
226
232
|
}
|
|
227
|
-
const s1 =
|
|
228
|
-
const s2 =
|
|
229
|
-
const s3 =
|
|
233
|
+
const s1 = data[pos] | (data[pos + 1] << 8);
|
|
234
|
+
const s2 = data[pos + 2] | (data[pos + 3] << 8);
|
|
235
|
+
const s3 = data[pos + 4] | (data[pos + 5] << 8);
|
|
230
236
|
const stream1Size = s1;
|
|
231
237
|
const stream2Size = s2;
|
|
232
238
|
const stream3Size = s3;
|
|
@@ -236,9 +242,8 @@ export function decodeCompressedLiterals(data, offset, compressedSize, regenerat
|
|
|
236
242
|
}
|
|
237
243
|
let streamOffset = pos + 6;
|
|
238
244
|
const decodeStream = (size) => {
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
outPos += lit.length;
|
|
245
|
+
const written = decodeHuffmanStreamToEndInto(data, streamOffset, size, huffmanTable.table, huffmanTable.maxNumBits, result, outPos);
|
|
246
|
+
outPos += written;
|
|
242
247
|
streamOffset += size;
|
|
243
248
|
};
|
|
244
249
|
decodeStream(stream1Size);
|
|
@@ -263,16 +268,15 @@ export function decodeTreelessLiterals(data, offset, compressedSize, regenerated
|
|
|
263
268
|
let outPos = 0;
|
|
264
269
|
let pos = offset;
|
|
265
270
|
if (numStreams === 1) {
|
|
266
|
-
|
|
267
|
-
result.set(lit);
|
|
271
|
+
decodeHuffmanStreamByCountInto(data, pos, compressedSize, huffmanTable.table, huffmanTable.maxNumBits, result, 0, regeneratedSize);
|
|
268
272
|
}
|
|
269
273
|
else {
|
|
270
274
|
if (compressedSize < 10) {
|
|
271
275
|
throw new ZstdError('4-stream mode requires at least 10 bytes', 'corruption_detected');
|
|
272
276
|
}
|
|
273
|
-
const s1 =
|
|
274
|
-
const s2 =
|
|
275
|
-
const s3 =
|
|
277
|
+
const s1 = data[pos] | (data[pos + 1] << 8);
|
|
278
|
+
const s2 = data[pos + 2] | (data[pos + 3] << 8);
|
|
279
|
+
const s3 = data[pos + 4] | (data[pos + 5] << 8);
|
|
276
280
|
const stream1Size = s1;
|
|
277
281
|
const stream2Size = s2;
|
|
278
282
|
const stream3Size = s3;
|
|
@@ -282,9 +286,8 @@ export function decodeTreelessLiterals(data, offset, compressedSize, regenerated
|
|
|
282
286
|
}
|
|
283
287
|
pos += 6;
|
|
284
288
|
const decodeStream = (size) => {
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
outPos += lit.length;
|
|
289
|
+
const written = decodeHuffmanStreamToEndInto(data, pos, size, huffmanTable.table, huffmanTable.maxNumBits, result, outPos);
|
|
290
|
+
outPos += written;
|
|
288
291
|
pos += size;
|
|
289
292
|
};
|
|
290
293
|
decodeStream(stream1Size);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literals.js","sourceRoot":"","sources":["../../src/decode/literals.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"literals.js","sourceRoot":"","sources":["../../src/decode/literals.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,28 @@ export interface Sequence {
|
|
|
6
6
|
offset: number;
|
|
7
7
|
matchLength: number;
|
|
8
8
|
}
|
|
9
|
+
export interface HistoryWindow {
|
|
10
|
+
buffer: Uint8Array;
|
|
11
|
+
length: number;
|
|
12
|
+
writePos: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function createHistoryWindow(windowSize: number, initial?: Uint8Array): HistoryWindow;
|
|
15
|
+
/** Internal: reuse bag for decoder context. */
|
|
16
|
+
export interface DecoderReuseBag {
|
|
17
|
+
_history?: HistoryWindow;
|
|
18
|
+
_sequences?: Sequence[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get or create a history window, reusing from bag when buffer is large enough.
|
|
22
|
+
* Caller may pass a mutable bag; it will be updated with the history used.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getOrCreateHistoryWindow(windowSize: number, initial: Uint8Array | undefined, reuse: DecoderReuseBag | undefined): HistoryWindow;
|
|
25
|
+
export declare function appendToHistoryWindow(history: HistoryWindow, chunk: Uint8Array): void;
|
|
26
|
+
export declare function appendRangeToHistoryWindow(history: HistoryWindow, source: Uint8Array, start: number, length: number): void;
|
|
27
|
+
export declare function appendRLEToHistoryWindow(history: HistoryWindow, byte: number, length: number): void;
|
|
28
|
+
export declare function executeSequencesInto(literals: Uint8Array, sequences: Sequence[], windowSize: number, target: Uint8Array, targetOffset: number, repOffsets?: [number, number, number], historyInput?: HistoryWindow | Uint8Array, updateHistory?: boolean): number;
|
|
9
29
|
/**
|
|
10
30
|
* Execute sequences to produce decompressed output.
|
|
11
31
|
* repOffsets: [Repeated_Offset1, Repeated_Offset2, Repeated_Offset3], updated in place.
|
|
12
32
|
*/
|
|
13
|
-
export declare function executeSequences(literals: Uint8Array, sequences: Sequence[], windowSize: number, repOffsets?: [number, number, number],
|
|
33
|
+
export declare function executeSequences(literals: Uint8Array, sequences: Sequence[], windowSize: number, repOffsets?: [number, number, number], historyInput?: HistoryWindow | Uint8Array): Uint8Array;
|
|
@@ -2,23 +2,153 @@
|
|
|
2
2
|
* Sequence execution: copy literals + match copies with window.
|
|
3
3
|
*/
|
|
4
4
|
import { ZstdError } from '../errors.js';
|
|
5
|
+
function isHistoryWindow(value) {
|
|
6
|
+
return (typeof value.length === 'number' &&
|
|
7
|
+
typeof value.writePos === 'number' &&
|
|
8
|
+
value.buffer instanceof Uint8Array);
|
|
9
|
+
}
|
|
10
|
+
export function createHistoryWindow(windowSize, initial) {
|
|
11
|
+
const initialLength = initial?.length ?? 0;
|
|
12
|
+
const capacity = Math.max(windowSize, initialLength);
|
|
13
|
+
if (capacity <= 0) {
|
|
14
|
+
return { buffer: new Uint8Array(0), length: 0, writePos: 0 };
|
|
15
|
+
}
|
|
16
|
+
const buffer = new Uint8Array(capacity);
|
|
17
|
+
const history = { buffer, length: 0, writePos: 0 };
|
|
18
|
+
if (initialLength > 0 && initial) {
|
|
19
|
+
appendToHistoryWindow(history, initial);
|
|
20
|
+
}
|
|
21
|
+
return history;
|
|
22
|
+
}
|
|
5
23
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
24
|
+
* Get or create a history window, reusing from bag when buffer is large enough.
|
|
25
|
+
* Caller may pass a mutable bag; it will be updated with the history used.
|
|
8
26
|
*/
|
|
9
|
-
export function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
27
|
+
export function getOrCreateHistoryWindow(windowSize, initial, reuse) {
|
|
28
|
+
const existing = reuse?._history;
|
|
29
|
+
if (existing && existing.buffer.length >= windowSize) {
|
|
30
|
+
existing.length = 0;
|
|
31
|
+
existing.writePos = 0;
|
|
32
|
+
if (initial && initial.length > 0) {
|
|
33
|
+
appendToHistoryWindow(existing, initial);
|
|
34
|
+
}
|
|
35
|
+
return existing;
|
|
36
|
+
}
|
|
37
|
+
const history = createHistoryWindow(windowSize, initial);
|
|
38
|
+
if (reuse) {
|
|
39
|
+
reuse._history = history;
|
|
40
|
+
}
|
|
41
|
+
return history;
|
|
42
|
+
}
|
|
43
|
+
export function appendToHistoryWindow(history, chunk) {
|
|
44
|
+
const cap = history.buffer.length;
|
|
45
|
+
if (cap === 0 || chunk.length === 0) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (chunk.length >= cap) {
|
|
49
|
+
const tail = chunk.subarray(chunk.length - cap);
|
|
50
|
+
history.buffer.set(tail, 0);
|
|
51
|
+
history.length = cap;
|
|
52
|
+
history.writePos = 0;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const firstLen = Math.min(chunk.length, cap - history.writePos);
|
|
56
|
+
history.buffer.set(chunk.subarray(0, firstLen), history.writePos);
|
|
57
|
+
const remaining = chunk.length - firstLen;
|
|
58
|
+
if (remaining > 0) {
|
|
59
|
+
history.buffer.set(chunk.subarray(firstLen), 0);
|
|
60
|
+
}
|
|
61
|
+
history.writePos = (history.writePos + chunk.length) % cap;
|
|
62
|
+
history.length = Math.min(cap, history.length + chunk.length);
|
|
63
|
+
}
|
|
64
|
+
const APPEND_RANGE_LOOP_THRESHOLD = 16;
|
|
65
|
+
export function appendRangeToHistoryWindow(history, source, start, length) {
|
|
66
|
+
const cap = history.buffer.length;
|
|
67
|
+
if (cap === 0 || length <= 0) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (start < 0 || length < 0 || start + length > source.length) {
|
|
71
|
+
throw new RangeError('Invalid source range for history append');
|
|
72
|
+
}
|
|
73
|
+
if (length >= cap) {
|
|
74
|
+
const tailStart = start + length - cap;
|
|
75
|
+
history.buffer.set(source.subarray(tailStart, start + length), 0);
|
|
76
|
+
history.length = cap;
|
|
77
|
+
history.writePos = 0;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const firstLen = Math.min(length, cap - history.writePos);
|
|
81
|
+
const remaining = length - firstLen;
|
|
82
|
+
if (length <= APPEND_RANGE_LOOP_THRESHOLD) {
|
|
83
|
+
let wp = history.writePos;
|
|
84
|
+
for (let i = 0; i < length; i++) {
|
|
85
|
+
history.buffer[wp] = source[start + i];
|
|
86
|
+
wp = wp + 1 === cap ? 0 : wp + 1;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
history.buffer.set(source.subarray(start, start + firstLen), history.writePos);
|
|
91
|
+
if (remaining > 0) {
|
|
92
|
+
history.buffer.set(source.subarray(start + firstLen, start + firstLen + remaining), 0);
|
|
93
|
+
}
|
|
16
94
|
}
|
|
17
|
-
|
|
95
|
+
history.writePos = (history.writePos + length) % cap;
|
|
96
|
+
history.length = Math.min(cap, history.length + length);
|
|
97
|
+
}
|
|
98
|
+
export function appendRLEToHistoryWindow(history, byte, length) {
|
|
99
|
+
const cap = history.buffer.length;
|
|
100
|
+
if (cap === 0 || length <= 0) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const fillByte = byte & 0xff;
|
|
104
|
+
if (length >= cap) {
|
|
105
|
+
history.buffer.fill(fillByte, 0, cap);
|
|
106
|
+
history.length = cap;
|
|
107
|
+
history.writePos = 0;
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const firstLen = Math.min(length, cap - history.writePos);
|
|
111
|
+
history.buffer.fill(fillByte, history.writePos, history.writePos + firstLen);
|
|
112
|
+
const remaining = length - firstLen;
|
|
113
|
+
if (remaining > 0) {
|
|
114
|
+
history.buffer.fill(fillByte, 0, remaining);
|
|
115
|
+
}
|
|
116
|
+
history.writePos = (history.writePos + length) % cap;
|
|
117
|
+
history.length = Math.min(cap, history.length + length);
|
|
118
|
+
}
|
|
119
|
+
export function executeSequencesInto(literals, sequences, windowSize, target, targetOffset, repOffsets = [1, 4, 8], historyInput = { buffer: new Uint8Array(0), length: 0, writePos: 0 }, updateHistory = false) {
|
|
120
|
+
const history = isHistoryWindow(historyInput) ? historyInput : createHistoryWindow(windowSize, historyInput);
|
|
121
|
+
const historyLength = history.length;
|
|
122
|
+
const historyCap = history.buffer.length;
|
|
123
|
+
const historyOldestPos = historyCap > 0 ? (history.writePos - historyLength + historyCap) % historyCap : 0;
|
|
124
|
+
const historyBuffer = history.buffer;
|
|
125
|
+
let outPos = targetOffset;
|
|
18
126
|
let litPos = 0;
|
|
127
|
+
const appendProduced = (start, length) => {
|
|
128
|
+
if (updateHistory && length > 0) {
|
|
129
|
+
appendRangeToHistoryWindow(history, target, start, length);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
const LIT_COPY_LOOP_THRESHOLD = 16;
|
|
133
|
+
const HISTORY_COPY_LOOP_THRESHOLD = 16;
|
|
19
134
|
for (const seq of sequences) {
|
|
20
|
-
|
|
21
|
-
|
|
135
|
+
if (seq.literalsLength > 0) {
|
|
136
|
+
const litOutStart = outPos;
|
|
137
|
+
const litEnd = litPos + seq.literalsLength;
|
|
138
|
+
if (litEnd > literals.length) {
|
|
139
|
+
throw new ZstdError('Literals overrun while executing sequence', 'corruption_detected');
|
|
140
|
+
}
|
|
141
|
+
if (seq.literalsLength <= LIT_COPY_LOOP_THRESHOLD) {
|
|
142
|
+
for (let i = 0; i < seq.literalsLength; i++) {
|
|
143
|
+
target[outPos + i] = literals[litPos + i];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
target.set(literals.subarray(litPos, litEnd), outPos);
|
|
148
|
+
}
|
|
149
|
+
outPos += seq.literalsLength;
|
|
150
|
+
litPos = litEnd;
|
|
151
|
+
appendProduced(litOutStart, seq.literalsLength);
|
|
22
152
|
}
|
|
23
153
|
const ov = seq.offset; // Offset_Value from sequence decode.
|
|
24
154
|
const ll0 = seq.literalsLength === 0;
|
|
@@ -43,16 +173,70 @@ export function executeSequences(literals, sequences, windowSize, repOffsets = [
|
|
|
43
173
|
else {
|
|
44
174
|
repeatIndex = (ov - 1);
|
|
45
175
|
}
|
|
46
|
-
offset = repOffsets[repeatIndex]
|
|
176
|
+
offset = repOffsets[repeatIndex];
|
|
47
177
|
}
|
|
48
|
-
const produced = outPos -
|
|
49
|
-
const maxReachBack =
|
|
178
|
+
const produced = outPos - targetOffset;
|
|
179
|
+
const maxReachBack = Math.min(windowSize, produced + historyLength);
|
|
50
180
|
if (offset <= 0 || offset > maxReachBack) {
|
|
51
181
|
throw new ZstdError(`Invalid match offset: offset=${offset} maxReachBack=${maxReachBack} produced=${produced} history=${historyLength} window=${windowSize}`, 'corruption_detected');
|
|
52
182
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
183
|
+
let remainingMatch = seq.matchLength;
|
|
184
|
+
const historyBytesNeeded = Math.max(0, offset - produced);
|
|
185
|
+
if (historyBytesNeeded > 0) {
|
|
186
|
+
if (historyCap === 0) {
|
|
187
|
+
throw new ZstdError('Invalid history read', 'corruption_detected');
|
|
188
|
+
}
|
|
189
|
+
const historyCopyLen = Math.min(historyBytesNeeded, remainingMatch);
|
|
190
|
+
const historyStart = historyLength - historyBytesNeeded;
|
|
191
|
+
if (historyStart < 0 || historyStart + historyCopyLen > historyLength) {
|
|
192
|
+
throw new ZstdError('Invalid history read', 'corruption_detected');
|
|
193
|
+
}
|
|
194
|
+
let physicalStart = historyOldestPos + historyStart;
|
|
195
|
+
if (physicalStart >= historyCap) {
|
|
196
|
+
physicalStart -= historyCap;
|
|
197
|
+
}
|
|
198
|
+
const firstHistoryChunk = Math.min(historyCopyLen, historyCap - physicalStart);
|
|
199
|
+
const remainingHistoryChunk = historyCopyLen - firstHistoryChunk;
|
|
200
|
+
const historyOutStart = outPos;
|
|
201
|
+
if (historyCopyLen <= HISTORY_COPY_LOOP_THRESHOLD) {
|
|
202
|
+
let phys = physicalStart;
|
|
203
|
+
for (let i = 0; i < historyCopyLen; i++) {
|
|
204
|
+
target[outPos + i] = historyBuffer[phys];
|
|
205
|
+
phys = phys + 1 === historyCap ? 0 : phys + 1;
|
|
206
|
+
}
|
|
207
|
+
outPos += historyCopyLen;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
target.set(historyBuffer.subarray(physicalStart, physicalStart + firstHistoryChunk), outPos);
|
|
211
|
+
outPos += firstHistoryChunk;
|
|
212
|
+
if (remainingHistoryChunk > 0) {
|
|
213
|
+
target.set(historyBuffer.subarray(0, remainingHistoryChunk), outPos);
|
|
214
|
+
outPos += remainingHistoryChunk;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
appendProduced(historyOutStart, historyCopyLen);
|
|
218
|
+
remainingMatch -= historyCopyLen;
|
|
219
|
+
}
|
|
220
|
+
if (remainingMatch > 0) {
|
|
221
|
+
const matchOutStart = outPos;
|
|
222
|
+
const copyStart = outPos - offset;
|
|
223
|
+
if (offset >= remainingMatch) {
|
|
224
|
+
target.copyWithin(outPos, copyStart, copyStart + remainingMatch);
|
|
225
|
+
outPos += remainingMatch;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// Handle overlapping copies with exponentially growing chunks.
|
|
229
|
+
let copied = offset;
|
|
230
|
+
target.copyWithin(outPos, copyStart, copyStart + copied);
|
|
231
|
+
outPos += copied;
|
|
232
|
+
while (copied < remainingMatch) {
|
|
233
|
+
const toCopy = Math.min(copied, remainingMatch - copied);
|
|
234
|
+
target.copyWithin(outPos, outPos - copied, outPos - copied + toCopy);
|
|
235
|
+
outPos += toCopy;
|
|
236
|
+
copied += toCopy;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
appendProduced(matchOutStart, remainingMatch);
|
|
56
240
|
}
|
|
57
241
|
if (isNonRepeat) {
|
|
58
242
|
repOffsets[2] = repOffsets[1];
|
|
@@ -72,9 +256,35 @@ export function executeSequences(literals, sequences, windowSize, repOffsets = [
|
|
|
72
256
|
}
|
|
73
257
|
}
|
|
74
258
|
}
|
|
75
|
-
|
|
76
|
-
|
|
259
|
+
if (litPos < literals.length) {
|
|
260
|
+
const tailOutStart = outPos;
|
|
261
|
+
const remaining = literals.length - litPos;
|
|
262
|
+
if (remaining <= LIT_COPY_LOOP_THRESHOLD) {
|
|
263
|
+
for (let i = 0; i < remaining; i++) {
|
|
264
|
+
target[outPos + i] = literals[litPos + i];
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
target.set(literals.subarray(litPos), outPos);
|
|
269
|
+
}
|
|
270
|
+
outPos += remaining;
|
|
271
|
+
appendProduced(tailOutStart, remaining);
|
|
272
|
+
}
|
|
273
|
+
return outPos - targetOffset;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Execute sequences to produce decompressed output.
|
|
277
|
+
* repOffsets: [Repeated_Offset1, Repeated_Offset2, Repeated_Offset3], updated in place.
|
|
278
|
+
*/
|
|
279
|
+
export function executeSequences(literals, sequences, windowSize, repOffsets = [1, 4, 8], historyInput = { buffer: new Uint8Array(0), length: 0, writePos: 0 }) {
|
|
280
|
+
// Sequence literals are slices of `literals`, so only matches expand output size.
|
|
281
|
+
let totalSize = literals.length;
|
|
282
|
+
for (const seq of sequences) {
|
|
283
|
+
totalSize += seq.matchLength;
|
|
77
284
|
}
|
|
78
|
-
|
|
285
|
+
const buffer = new Uint8Array(totalSize);
|
|
286
|
+
const outSize = executeSequencesInto(literals, sequences, windowSize, buffer, 0, repOffsets, historyInput);
|
|
287
|
+
const outPos = outSize;
|
|
288
|
+
return outPos === buffer.length ? buffer : buffer.subarray(0, outPos);
|
|
79
289
|
}
|
|
80
290
|
//# sourceMappingURL=reconstruct.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconstruct.js","sourceRoot":"","sources":["../../src/decode/reconstruct.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAoB,EACpB,SAAqB,EACrB,UAAkB,EAClB,UAAU,GAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAChD,OAAO,GAAe,IAAI,UAAU,CAAC,CAAC,CAAC,EAC3B;IACZ,kFAAkF;IAClF,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACzD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,GAAG,aAAa,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,qCAAqC;QAC5D,MAAM,GAAG,GAAG,GAAG,CAAC,cAAc,KAAK,CAAC,CAAC;QACrC,IAAI,MAAc,CAAC;QACnB,IAAI,WAAW,GAAqB,IAAI,CAAC;QACzC,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAChD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACb,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,SAAS,CAAC,sCAAsC,EAAE,qBAAqB,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,EAAE,CAAC;gBACR,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,CAAc,CAAC;YACtC,CAAC;YACD,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;QACxC,MAAM,YAAY,GAAG,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;QACpF,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,YAAY,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CACjB,gCAAgC,MAAM,iBAAiB,YAAY,aAAa,QAAQ,YAAY,aAAa,WAAW,UAAU,EAAE,EACxI,qBAAqB,CACtB,CAAC;QACJ,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC;QACX,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC9B,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AAAA,CACvD"}
|
|
1
|
+
{"version":3,"file":"reconstruct.js","sourceRoot":"","sources":["../../src/decode/reconstruct.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,4 +18,4 @@ export interface DecodeSequencesResult {
|
|
|
18
18
|
tables: SequenceTables;
|
|
19
19
|
bytesRead: number;
|
|
20
20
|
}
|
|
21
|
-
export declare function decodeSequences(data: Uint8Array, offset: number, size: number, prevTables: SequenceTables | null): DecodeSequencesResult;
|
|
21
|
+
export declare function decodeSequences(data: Uint8Array, offset: number, size: number, prevTables: SequenceTables | null, sequenceReuse?: Sequence[]): DecodeSequencesResult;
|