@delta10/atlas-sdk 0.1.8 → 0.1.9

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.
@@ -1,533 +0,0 @@
1
- import { B as re } from "./basedecoder-PoXbLGBV.js";
2
- const O = new Int32Array([
3
- 0,
4
- 1,
5
- 8,
6
- 16,
7
- 9,
8
- 2,
9
- 3,
10
- 10,
11
- 17,
12
- 24,
13
- 32,
14
- 25,
15
- 18,
16
- 11,
17
- 4,
18
- 5,
19
- 12,
20
- 19,
21
- 26,
22
- 33,
23
- 40,
24
- 48,
25
- 41,
26
- 34,
27
- 27,
28
- 20,
29
- 13,
30
- 6,
31
- 7,
32
- 14,
33
- 21,
34
- 28,
35
- 35,
36
- 42,
37
- 49,
38
- 56,
39
- 57,
40
- 50,
41
- 43,
42
- 36,
43
- 29,
44
- 22,
45
- 15,
46
- 23,
47
- 30,
48
- 37,
49
- 44,
50
- 51,
51
- 58,
52
- 59,
53
- 52,
54
- 45,
55
- 38,
56
- 31,
57
- 39,
58
- 46,
59
- 53,
60
- 60,
61
- 61,
62
- 54,
63
- 47,
64
- 55,
65
- 62,
66
- 63
67
- ]), Y = 4017, Z = 799, $ = 3406, N = 2276, Q = 1567, W = 3784, R = 5793, K = 2896;
68
- function ne(q, l) {
69
- let o = 0;
70
- const u = [];
71
- let T = 16;
72
- for (; T > 0 && !q[T - 1]; )
73
- --T;
74
- u.push({ children: [], index: 0 });
75
- let w = u[0], C;
76
- for (let t = 0; t < T; t++) {
77
- for (let h = 0; h < q[t]; h++) {
78
- for (w = u.pop(), w.children[w.index] = l[o]; w.index > 0; )
79
- w = u.pop();
80
- for (w.index++, u.push(w); u.length <= t; )
81
- u.push(C = { children: [], index: 0 }), w.children[w.index] = C.children, w = C;
82
- o++;
83
- }
84
- t + 1 < T && (u.push(C = { children: [], index: 0 }), w.children[w.index] = C.children, w = C);
85
- }
86
- return u[0].children;
87
- }
88
- function ce(q, l, o, u, T, w, C, t, h) {
89
- const { mcusPerLine: F, progressive: c } = o, r = l;
90
- let b = l, i = 0, d = 0;
91
- function m() {
92
- if (d > 0)
93
- return d--, i >> d & 1;
94
- if (i = q[b++], i === 255) {
95
- const a = q[b++];
96
- if (a)
97
- throw new Error(`unexpected marker: ${(i << 8 | a).toString(16)}`);
98
- }
99
- return d = 7, i >>> 7;
100
- }
101
- function x(a) {
102
- let f = a, p;
103
- for (; (p = m()) !== null; ) {
104
- if (f = f[p], typeof f == "number")
105
- return f;
106
- if (typeof f != "object")
107
- throw new Error("invalid huffman sequence");
108
- }
109
- return null;
110
- }
111
- function E(a) {
112
- let f = a, p = 0;
113
- for (; f > 0; ) {
114
- const L = m();
115
- if (L === null)
116
- return;
117
- p = p << 1 | L, --f;
118
- }
119
- return p;
120
- }
121
- function k(a) {
122
- const f = E(a);
123
- return f >= 1 << a - 1 ? f : f + (-1 << a) + 1;
124
- }
125
- function A(a, f) {
126
- const p = x(a.huffmanTableDC), L = p === 0 ? 0 : k(p);
127
- a.pred += L, f[0] = a.pred;
128
- let D = 1;
129
- for (; D < 64; ) {
130
- const P = x(a.huffmanTableAC), y = P & 15, S = P >> 4;
131
- if (y === 0) {
132
- if (S < 15)
133
- break;
134
- D += 16;
135
- } else {
136
- D += S;
137
- const I = O[D];
138
- f[I] = k(y), D++;
139
- }
140
- }
141
- }
142
- function v(a, f) {
143
- const p = x(a.huffmanTableDC), L = p === 0 ? 0 : k(p) << h;
144
- a.pred += L, f[0] = a.pred;
145
- }
146
- function s(a, f) {
147
- f[0] |= m() << h;
148
- }
149
- let n = 0;
150
- function g(a, f) {
151
- if (n > 0) {
152
- n--;
153
- return;
154
- }
155
- let p = w;
156
- const L = C;
157
- for (; p <= L; ) {
158
- const D = x(a.huffmanTableAC), P = D & 15, y = D >> 4;
159
- if (P === 0) {
160
- if (y < 15) {
161
- n = E(y) + (1 << y) - 1;
162
- break;
163
- }
164
- p += 16;
165
- } else {
166
- p += y;
167
- const S = O[p];
168
- f[S] = k(P) * (1 << h), p++;
169
- }
170
- }
171
- }
172
- let e = 0, _;
173
- function te(a, f) {
174
- let p = w;
175
- const L = C;
176
- let D = 0;
177
- for (; p <= L; ) {
178
- const P = O[p], y = f[P] < 0 ? -1 : 1;
179
- switch (e) {
180
- case 0: {
181
- const S = x(a.huffmanTableAC), I = S & 15;
182
- if (D = S >> 4, I === 0)
183
- D < 15 ? (n = E(D) + (1 << D), e = 4) : (D = 16, e = 1);
184
- else {
185
- if (I !== 1)
186
- throw new Error("invalid ACn encoding");
187
- _ = k(I), e = D ? 2 : 3;
188
- }
189
- continue;
190
- }
191
- case 1:
192
- // skipping r zero items
193
- case 2:
194
- f[P] ? f[P] += (m() << h) * y : (D--, D === 0 && (e = e === 2 ? 3 : 0));
195
- break;
196
- case 3:
197
- f[P] ? f[P] += (m() << h) * y : (f[P] = _ << h, e = 0);
198
- break;
199
- case 4:
200
- f[P] && (f[P] += (m() << h) * y);
201
- break;
202
- }
203
- p++;
204
- }
205
- e === 4 && (n--, n === 0 && (e = 0));
206
- }
207
- function se(a, f, p, L, D) {
208
- const P = p / F | 0, y = p % F, S = P * a.v + L, I = y * a.h + D;
209
- f(a, a.blocks[S][I]);
210
- }
211
- function oe(a, f, p) {
212
- const L = p / a.blocksPerLine | 0, D = p % a.blocksPerLine;
213
- f(a, a.blocks[L][D]);
214
- }
215
- const V = u.length;
216
- let U, j, G, X, B, H;
217
- c ? w === 0 ? H = t === 0 ? v : s : H = t === 0 ? g : te : H = A;
218
- let M = 0, z, J;
219
- V === 1 ? J = u[0].blocksPerLine * u[0].blocksPerColumn : J = F * o.mcusPerColumn;
220
- const ee = T || J;
221
- for (; M < J; ) {
222
- for (j = 0; j < V; j++)
223
- u[j].pred = 0;
224
- if (n = 0, V === 1)
225
- for (U = u[0], B = 0; B < ee; B++)
226
- oe(U, H, M), M++;
227
- else
228
- for (B = 0; B < ee; B++) {
229
- for (j = 0; j < V; j++) {
230
- U = u[j];
231
- const { h: a, v: f } = U;
232
- for (G = 0; G < f; G++)
233
- for (X = 0; X < a; X++)
234
- se(U, H, M, G, X);
235
- }
236
- if (M++, M === J)
237
- break;
238
- }
239
- if (d = 0, z = q[b] << 8 | q[b + 1], z < 65280)
240
- throw new Error("marker was not found");
241
- if (z >= 65488 && z <= 65495)
242
- b += 2;
243
- else
244
- break;
245
- }
246
- return b - r;
247
- }
248
- function ie(q, l) {
249
- const o = [], { blocksPerLine: u, blocksPerColumn: T } = l, w = u << 3, C = new Int32Array(64), t = new Uint8Array(64);
250
- function h(F, c, r) {
251
- const b = l.quantizationTable;
252
- let i, d, m, x, E, k, A, v, s;
253
- const n = r;
254
- let g;
255
- for (g = 0; g < 64; g++)
256
- n[g] = F[g] * b[g];
257
- for (g = 0; g < 8; ++g) {
258
- const e = 8 * g;
259
- if (n[1 + e] === 0 && n[2 + e] === 0 && n[3 + e] === 0 && n[4 + e] === 0 && n[5 + e] === 0 && n[6 + e] === 0 && n[7 + e] === 0) {
260
- s = R * n[0 + e] + 512 >> 10, n[0 + e] = s, n[1 + e] = s, n[2 + e] = s, n[3 + e] = s, n[4 + e] = s, n[5 + e] = s, n[6 + e] = s, n[7 + e] = s;
261
- continue;
262
- }
263
- i = R * n[0 + e] + 128 >> 8, d = R * n[4 + e] + 128 >> 8, m = n[2 + e], x = n[6 + e], E = K * (n[1 + e] - n[7 + e]) + 128 >> 8, v = K * (n[1 + e] + n[7 + e]) + 128 >> 8, k = n[3 + e] << 4, A = n[5 + e] << 4, s = i - d + 1 >> 1, i = i + d + 1 >> 1, d = s, s = m * W + x * Q + 128 >> 8, m = m * Q - x * W + 128 >> 8, x = s, s = E - A + 1 >> 1, E = E + A + 1 >> 1, A = s, s = v + k + 1 >> 1, k = v - k + 1 >> 1, v = s, s = i - x + 1 >> 1, i = i + x + 1 >> 1, x = s, s = d - m + 1 >> 1, d = d + m + 1 >> 1, m = s, s = E * N + v * $ + 2048 >> 12, E = E * $ - v * N + 2048 >> 12, v = s, s = k * Z + A * Y + 2048 >> 12, k = k * Y - A * Z + 2048 >> 12, A = s, n[0 + e] = i + v, n[7 + e] = i - v, n[1 + e] = d + A, n[6 + e] = d - A, n[2 + e] = m + k, n[5 + e] = m - k, n[3 + e] = x + E, n[4 + e] = x - E;
264
- }
265
- for (g = 0; g < 8; ++g) {
266
- const e = g;
267
- if (n[8 + e] === 0 && n[16 + e] === 0 && n[24 + e] === 0 && n[32 + e] === 0 && n[40 + e] === 0 && n[48 + e] === 0 && n[56 + e] === 0) {
268
- s = R * r[g + 0] + 8192 >> 14, n[0 + e] = s, n[8 + e] = s, n[16 + e] = s, n[24 + e] = s, n[32 + e] = s, n[40 + e] = s, n[48 + e] = s, n[56 + e] = s;
269
- continue;
270
- }
271
- i = R * n[0 + e] + 2048 >> 12, d = R * n[32 + e] + 2048 >> 12, m = n[16 + e], x = n[48 + e], E = K * (n[8 + e] - n[56 + e]) + 2048 >> 12, v = K * (n[8 + e] + n[56 + e]) + 2048 >> 12, k = n[24 + e], A = n[40 + e], s = i - d + 1 >> 1, i = i + d + 1 >> 1, d = s, s = m * W + x * Q + 2048 >> 12, m = m * Q - x * W + 2048 >> 12, x = s, s = E - A + 1 >> 1, E = E + A + 1 >> 1, A = s, s = v + k + 1 >> 1, k = v - k + 1 >> 1, v = s, s = i - x + 1 >> 1, i = i + x + 1 >> 1, x = s, s = d - m + 1 >> 1, d = d + m + 1 >> 1, m = s, s = E * N + v * $ + 2048 >> 12, E = E * $ - v * N + 2048 >> 12, v = s, s = k * Z + A * Y + 2048 >> 12, k = k * Y - A * Z + 2048 >> 12, A = s, n[0 + e] = i + v, n[56 + e] = i - v, n[8 + e] = d + A, n[48 + e] = d - A, n[16 + e] = m + k, n[40 + e] = m - k, n[24 + e] = x + E, n[32 + e] = x - E;
272
- }
273
- for (g = 0; g < 64; ++g) {
274
- const e = 128 + (n[g] + 8 >> 4);
275
- e < 0 ? c[g] = 0 : e > 255 ? c[g] = 255 : c[g] = e;
276
- }
277
- }
278
- for (let F = 0; F < T; F++) {
279
- const c = F << 3;
280
- for (let r = 0; r < 8; r++)
281
- o.push(new Uint8Array(w));
282
- for (let r = 0; r < u; r++) {
283
- h(l.blocks[F][r], t, C);
284
- let b = 0;
285
- const i = r << 3;
286
- for (let d = 0; d < 8; d++) {
287
- const m = o[c + d];
288
- for (let x = 0; x < 8; x++)
289
- m[i + x] = t[b++];
290
- }
291
- }
292
- }
293
- return o;
294
- }
295
- class le {
296
- constructor() {
297
- this.jfif = null, this.adobe = null, this.quantizationTables = [], this.huffmanTablesAC = [], this.huffmanTablesDC = [], this.resetFrames();
298
- }
299
- resetFrames() {
300
- this.frames = [];
301
- }
302
- parse(l) {
303
- let o = 0;
304
- function u() {
305
- const t = l[o] << 8 | l[o + 1];
306
- return o += 2, t;
307
- }
308
- function T() {
309
- const t = u(), h = l.subarray(o, o + t - 2);
310
- return o += h.length, h;
311
- }
312
- function w(t) {
313
- let h = 0, F = 0, c, r;
314
- for (r in t.components)
315
- t.components.hasOwnProperty(r) && (c = t.components[r], h < c.h && (h = c.h), F < c.v && (F = c.v));
316
- const b = Math.ceil(t.samplesPerLine / 8 / h), i = Math.ceil(t.scanLines / 8 / F);
317
- for (r in t.components)
318
- if (t.components.hasOwnProperty(r)) {
319
- c = t.components[r];
320
- const d = Math.ceil(Math.ceil(t.samplesPerLine / 8) * c.h / h), m = Math.ceil(Math.ceil(t.scanLines / 8) * c.v / F), x = b * c.h, E = i * c.v, k = [];
321
- for (let A = 0; A < E; A++) {
322
- const v = [];
323
- for (let s = 0; s < x; s++)
324
- v.push(new Int32Array(64));
325
- k.push(v);
326
- }
327
- c.blocksPerLine = d, c.blocksPerColumn = m, c.blocks = k;
328
- }
329
- t.maxH = h, t.maxV = F, t.mcusPerLine = b, t.mcusPerColumn = i;
330
- }
331
- let C = u();
332
- if (C !== 65496)
333
- throw new Error("SOI not found");
334
- for (C = u(); C !== 65497; ) {
335
- switch (C) {
336
- case 65280:
337
- break;
338
- case 65504:
339
- // APP0 (Application Specific)
340
- case 65505:
341
- // APP1
342
- case 65506:
343
- // APP2
344
- case 65507:
345
- // APP3
346
- case 65508:
347
- // APP4
348
- case 65509:
349
- // APP5
350
- case 65510:
351
- // APP6
352
- case 65511:
353
- // APP7
354
- case 65512:
355
- // APP8
356
- case 65513:
357
- // APP9
358
- case 65514:
359
- // APP10
360
- case 65515:
361
- // APP11
362
- case 65516:
363
- // APP12
364
- case 65517:
365
- // APP13
366
- case 65518:
367
- // APP14
368
- case 65519:
369
- // APP15
370
- case 65534: {
371
- const t = T();
372
- C === 65504 && t[0] === 74 && t[1] === 70 && t[2] === 73 && t[3] === 70 && t[4] === 0 && (this.jfif = {
373
- version: { major: t[5], minor: t[6] },
374
- densityUnits: t[7],
375
- xDensity: t[8] << 8 | t[9],
376
- yDensity: t[10] << 8 | t[11],
377
- thumbWidth: t[12],
378
- thumbHeight: t[13],
379
- thumbData: t.subarray(14, 14 + 3 * t[12] * t[13])
380
- }), C === 65518 && t[0] === 65 && t[1] === 100 && t[2] === 111 && t[3] === 98 && t[4] === 101 && t[5] === 0 && (this.adobe = {
381
- version: t[6],
382
- flags0: t[7] << 8 | t[8],
383
- flags1: t[9] << 8 | t[10],
384
- transformCode: t[11]
385
- });
386
- break;
387
- }
388
- case 65499: {
389
- const h = u() + o - 2;
390
- for (; o < h; ) {
391
- const F = l[o++], c = new Int32Array(64);
392
- if (F >> 4 === 0)
393
- for (let r = 0; r < 64; r++) {
394
- const b = O[r];
395
- c[b] = l[o++];
396
- }
397
- else if (F >> 4 === 1)
398
- for (let r = 0; r < 64; r++) {
399
- const b = O[r];
400
- c[b] = u();
401
- }
402
- else
403
- throw new Error("DQT: invalid table spec");
404
- this.quantizationTables[F & 15] = c;
405
- }
406
- break;
407
- }
408
- case 65472:
409
- // SOF0 (Start of Frame, Baseline DCT)
410
- case 65473:
411
- // SOF1 (Start of Frame, Extended DCT)
412
- case 65474: {
413
- u();
414
- const t = {
415
- extended: C === 65473,
416
- progressive: C === 65474,
417
- precision: l[o++],
418
- scanLines: u(),
419
- samplesPerLine: u(),
420
- components: {},
421
- componentsOrder: []
422
- }, h = l[o++];
423
- let F;
424
- for (let c = 0; c < h; c++) {
425
- F = l[o];
426
- const r = l[o + 1] >> 4, b = l[o + 1] & 15, i = l[o + 2];
427
- t.componentsOrder.push(F), t.components[F] = {
428
- h: r,
429
- v: b,
430
- quantizationIdx: i
431
- }, o += 3;
432
- }
433
- w(t), this.frames.push(t);
434
- break;
435
- }
436
- case 65476: {
437
- const t = u();
438
- for (let h = 2; h < t; ) {
439
- const F = l[o++], c = new Uint8Array(16);
440
- let r = 0;
441
- for (let i = 0; i < 16; i++, o++)
442
- c[i] = l[o], r += c[i];
443
- const b = new Uint8Array(r);
444
- for (let i = 0; i < r; i++, o++)
445
- b[i] = l[o];
446
- h += 17 + r, F >> 4 === 0 ? this.huffmanTablesDC[F & 15] = ne(
447
- c,
448
- b
449
- ) : this.huffmanTablesAC[F & 15] = ne(
450
- c,
451
- b
452
- );
453
- }
454
- break;
455
- }
456
- case 65501:
457
- u(), this.resetInterval = u();
458
- break;
459
- case 65498: {
460
- u();
461
- const t = l[o++], h = [], F = this.frames[0];
462
- for (let d = 0; d < t; d++) {
463
- const m = F.components[l[o++]], x = l[o++];
464
- m.huffmanTableDC = this.huffmanTablesDC[x >> 4], m.huffmanTableAC = this.huffmanTablesAC[x & 15], h.push(m);
465
- }
466
- const c = l[o++], r = l[o++], b = l[o++], i = ce(
467
- l,
468
- o,
469
- F,
470
- h,
471
- this.resetInterval,
472
- c,
473
- r,
474
- b >> 4,
475
- b & 15
476
- );
477
- o += i;
478
- break;
479
- }
480
- case 65535:
481
- l[o] !== 255 && o--;
482
- break;
483
- default:
484
- if (l[o - 3] === 255 && l[o - 2] >= 192 && l[o - 2] <= 254) {
485
- o -= 3;
486
- break;
487
- }
488
- throw new Error(`unknown JPEG marker ${C.toString(16)}`);
489
- }
490
- C = u();
491
- }
492
- }
493
- getResult() {
494
- const { frames: l } = this;
495
- if (this.frames.length === 0)
496
- throw new Error("no frames were decoded");
497
- this.frames.length > 1 && console.warn("more than one frame is not supported");
498
- for (let c = 0; c < this.frames.length; c++) {
499
- const r = this.frames[c].components;
500
- for (const b of Object.keys(r))
501
- r[b].quantizationTable = this.quantizationTables[r[b].quantizationIdx], delete r[b].quantizationIdx;
502
- }
503
- const o = l[0], { components: u, componentsOrder: T } = o, w = [], C = o.samplesPerLine, t = o.scanLines;
504
- for (let c = 0; c < T.length; c++) {
505
- const r = u[T[c]];
506
- w.push({
507
- lines: ie(o, r),
508
- scaleX: r.h / o.maxH,
509
- scaleY: r.v / o.maxV
510
- });
511
- }
512
- const h = new Uint8Array(C * t * w.length);
513
- let F = 0;
514
- for (let c = 0; c < t; ++c)
515
- for (let r = 0; r < C; ++r)
516
- for (let b = 0; b < w.length; ++b) {
517
- const i = w[b];
518
- h[F] = i.lines[0 | c * i.scaleY][0 | r * i.scaleX], ++F;
519
- }
520
- return h;
521
- }
522
- }
523
- class fe extends re {
524
- constructor(l) {
525
- super(), this.reader = new le(), l.JPEGTables && this.reader.parse(l.JPEGTables);
526
- }
527
- decodeBlock(l) {
528
- return this.reader.resetFrames(), this.reader.parse(new Uint8Array(l)), this.reader.getResult().buffer;
529
- }
530
- }
531
- export {
532
- fe as default
533
- };