@blazediff/cli 2.0.2 → 2.0.4
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/dist/cli.js +403 -396
- package/dist/commands/core.js +251 -244
- package/dist/commands/gmsd.js +172 -172
- package/dist/commands/hitchhikers-ssim.js +175 -175
- package/dist/commands/msssim.js +181 -181
- package/dist/commands/ssim.js +196 -196
- package/package.json +4 -3
package/dist/cli.js
CHANGED
|
@@ -165,112 +165,119 @@ var init_bin = __esm({
|
|
|
165
165
|
});
|
|
166
166
|
|
|
167
167
|
// ../core/dist/index.mjs
|
|
168
|
-
function g(n2,
|
|
169
|
-
if (!
|
|
170
|
-
if (n2.length !==
|
|
171
|
-
if (n2.length !==
|
|
172
|
-
if (
|
|
173
|
-
if (
|
|
168
|
+
function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s2 = [255, 255, 0], diffColor: a2 = [255, 0, 0], includeAA: U3, diffColorAlt: O2, diffMask: b, fastBufferCheck: y = true } = {}) {
|
|
169
|
+
if (!_(n2) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
|
|
170
|
+
if (n2.length !== r.length || t && t.length !== n2.length) throw new Error(`Image sizes do not match. Image 1 size: ${n2.length}, image 2 size: ${r.length}`);
|
|
171
|
+
if (n2.length !== e * o2 * 4) throw new Error(`Image data size does not match width/height. Expecting ${e * o2 * 4}. Got ${n2.length}`);
|
|
172
|
+
if (y && typeof Buffer < "u" && Buffer.compare && n2 instanceof Uint8Array && r instanceof Uint8Array && Buffer.compare(n2, r) === 0) {
|
|
173
|
+
if (t && !b) for (let A = 0; A < e * o2; A++) L(n2, A * 4, c2, t);
|
|
174
174
|
return 0;
|
|
175
175
|
}
|
|
176
|
-
let
|
|
177
|
-
for (let
|
|
178
|
-
let
|
|
179
|
-
n: for (let
|
|
180
|
-
let
|
|
181
|
-
for (let
|
|
182
|
-
let
|
|
183
|
-
if (
|
|
184
|
-
let S3 =
|
|
185
|
-
if (Math.abs(
|
|
186
|
-
|
|
176
|
+
let m2 = e * o2, u = new Uint32Array(n2.buffer, n2.byteOffset, m2), d2 = new Uint32Array(r.buffer, r.byteOffset, m2), l = tn(e, o2), i2 = Math.ceil(e / l), I2 = Math.ceil(o2 / l), z2 = i2 * I2, x = new Uint16Array(z2), M = 35215 * f2 * f2, B = 0;
|
|
177
|
+
for (let A = 0; A < I2; A++) for (let R = 0; R < i2; R++) {
|
|
178
|
+
let p2 = R * l, v = A * l, D3 = Math.min(p2 + l, e), P4 = Math.min(v + l, o2), $ = false;
|
|
179
|
+
n: for (let C3 = v; C3 < P4; C3++) {
|
|
180
|
+
let Y = C3 * e;
|
|
181
|
+
for (let G = p2; G < D3; G++) {
|
|
182
|
+
let E3 = Y + G;
|
|
183
|
+
if (u[E3] === d2[E3]) continue;
|
|
184
|
+
let S3 = E3 * 4, X2 = N(n2, r, S3, S3);
|
|
185
|
+
if (Math.abs(X2) > M) {
|
|
186
|
+
$ = true;
|
|
187
187
|
break n;
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
-
if (
|
|
192
|
-
else if (
|
|
193
|
-
let
|
|
194
|
-
for (let
|
|
195
|
-
let
|
|
196
|
-
L(n2,
|
|
191
|
+
if ($) x[B++] = A * i2 + R;
|
|
192
|
+
else if (t && !b) for (let C3 = v; C3 < P4; C3++) {
|
|
193
|
+
let Y = C3 * e;
|
|
194
|
+
for (let G = p2; G < D3; G++) {
|
|
195
|
+
let E3 = Y + G;
|
|
196
|
+
L(n2, E3 * 4, c2, t);
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
if (
|
|
201
|
-
let [
|
|
202
|
-
for (let
|
|
203
|
-
let R =
|
|
204
|
-
for (let
|
|
205
|
-
let
|
|
206
|
-
for (let
|
|
207
|
-
let S3 =
|
|
208
|
-
if (
|
|
209
|
-
|
|
200
|
+
if (B === 0) return 0;
|
|
201
|
+
let [F2, J, K2] = s2, [Q2, W2, Z2] = a2, [k, w, h2] = O2 || a2, T = 0;
|
|
202
|
+
for (let A = 0; A < B; A++) {
|
|
203
|
+
let R = x[A], p2 = R % i2, v = R / i2 | 0, D3 = p2 * l, P4 = v * l, $ = Math.min(D3 + l, e), C3 = Math.min(P4 + l, o2);
|
|
204
|
+
for (let Y = P4; Y < C3; Y++) {
|
|
205
|
+
let G = Y * e;
|
|
206
|
+
for (let E3 = D3; E3 < $; E3++) {
|
|
207
|
+
let S3 = G + E3, X2 = S3 * 4;
|
|
208
|
+
if (u[S3] === d2[S3]) {
|
|
209
|
+
t && !b && L(n2, X2, c2, t);
|
|
210
210
|
continue;
|
|
211
211
|
}
|
|
212
|
-
let
|
|
213
|
-
Math.abs(
|
|
212
|
+
let H3 = N(n2, r, X2, X2);
|
|
213
|
+
Math.abs(H3) > M ? !U3 && (j(n2, E3, Y, e, o2, u, d2) || j(r, E3, Y, e, o2, d2, u)) ? t && !b && V(t, X2, F2, J, K2) : (t && (H3 < 0 ? V(t, X2, k, w, h2) : V(t, X2, Q2, W2, Z2)), T++) : t && !b && L(n2, X2, c2, t);
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
-
return
|
|
217
|
+
return T;
|
|
218
218
|
}
|
|
219
|
-
function
|
|
220
|
-
let r = n2 * e, t = Math.sqrt(r) / 100, o2 = 16 * Math.sqrt(t), l = Math.log(o2) * nn;
|
|
221
|
-
return 1 << Math.round(l);
|
|
222
|
-
}
|
|
223
|
-
function T(n2) {
|
|
219
|
+
function _(n2) {
|
|
224
220
|
return ArrayBuffer.isView(n2) && n2.BYTES_PER_ELEMENT === 1;
|
|
225
221
|
}
|
|
226
|
-
function
|
|
227
|
-
let
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
222
|
+
function tn(n2, r) {
|
|
223
|
+
let t = n2 * r, e = Math.sqrt(t) / 100, o2 = 16 * Math.sqrt(e), f2 = Math.log(o2) * nn;
|
|
224
|
+
return 1 << Math.round(f2);
|
|
225
|
+
}
|
|
226
|
+
function N(n2, r, t, e) {
|
|
227
|
+
let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s2 = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m2 = f2 - U3, u = c2 - O2, d2 = s2 - b;
|
|
228
|
+
if (!y && !m2 && !u && !d2) return 0;
|
|
229
|
+
if (s2 < 255 || b < 255) {
|
|
230
|
+
let x = 48 + 159 * (t % 2), M = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), B = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
|
|
231
|
+
y = (o2 * s2 - a2 * b - x * d2) / 255, m2 = (f2 * s2 - U3 * b - M * d2) / 255, u = (c2 * s2 - O2 * b - B * d2) / 255;
|
|
232
|
+
}
|
|
233
|
+
let l = y * 0.29889531 + m2 * 0.58662247 + u * 0.11448223, i2 = y * 0.59597799 - m2 * 0.2741761 - u * 0.32180189, I2 = y * 0.21147017 - m2 * 0.52261711 + u * 0.31114694, z2 = 0.5053 * l * l + 0.299 * i2 * i2 + 0.1957 * I2 * I2;
|
|
234
|
+
return l > 0 ? -z2 : z2;
|
|
235
|
+
}
|
|
236
|
+
function rn(n2, r, t, e) {
|
|
237
|
+
let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2], s2 = n2[t + 3], a2 = r[e], U3 = r[e + 1], O2 = r[e + 2], b = r[e + 3], y = o2 - a2, m2 = f2 - U3, u = c2 - O2, d2 = s2 - b;
|
|
238
|
+
if (!y && !m2 && !u && !d2) return 0;
|
|
239
|
+
if (s2 < 255 || b < 255) {
|
|
240
|
+
let i2 = 48 + 159 * (t % 2), I2 = 48 + 159 * ((t / 1.618033988749895 | 0) & 1), z2 = 48 + 159 * ((t / 2.618033988749895 | 0) & 1);
|
|
241
|
+
y = (o2 * s2 - a2 * b - i2 * d2) / 255, m2 = (f2 * s2 - U3 * b - I2 * d2) / 255, u = (c2 * s2 - O2 * b - z2 * d2) / 255;
|
|
242
|
+
}
|
|
243
|
+
return y * 0.29889531 + m2 * 0.58662247 + u * 0.11448223;
|
|
236
244
|
}
|
|
237
|
-
function
|
|
238
|
-
let
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
245
|
+
function j(n2, r, t, e, o2, f2, c2) {
|
|
246
|
+
let s2 = Math.max(r - 1, 0), a2 = Math.max(t - 1, 0), U3 = Math.min(r + 1, e - 1), O2 = Math.min(t + 1, o2 - 1), y = (t * e + r) * 4, m2 = r === s2 || r === U3 || t === a2 || t === O2 ? 1 : 0, u = 0, d2 = 0, l = 0, i2 = 0, I2 = 0, z2 = 0;
|
|
247
|
+
for (let x = s2; x <= U3; x++) for (let M = a2; M <= O2; M++) {
|
|
248
|
+
if (x === r && M === t) continue;
|
|
249
|
+
let B = rn(n2, n2, y, (M * e + x) * 4);
|
|
250
|
+
if (B === 0) {
|
|
251
|
+
if (m2++, m2 > 2) return false;
|
|
252
|
+
} else B < u ? (u = B, l = x, i2 = M) : B > d2 && (d2 = B, I2 = x, z2 = M);
|
|
253
|
+
}
|
|
254
|
+
return u === 0 || d2 === 0 ? false : q(f2, l, i2, e, o2) && q(c2, l, i2, e, o2) || q(f2, I2, z2, e, o2) && q(c2, I2, z2, e, o2);
|
|
255
|
+
}
|
|
256
|
+
function q(n2, r, t, e, o2) {
|
|
257
|
+
let f2 = t * e + r, c2 = n2[f2], s2 = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
|
|
258
|
+
if (t > 0) {
|
|
259
|
+
let a2 = f2 - e;
|
|
260
|
+
r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
|
|
242
261
|
}
|
|
243
|
-
if (
|
|
244
|
-
let
|
|
245
|
-
|
|
262
|
+
if (r > 0 && n2[f2 - 1] === c2 && s2++, r < e - 1 && n2[f2 + 1] === c2 && s2++, t < o2 - 1) {
|
|
263
|
+
let a2 = f2 + e;
|
|
264
|
+
r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
|
|
246
265
|
}
|
|
247
|
-
return
|
|
248
|
-
}
|
|
249
|
-
function H(n2, e, r, t, o2) {
|
|
250
|
-
let l = n2[r], s = n2[r + 1], a2 = n2[r + 2], c2 = n2[r + 3], G = e[t], X2 = e[t + 1], B = e[t + 2], E3 = e[t + 3], y = l - G, b = s - X2, u = a2 - B, f2 = c2 - E3;
|
|
251
|
-
if (!y && !b && !u && !f2) return 0;
|
|
252
|
-
if (c2 < 255 || E3 < 255) {
|
|
253
|
-
let A = 48 + 159 * (r % 2), I2 = 48 + 159 * ((r / 1.618033988749895 | 0) & 1), _ = 48 + 159 * ((r / 2.618033988749895 | 0) & 1);
|
|
254
|
-
y = (l * c2 - G * E3 - A * f2) / 255, b = (s * c2 - X2 * E3 - I2 * f2) / 255, u = (a2 * c2 - B * E3 - _ * f2) / 255;
|
|
255
|
-
}
|
|
256
|
-
let m = y * 0.29889531 + b * 0.58662247 + u * 0.11448223;
|
|
257
|
-
if (o2) return m;
|
|
258
|
-
let x = y * 0.59597799 - b * 0.2741761 - u * 0.32180189, Y = y * 0.21147017 - b * 0.52261711 + u * 0.31114694, d2 = 0.5053 * m * m + 0.299 * x * x + 0.1957 * Y * Y;
|
|
259
|
-
return m > 0 ? -d2 : d2;
|
|
266
|
+
return s2 > 2;
|
|
260
267
|
}
|
|
261
|
-
function
|
|
262
|
-
n2[
|
|
268
|
+
function L(n2, r, t, e) {
|
|
269
|
+
let o2 = 255 + (n2[r] * 0.29889531 + n2[r + 1] * 0.58662247 + n2[r + 2] * 0.11448223 - 255) * t * n2[r + 3] / 255;
|
|
270
|
+
V(e, r, o2, o2, o2);
|
|
263
271
|
}
|
|
264
|
-
function
|
|
265
|
-
|
|
266
|
-
V(t, e, o2, o2, o2);
|
|
272
|
+
function V(n2, r, t, e, o2) {
|
|
273
|
+
n2[r + 0] = t, n2[r + 1] = e, n2[r + 2] = o2, n2[r + 3] = 255;
|
|
267
274
|
}
|
|
268
|
-
var nn,
|
|
275
|
+
var nn, on;
|
|
269
276
|
var init_dist = __esm({
|
|
270
277
|
"../core/dist/index.mjs"() {
|
|
271
278
|
"use strict";
|
|
272
279
|
nn = Math.LOG2E;
|
|
273
|
-
|
|
280
|
+
on = g;
|
|
274
281
|
}
|
|
275
282
|
});
|
|
276
283
|
|
|
@@ -463,15 +470,15 @@ var require_interlace = __commonJS({
|
|
|
463
470
|
let pass = imagePasses[i2];
|
|
464
471
|
let passWidth = xRepeats * pass.x.length;
|
|
465
472
|
let passHeight = yRepeats * pass.y.length;
|
|
466
|
-
for (let
|
|
467
|
-
if (pass.x[
|
|
473
|
+
for (let j3 = 0; j3 < pass.x.length; j3++) {
|
|
474
|
+
if (pass.x[j3] < xLeftOver) {
|
|
468
475
|
passWidth++;
|
|
469
476
|
} else {
|
|
470
477
|
break;
|
|
471
478
|
}
|
|
472
479
|
}
|
|
473
|
-
for (let
|
|
474
|
-
if (pass.y[
|
|
480
|
+
for (let j3 = 0; j3 < pass.y.length; j3++) {
|
|
481
|
+
if (pass.y[j3] < yLeftOver) {
|
|
475
482
|
passHeight++;
|
|
476
483
|
} else {
|
|
477
484
|
break;
|
|
@@ -725,7 +732,7 @@ var require_crc = __commonJS({
|
|
|
725
732
|
(function() {
|
|
726
733
|
for (let i2 = 0; i2 < 256; i2++) {
|
|
727
734
|
let currentCrc = i2;
|
|
728
|
-
for (let
|
|
735
|
+
for (let j3 = 0; j3 < 8; j3++) {
|
|
729
736
|
if (currentCrc & 1) {
|
|
730
737
|
currentCrc = 3988292384 ^ currentCrc >>> 1;
|
|
731
738
|
} else {
|
|
@@ -2365,37 +2372,37 @@ var require_png = __commonJS({
|
|
|
2365
2372
|
// ../pngjs-transformer/dist/index.mjs
|
|
2366
2373
|
var dist_exports = {};
|
|
2367
2374
|
__export(dist_exports, {
|
|
2368
|
-
default: () =>
|
|
2369
|
-
pngjsTransformer: () =>
|
|
2375
|
+
default: () => m,
|
|
2376
|
+
pngjsTransformer: () => c
|
|
2370
2377
|
});
|
|
2371
2378
|
async function d(r) {
|
|
2372
|
-
return new Promise((
|
|
2379
|
+
return new Promise((n2, a2) => {
|
|
2373
2380
|
try {
|
|
2374
2381
|
let t = typeof r == "string" ? (0, import_fs.readFileSync)(r) : r, e = import_pngjs.PNG.sync.read(t);
|
|
2375
|
-
|
|
2382
|
+
n2({ data: e.data, width: e.width, height: e.height });
|
|
2376
2383
|
} catch (t) {
|
|
2377
|
-
|
|
2384
|
+
a2(new Error(`Failed to read PNG file ${r}: ${t}`));
|
|
2378
2385
|
}
|
|
2379
2386
|
});
|
|
2380
2387
|
}
|
|
2381
|
-
async function
|
|
2382
|
-
return new Promise((
|
|
2388
|
+
async function s(r, n2) {
|
|
2389
|
+
return new Promise((a2, t) => {
|
|
2383
2390
|
try {
|
|
2384
2391
|
let e = new import_pngjs.PNG({ width: r.width, height: r.height });
|
|
2385
|
-
e.data = Buffer.from(r.data.buffer), (0, import_fs.writeFileSync)(
|
|
2392
|
+
e.data = Buffer.isBuffer(r.data) ? r.data : Buffer.from(r.data.buffer), (0, import_fs.writeFileSync)(n2, import_pngjs.PNG.sync.write(e)), a2();
|
|
2386
2393
|
} catch (e) {
|
|
2387
|
-
t(new Error(`Failed to write PNG file ${
|
|
2394
|
+
t(new Error(`Failed to write PNG file ${n2}: ${e}`));
|
|
2388
2395
|
}
|
|
2389
2396
|
});
|
|
2390
2397
|
}
|
|
2391
|
-
var import_fs, import_pngjs,
|
|
2398
|
+
var import_fs, import_pngjs, c, m;
|
|
2392
2399
|
var init_dist2 = __esm({
|
|
2393
2400
|
"../pngjs-transformer/dist/index.mjs"() {
|
|
2394
2401
|
"use strict";
|
|
2395
2402
|
import_fs = require("fs");
|
|
2396
2403
|
import_pngjs = __toESM(require_png(), 1);
|
|
2397
|
-
|
|
2398
|
-
|
|
2404
|
+
c = { read: d, write: s };
|
|
2405
|
+
m = c;
|
|
2399
2406
|
}
|
|
2400
2407
|
});
|
|
2401
2408
|
|
|
@@ -2690,7 +2697,7 @@ var require_detect_libc = __commonJS({
|
|
|
2690
2697
|
}
|
|
2691
2698
|
return null;
|
|
2692
2699
|
};
|
|
2693
|
-
var versionSuffix = (
|
|
2700
|
+
var versionSuffix = (s2) => s2.trim().split(/\s+/)[1];
|
|
2694
2701
|
var versionFromCommand = (out) => {
|
|
2695
2702
|
const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
|
|
2696
2703
|
if (getconf && getconf.includes(GLIBC)) {
|
|
@@ -2943,14 +2950,14 @@ var require_semver = __commonJS({
|
|
|
2943
2950
|
this.options = options;
|
|
2944
2951
|
this.loose = !!options.loose;
|
|
2945
2952
|
this.includePrerelease = !!options.includePrerelease;
|
|
2946
|
-
const
|
|
2947
|
-
if (!
|
|
2953
|
+
const m2 = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
2954
|
+
if (!m2) {
|
|
2948
2955
|
throw new TypeError(`Invalid Version: ${version}`);
|
|
2949
2956
|
}
|
|
2950
2957
|
this.raw = version;
|
|
2951
|
-
this.major = +
|
|
2952
|
-
this.minor = +
|
|
2953
|
-
this.patch = +
|
|
2958
|
+
this.major = +m2[1];
|
|
2959
|
+
this.minor = +m2[2];
|
|
2960
|
+
this.patch = +m2[3];
|
|
2954
2961
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
2955
2962
|
throw new TypeError("Invalid major version");
|
|
2956
2963
|
}
|
|
@@ -2960,10 +2967,10 @@ var require_semver = __commonJS({
|
|
|
2960
2967
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
2961
2968
|
throw new TypeError("Invalid patch version");
|
|
2962
2969
|
}
|
|
2963
|
-
if (!
|
|
2970
|
+
if (!m2[4]) {
|
|
2964
2971
|
this.prerelease = [];
|
|
2965
2972
|
} else {
|
|
2966
|
-
this.prerelease =
|
|
2973
|
+
this.prerelease = m2[4].split(".").map((id) => {
|
|
2967
2974
|
if (/^[0-9]+$/.test(id)) {
|
|
2968
2975
|
const num = +id;
|
|
2969
2976
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
@@ -2973,7 +2980,7 @@ var require_semver = __commonJS({
|
|
|
2973
2980
|
return id;
|
|
2974
2981
|
});
|
|
2975
2982
|
}
|
|
2976
|
-
this.build =
|
|
2983
|
+
this.build = m2[5] ? m2[5].split(".") : [];
|
|
2977
2984
|
this.format();
|
|
2978
2985
|
}
|
|
2979
2986
|
format() {
|
|
@@ -3432,18 +3439,18 @@ var require_comparator = __commonJS({
|
|
|
3432
3439
|
}
|
|
3433
3440
|
parse(comp) {
|
|
3434
3441
|
const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
3435
|
-
const
|
|
3436
|
-
if (!
|
|
3442
|
+
const m2 = comp.match(r);
|
|
3443
|
+
if (!m2) {
|
|
3437
3444
|
throw new TypeError(`Invalid comparator: ${comp}`);
|
|
3438
3445
|
}
|
|
3439
|
-
this.operator =
|
|
3446
|
+
this.operator = m2[1] !== void 0 ? m2[1] : "";
|
|
3440
3447
|
if (this.operator === "=") {
|
|
3441
3448
|
this.operator = "";
|
|
3442
3449
|
}
|
|
3443
|
-
if (!
|
|
3450
|
+
if (!m2[2]) {
|
|
3444
3451
|
this.semver = ANY;
|
|
3445
3452
|
} else {
|
|
3446
|
-
this.semver = new SemVer(
|
|
3453
|
+
this.semver = new SemVer(m2[2], this.options.loose);
|
|
3447
3454
|
}
|
|
3448
3455
|
}
|
|
3449
3456
|
toString() {
|
|
@@ -3703,20 +3710,20 @@ var require_range = __commonJS({
|
|
|
3703
3710
|
};
|
|
3704
3711
|
var replaceTilde = (comp, options) => {
|
|
3705
3712
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
3706
|
-
return comp.replace(r, (
|
|
3707
|
-
debug("tilde", comp,
|
|
3713
|
+
return comp.replace(r, (_2, M, m2, p2, pr) => {
|
|
3714
|
+
debug("tilde", comp, _2, M, m2, p2, pr);
|
|
3708
3715
|
let ret;
|
|
3709
3716
|
if (isX(M)) {
|
|
3710
3717
|
ret = "";
|
|
3711
|
-
} else if (isX(
|
|
3718
|
+
} else if (isX(m2)) {
|
|
3712
3719
|
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
3713
3720
|
} else if (isX(p2)) {
|
|
3714
|
-
ret = `>=${M}.${
|
|
3721
|
+
ret = `>=${M}.${m2}.0 <${M}.${+m2 + 1}.0-0`;
|
|
3715
3722
|
} else if (pr) {
|
|
3716
3723
|
debug("replaceTilde pr", pr);
|
|
3717
|
-
ret = `>=${M}.${
|
|
3724
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3718
3725
|
} else {
|
|
3719
|
-
ret = `>=${M}.${
|
|
3726
|
+
ret = `>=${M}.${m2}.${p2} <${M}.${+m2 + 1}.0-0`;
|
|
3720
3727
|
}
|
|
3721
3728
|
debug("tilde return", ret);
|
|
3722
3729
|
return ret;
|
|
@@ -3729,40 +3736,40 @@ var require_range = __commonJS({
|
|
|
3729
3736
|
debug("caret", comp, options);
|
|
3730
3737
|
const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
3731
3738
|
const z2 = options.includePrerelease ? "-0" : "";
|
|
3732
|
-
return comp.replace(r, (
|
|
3733
|
-
debug("caret", comp,
|
|
3739
|
+
return comp.replace(r, (_2, M, m2, p2, pr) => {
|
|
3740
|
+
debug("caret", comp, _2, M, m2, p2, pr);
|
|
3734
3741
|
let ret;
|
|
3735
3742
|
if (isX(M)) {
|
|
3736
3743
|
ret = "";
|
|
3737
|
-
} else if (isX(
|
|
3744
|
+
} else if (isX(m2)) {
|
|
3738
3745
|
ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
|
|
3739
3746
|
} else if (isX(p2)) {
|
|
3740
3747
|
if (M === "0") {
|
|
3741
|
-
ret = `>=${M}.${
|
|
3748
|
+
ret = `>=${M}.${m2}.0${z2} <${M}.${+m2 + 1}.0-0`;
|
|
3742
3749
|
} else {
|
|
3743
|
-
ret = `>=${M}.${
|
|
3750
|
+
ret = `>=${M}.${m2}.0${z2} <${+M + 1}.0.0-0`;
|
|
3744
3751
|
}
|
|
3745
3752
|
} else if (pr) {
|
|
3746
3753
|
debug("replaceCaret pr", pr);
|
|
3747
3754
|
if (M === "0") {
|
|
3748
|
-
if (
|
|
3749
|
-
ret = `>=${M}.${
|
|
3755
|
+
if (m2 === "0") {
|
|
3756
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${m2}.${+p2 + 1}-0`;
|
|
3750
3757
|
} else {
|
|
3751
|
-
ret = `>=${M}.${
|
|
3758
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3752
3759
|
}
|
|
3753
3760
|
} else {
|
|
3754
|
-
ret = `>=${M}.${
|
|
3761
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${+M + 1}.0.0-0`;
|
|
3755
3762
|
}
|
|
3756
3763
|
} else {
|
|
3757
3764
|
debug("no pr");
|
|
3758
3765
|
if (M === "0") {
|
|
3759
|
-
if (
|
|
3760
|
-
ret = `>=${M}.${
|
|
3766
|
+
if (m2 === "0") {
|
|
3767
|
+
ret = `>=${M}.${m2}.${p2}${z2} <${M}.${m2}.${+p2 + 1}-0`;
|
|
3761
3768
|
} else {
|
|
3762
|
-
ret = `>=${M}.${
|
|
3769
|
+
ret = `>=${M}.${m2}.${p2}${z2} <${M}.${+m2 + 1}.0-0`;
|
|
3763
3770
|
}
|
|
3764
3771
|
} else {
|
|
3765
|
-
ret = `>=${M}.${
|
|
3772
|
+
ret = `>=${M}.${m2}.${p2} <${+M + 1}.0.0-0`;
|
|
3766
3773
|
}
|
|
3767
3774
|
}
|
|
3768
3775
|
debug("caret return", ret);
|
|
@@ -3776,10 +3783,10 @@ var require_range = __commonJS({
|
|
|
3776
3783
|
var replaceXRange = (comp, options) => {
|
|
3777
3784
|
comp = comp.trim();
|
|
3778
3785
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
3779
|
-
return comp.replace(r, (ret, gtlt, M,
|
|
3780
|
-
debug("xRange", comp, ret, gtlt, M,
|
|
3786
|
+
return comp.replace(r, (ret, gtlt, M, m2, p2, pr) => {
|
|
3787
|
+
debug("xRange", comp, ret, gtlt, M, m2, p2, pr);
|
|
3781
3788
|
const xM = isX(M);
|
|
3782
|
-
const xm = xM || isX(
|
|
3789
|
+
const xm = xM || isX(m2);
|
|
3783
3790
|
const xp = xm || isX(p2);
|
|
3784
3791
|
const anyX = xp;
|
|
3785
3792
|
if (gtlt === "=" && anyX) {
|
|
@@ -3794,17 +3801,17 @@ var require_range = __commonJS({
|
|
|
3794
3801
|
}
|
|
3795
3802
|
} else if (gtlt && anyX) {
|
|
3796
3803
|
if (xm) {
|
|
3797
|
-
|
|
3804
|
+
m2 = 0;
|
|
3798
3805
|
}
|
|
3799
3806
|
p2 = 0;
|
|
3800
3807
|
if (gtlt === ">") {
|
|
3801
3808
|
gtlt = ">=";
|
|
3802
3809
|
if (xm) {
|
|
3803
3810
|
M = +M + 1;
|
|
3804
|
-
|
|
3811
|
+
m2 = 0;
|
|
3805
3812
|
p2 = 0;
|
|
3806
3813
|
} else {
|
|
3807
|
-
|
|
3814
|
+
m2 = +m2 + 1;
|
|
3808
3815
|
p2 = 0;
|
|
3809
3816
|
}
|
|
3810
3817
|
} else if (gtlt === "<=") {
|
|
@@ -3812,17 +3819,17 @@ var require_range = __commonJS({
|
|
|
3812
3819
|
if (xm) {
|
|
3813
3820
|
M = +M + 1;
|
|
3814
3821
|
} else {
|
|
3815
|
-
|
|
3822
|
+
m2 = +m2 + 1;
|
|
3816
3823
|
}
|
|
3817
3824
|
}
|
|
3818
3825
|
if (gtlt === "<") {
|
|
3819
3826
|
pr = "-0";
|
|
3820
3827
|
}
|
|
3821
|
-
ret = `${gtlt + M}.${
|
|
3828
|
+
ret = `${gtlt + M}.${m2}.${p2}${pr}`;
|
|
3822
3829
|
} else if (xm) {
|
|
3823
3830
|
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
|
|
3824
3831
|
} else if (xp) {
|
|
3825
|
-
ret = `>=${M}.${
|
|
3832
|
+
ret = `>=${M}.${m2}.0${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3826
3833
|
}
|
|
3827
3834
|
debug("xRange return", ret);
|
|
3828
3835
|
return ret;
|
|
@@ -4227,7 +4234,7 @@ var require_libvips = __commonJS({
|
|
|
4227
4234
|
}
|
|
4228
4235
|
return false;
|
|
4229
4236
|
};
|
|
4230
|
-
var sha512 = (
|
|
4237
|
+
var sha512 = (s2) => createHash("sha512").update(s2).digest("hex");
|
|
4231
4238
|
var yarnLocator = () => {
|
|
4232
4239
|
try {
|
|
4233
4240
|
const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`);
|
|
@@ -6436,11 +6443,11 @@ var require_color_string = __commonJS({
|
|
|
6436
6443
|
var match = string.match(hsl);
|
|
6437
6444
|
if (match) {
|
|
6438
6445
|
var alpha = parseFloat(match[4]);
|
|
6439
|
-
var
|
|
6440
|
-
var
|
|
6446
|
+
var h2 = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
6447
|
+
var s2 = clamp(parseFloat(match[2]), 0, 100);
|
|
6441
6448
|
var l = clamp(parseFloat(match[3]), 0, 100);
|
|
6442
6449
|
var a2 = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
6443
|
-
return [
|
|
6450
|
+
return [h2, s2, l, a2];
|
|
6444
6451
|
}
|
|
6445
6452
|
return null;
|
|
6446
6453
|
};
|
|
@@ -6452,11 +6459,11 @@ var require_color_string = __commonJS({
|
|
|
6452
6459
|
var match = string.match(hwb);
|
|
6453
6460
|
if (match) {
|
|
6454
6461
|
var alpha = parseFloat(match[4]);
|
|
6455
|
-
var
|
|
6456
|
-
var
|
|
6462
|
+
var h2 = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
6463
|
+
var w = clamp(parseFloat(match[2]), 0, 100);
|
|
6457
6464
|
var b = clamp(parseFloat(match[3]), 0, 100);
|
|
6458
6465
|
var a2 = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
6459
|
-
return [
|
|
6466
|
+
return [h2, w, b, a2];
|
|
6460
6467
|
}
|
|
6461
6468
|
return null;
|
|
6462
6469
|
};
|
|
@@ -6550,37 +6557,37 @@ var require_conversions = __commonJS({
|
|
|
6550
6557
|
const min = Math.min(r, g2, b);
|
|
6551
6558
|
const max = Math.max(r, g2, b);
|
|
6552
6559
|
const delta = max - min;
|
|
6553
|
-
let
|
|
6554
|
-
let
|
|
6560
|
+
let h2;
|
|
6561
|
+
let s2;
|
|
6555
6562
|
if (max === min) {
|
|
6556
|
-
|
|
6563
|
+
h2 = 0;
|
|
6557
6564
|
} else if (r === max) {
|
|
6558
|
-
|
|
6565
|
+
h2 = (g2 - b) / delta;
|
|
6559
6566
|
} else if (g2 === max) {
|
|
6560
|
-
|
|
6567
|
+
h2 = 2 + (b - r) / delta;
|
|
6561
6568
|
} else if (b === max) {
|
|
6562
|
-
|
|
6569
|
+
h2 = 4 + (r - g2) / delta;
|
|
6563
6570
|
}
|
|
6564
|
-
|
|
6565
|
-
if (
|
|
6566
|
-
|
|
6571
|
+
h2 = Math.min(h2 * 60, 360);
|
|
6572
|
+
if (h2 < 0) {
|
|
6573
|
+
h2 += 360;
|
|
6567
6574
|
}
|
|
6568
6575
|
const l = (min + max) / 2;
|
|
6569
6576
|
if (max === min) {
|
|
6570
|
-
|
|
6577
|
+
s2 = 0;
|
|
6571
6578
|
} else if (l <= 0.5) {
|
|
6572
|
-
|
|
6579
|
+
s2 = delta / (max + min);
|
|
6573
6580
|
} else {
|
|
6574
|
-
|
|
6581
|
+
s2 = delta / (2 - max - min);
|
|
6575
6582
|
}
|
|
6576
|
-
return [
|
|
6583
|
+
return [h2, s2 * 100, l * 100];
|
|
6577
6584
|
};
|
|
6578
6585
|
convert.rgb.hsv = function(rgb) {
|
|
6579
6586
|
let rdif;
|
|
6580
6587
|
let gdif;
|
|
6581
6588
|
let bdif;
|
|
6582
|
-
let
|
|
6583
|
-
let
|
|
6589
|
+
let h2;
|
|
6590
|
+
let s2;
|
|
6584
6591
|
const r = rgb[0] / 255;
|
|
6585
6592
|
const g2 = rgb[1] / 255;
|
|
6586
6593
|
const b = rgb[2] / 255;
|
|
@@ -6590,29 +6597,29 @@ var require_conversions = __commonJS({
|
|
|
6590
6597
|
return (v - c2) / 6 / diff + 1 / 2;
|
|
6591
6598
|
};
|
|
6592
6599
|
if (diff === 0) {
|
|
6593
|
-
|
|
6594
|
-
|
|
6600
|
+
h2 = 0;
|
|
6601
|
+
s2 = 0;
|
|
6595
6602
|
} else {
|
|
6596
|
-
|
|
6603
|
+
s2 = diff / v;
|
|
6597
6604
|
rdif = diffc(r);
|
|
6598
6605
|
gdif = diffc(g2);
|
|
6599
6606
|
bdif = diffc(b);
|
|
6600
6607
|
if (r === v) {
|
|
6601
|
-
|
|
6608
|
+
h2 = bdif - gdif;
|
|
6602
6609
|
} else if (g2 === v) {
|
|
6603
|
-
|
|
6610
|
+
h2 = 1 / 3 + rdif - bdif;
|
|
6604
6611
|
} else if (b === v) {
|
|
6605
|
-
|
|
6612
|
+
h2 = 2 / 3 + gdif - rdif;
|
|
6606
6613
|
}
|
|
6607
|
-
if (
|
|
6608
|
-
|
|
6609
|
-
} else if (
|
|
6610
|
-
|
|
6614
|
+
if (h2 < 0) {
|
|
6615
|
+
h2 += 1;
|
|
6616
|
+
} else if (h2 > 1) {
|
|
6617
|
+
h2 -= 1;
|
|
6611
6618
|
}
|
|
6612
6619
|
}
|
|
6613
6620
|
return [
|
|
6614
|
-
|
|
6615
|
-
|
|
6621
|
+
h2 * 360,
|
|
6622
|
+
s2 * 100,
|
|
6616
6623
|
v * 100
|
|
6617
6624
|
];
|
|
6618
6625
|
};
|
|
@@ -6620,10 +6627,10 @@ var require_conversions = __commonJS({
|
|
|
6620
6627
|
const r = rgb[0];
|
|
6621
6628
|
const g2 = rgb[1];
|
|
6622
6629
|
let b = rgb[2];
|
|
6623
|
-
const
|
|
6624
|
-
const
|
|
6630
|
+
const h2 = convert.rgb.hsl(rgb)[0];
|
|
6631
|
+
const w = 1 / 255 * Math.min(r, Math.min(g2, b));
|
|
6625
6632
|
b = 1 - 1 / 255 * Math.max(r, Math.max(g2, b));
|
|
6626
|
-
return [
|
|
6633
|
+
return [h2, w * 100, b * 100];
|
|
6627
6634
|
};
|
|
6628
6635
|
convert.rgb.cmyk = function(rgb) {
|
|
6629
6636
|
const r = rgb[0] / 255;
|
|
@@ -6631,9 +6638,9 @@ var require_conversions = __commonJS({
|
|
|
6631
6638
|
const b = rgb[2] / 255;
|
|
6632
6639
|
const k = Math.min(1 - r, 1 - g2, 1 - b);
|
|
6633
6640
|
const c2 = (1 - r - k) / (1 - k) || 0;
|
|
6634
|
-
const
|
|
6641
|
+
const m2 = (1 - g2 - k) / (1 - k) || 0;
|
|
6635
6642
|
const y = (1 - b - k) / (1 - k) || 0;
|
|
6636
|
-
return [c2 * 100,
|
|
6643
|
+
return [c2 * 100, m2 * 100, y * 100, k * 100];
|
|
6637
6644
|
};
|
|
6638
6645
|
function comparativeDistance(x, y) {
|
|
6639
6646
|
return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
|
|
@@ -6687,25 +6694,25 @@ var require_conversions = __commonJS({
|
|
|
6687
6694
|
return [l, a2, b];
|
|
6688
6695
|
};
|
|
6689
6696
|
convert.hsl.rgb = function(hsl) {
|
|
6690
|
-
const
|
|
6691
|
-
const
|
|
6697
|
+
const h2 = hsl[0] / 360;
|
|
6698
|
+
const s2 = hsl[1] / 100;
|
|
6692
6699
|
const l = hsl[2] / 100;
|
|
6693
6700
|
let t2;
|
|
6694
6701
|
let t3;
|
|
6695
6702
|
let val;
|
|
6696
|
-
if (
|
|
6703
|
+
if (s2 === 0) {
|
|
6697
6704
|
val = l * 255;
|
|
6698
6705
|
return [val, val, val];
|
|
6699
6706
|
}
|
|
6700
6707
|
if (l < 0.5) {
|
|
6701
|
-
t2 = l * (1 +
|
|
6708
|
+
t2 = l * (1 + s2);
|
|
6702
6709
|
} else {
|
|
6703
|
-
t2 = l +
|
|
6710
|
+
t2 = l + s2 - l * s2;
|
|
6704
6711
|
}
|
|
6705
6712
|
const t1 = 2 * l - t2;
|
|
6706
6713
|
const rgb = [0, 0, 0];
|
|
6707
6714
|
for (let i2 = 0; i2 < 3; i2++) {
|
|
6708
|
-
t3 =
|
|
6715
|
+
t3 = h2 + 1 / 3 * -(i2 - 1);
|
|
6709
6716
|
if (t3 < 0) {
|
|
6710
6717
|
t3++;
|
|
6711
6718
|
}
|
|
@@ -6726,60 +6733,60 @@ var require_conversions = __commonJS({
|
|
|
6726
6733
|
return rgb;
|
|
6727
6734
|
};
|
|
6728
6735
|
convert.hsl.hsv = function(hsl) {
|
|
6729
|
-
const
|
|
6730
|
-
let
|
|
6736
|
+
const h2 = hsl[0];
|
|
6737
|
+
let s2 = hsl[1] / 100;
|
|
6731
6738
|
let l = hsl[2] / 100;
|
|
6732
|
-
let smin =
|
|
6739
|
+
let smin = s2;
|
|
6733
6740
|
const lmin = Math.max(l, 0.01);
|
|
6734
6741
|
l *= 2;
|
|
6735
|
-
|
|
6742
|
+
s2 *= l <= 1 ? l : 2 - l;
|
|
6736
6743
|
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
6737
|
-
const v = (l +
|
|
6738
|
-
const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 *
|
|
6739
|
-
return [
|
|
6744
|
+
const v = (l + s2) / 2;
|
|
6745
|
+
const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s2 / (l + s2);
|
|
6746
|
+
return [h2, sv * 100, v * 100];
|
|
6740
6747
|
};
|
|
6741
6748
|
convert.hsv.rgb = function(hsv) {
|
|
6742
|
-
const
|
|
6743
|
-
const
|
|
6749
|
+
const h2 = hsv[0] / 60;
|
|
6750
|
+
const s2 = hsv[1] / 100;
|
|
6744
6751
|
let v = hsv[2] / 100;
|
|
6745
|
-
const hi = Math.floor(
|
|
6746
|
-
const f2 =
|
|
6747
|
-
const p2 = 255 * v * (1 -
|
|
6748
|
-
const
|
|
6749
|
-
const t = 255 * v * (1 -
|
|
6752
|
+
const hi = Math.floor(h2) % 6;
|
|
6753
|
+
const f2 = h2 - Math.floor(h2);
|
|
6754
|
+
const p2 = 255 * v * (1 - s2);
|
|
6755
|
+
const q4 = 255 * v * (1 - s2 * f2);
|
|
6756
|
+
const t = 255 * v * (1 - s2 * (1 - f2));
|
|
6750
6757
|
v *= 255;
|
|
6751
6758
|
switch (hi) {
|
|
6752
6759
|
case 0:
|
|
6753
6760
|
return [v, t, p2];
|
|
6754
6761
|
case 1:
|
|
6755
|
-
return [
|
|
6762
|
+
return [q4, v, p2];
|
|
6756
6763
|
case 2:
|
|
6757
6764
|
return [p2, v, t];
|
|
6758
6765
|
case 3:
|
|
6759
|
-
return [p2,
|
|
6766
|
+
return [p2, q4, v];
|
|
6760
6767
|
case 4:
|
|
6761
6768
|
return [t, p2, v];
|
|
6762
6769
|
case 5:
|
|
6763
|
-
return [v, p2,
|
|
6770
|
+
return [v, p2, q4];
|
|
6764
6771
|
}
|
|
6765
6772
|
};
|
|
6766
6773
|
convert.hsv.hsl = function(hsv) {
|
|
6767
|
-
const
|
|
6768
|
-
const
|
|
6774
|
+
const h2 = hsv[0];
|
|
6775
|
+
const s2 = hsv[1] / 100;
|
|
6769
6776
|
const v = hsv[2] / 100;
|
|
6770
6777
|
const vmin = Math.max(v, 0.01);
|
|
6771
6778
|
let sl;
|
|
6772
6779
|
let l;
|
|
6773
|
-
l = (2 -
|
|
6774
|
-
const lmin = (2 -
|
|
6775
|
-
sl =
|
|
6780
|
+
l = (2 - s2) * v;
|
|
6781
|
+
const lmin = (2 - s2) * vmin;
|
|
6782
|
+
sl = s2 * vmin;
|
|
6776
6783
|
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
6777
6784
|
sl = sl || 0;
|
|
6778
6785
|
l /= 2;
|
|
6779
|
-
return [
|
|
6786
|
+
return [h2, sl * 100, l * 100];
|
|
6780
6787
|
};
|
|
6781
6788
|
convert.hwb.rgb = function(hwb) {
|
|
6782
|
-
const
|
|
6789
|
+
const h2 = hwb[0] / 360;
|
|
6783
6790
|
let wh = hwb[1] / 100;
|
|
6784
6791
|
let bl = hwb[2] / 100;
|
|
6785
6792
|
const ratio = wh + bl;
|
|
@@ -6788,9 +6795,9 @@ var require_conversions = __commonJS({
|
|
|
6788
6795
|
wh /= ratio;
|
|
6789
6796
|
bl /= ratio;
|
|
6790
6797
|
}
|
|
6791
|
-
const i2 = Math.floor(6 *
|
|
6798
|
+
const i2 = Math.floor(6 * h2);
|
|
6792
6799
|
const v = 1 - bl;
|
|
6793
|
-
f2 = 6 *
|
|
6800
|
+
f2 = 6 * h2 - i2;
|
|
6794
6801
|
if ((i2 & 1) !== 0) {
|
|
6795
6802
|
f2 = 1 - f2;
|
|
6796
6803
|
}
|
|
@@ -6836,11 +6843,11 @@ var require_conversions = __commonJS({
|
|
|
6836
6843
|
};
|
|
6837
6844
|
convert.cmyk.rgb = function(cmyk) {
|
|
6838
6845
|
const c2 = cmyk[0] / 100;
|
|
6839
|
-
const
|
|
6846
|
+
const m2 = cmyk[1] / 100;
|
|
6840
6847
|
const y = cmyk[2] / 100;
|
|
6841
6848
|
const k = cmyk[3] / 100;
|
|
6842
6849
|
const r = 1 - Math.min(1, c2 * (1 - k) + k);
|
|
6843
|
-
const g2 = 1 - Math.min(1,
|
|
6850
|
+
const g2 = 1 - Math.min(1, m2 * (1 - k) + k);
|
|
6844
6851
|
const b = 1 - Math.min(1, y * (1 - k) + k);
|
|
6845
6852
|
return [r * 255, g2 * 255, b * 255];
|
|
6846
6853
|
};
|
|
@@ -6902,20 +6909,20 @@ var require_conversions = __commonJS({
|
|
|
6902
6909
|
const l = lab[0];
|
|
6903
6910
|
const a2 = lab[1];
|
|
6904
6911
|
const b = lab[2];
|
|
6905
|
-
let
|
|
6912
|
+
let h2;
|
|
6906
6913
|
const hr = Math.atan2(b, a2);
|
|
6907
|
-
|
|
6908
|
-
if (
|
|
6909
|
-
|
|
6914
|
+
h2 = hr * 360 / 2 / Math.PI;
|
|
6915
|
+
if (h2 < 0) {
|
|
6916
|
+
h2 += 360;
|
|
6910
6917
|
}
|
|
6911
6918
|
const c2 = Math.sqrt(a2 * a2 + b * b);
|
|
6912
|
-
return [l, c2,
|
|
6919
|
+
return [l, c2, h2];
|
|
6913
6920
|
};
|
|
6914
6921
|
convert.lch.lab = function(lch) {
|
|
6915
6922
|
const l = lch[0];
|
|
6916
6923
|
const c2 = lch[1];
|
|
6917
|
-
const
|
|
6918
|
-
const hr =
|
|
6924
|
+
const h2 = lch[2];
|
|
6925
|
+
const hr = h2 / 360 * 2 * Math.PI;
|
|
6919
6926
|
const a2 = c2 * Math.cos(hr);
|
|
6920
6927
|
const b = c2 * Math.sin(hr);
|
|
6921
6928
|
return [l, a2, b];
|
|
@@ -7029,9 +7036,9 @@ var require_conversions = __commonJS({
|
|
|
7029
7036
|
return [hue * 360, chroma * 100, grayscale * 100];
|
|
7030
7037
|
};
|
|
7031
7038
|
convert.hsl.hcg = function(hsl) {
|
|
7032
|
-
const
|
|
7039
|
+
const s2 = hsl[1] / 100;
|
|
7033
7040
|
const l = hsl[2] / 100;
|
|
7034
|
-
const c2 = l < 0.5 ? 2 *
|
|
7041
|
+
const c2 = l < 0.5 ? 2 * s2 * l : 2 * s2 * (1 - l);
|
|
7035
7042
|
let f2 = 0;
|
|
7036
7043
|
if (c2 < 1) {
|
|
7037
7044
|
f2 = (l - 0.5 * c2) / (1 - c2);
|
|
@@ -7039,9 +7046,9 @@ var require_conversions = __commonJS({
|
|
|
7039
7046
|
return [hsl[0], c2 * 100, f2 * 100];
|
|
7040
7047
|
};
|
|
7041
7048
|
convert.hsv.hcg = function(hsv) {
|
|
7042
|
-
const
|
|
7049
|
+
const s2 = hsv[1] / 100;
|
|
7043
7050
|
const v = hsv[2] / 100;
|
|
7044
|
-
const c2 =
|
|
7051
|
+
const c2 = s2 * v;
|
|
7045
7052
|
let f2 = 0;
|
|
7046
7053
|
if (c2 < 1) {
|
|
7047
7054
|
f2 = (v - c2) / (1 - c2);
|
|
@@ -7049,16 +7056,16 @@ var require_conversions = __commonJS({
|
|
|
7049
7056
|
return [hsv[0], c2 * 100, f2 * 100];
|
|
7050
7057
|
};
|
|
7051
7058
|
convert.hcg.rgb = function(hcg) {
|
|
7052
|
-
const
|
|
7059
|
+
const h2 = hcg[0] / 360;
|
|
7053
7060
|
const c2 = hcg[1] / 100;
|
|
7054
7061
|
const g2 = hcg[2] / 100;
|
|
7055
7062
|
if (c2 === 0) {
|
|
7056
7063
|
return [g2 * 255, g2 * 255, g2 * 255];
|
|
7057
7064
|
}
|
|
7058
7065
|
const pure = [0, 0, 0];
|
|
7059
|
-
const hi =
|
|
7066
|
+
const hi = h2 % 1 * 6;
|
|
7060
7067
|
const v = hi % 1;
|
|
7061
|
-
const
|
|
7068
|
+
const w = 1 - v;
|
|
7062
7069
|
let mg = 0;
|
|
7063
7070
|
switch (Math.floor(hi)) {
|
|
7064
7071
|
case 0:
|
|
@@ -7067,7 +7074,7 @@ var require_conversions = __commonJS({
|
|
|
7067
7074
|
pure[2] = 0;
|
|
7068
7075
|
break;
|
|
7069
7076
|
case 1:
|
|
7070
|
-
pure[0] =
|
|
7077
|
+
pure[0] = w;
|
|
7071
7078
|
pure[1] = 1;
|
|
7072
7079
|
pure[2] = 0;
|
|
7073
7080
|
break;
|
|
@@ -7078,7 +7085,7 @@ var require_conversions = __commonJS({
|
|
|
7078
7085
|
break;
|
|
7079
7086
|
case 3:
|
|
7080
7087
|
pure[0] = 0;
|
|
7081
|
-
pure[1] =
|
|
7088
|
+
pure[1] = w;
|
|
7082
7089
|
pure[2] = 1;
|
|
7083
7090
|
break;
|
|
7084
7091
|
case 4:
|
|
@@ -7089,7 +7096,7 @@ var require_conversions = __commonJS({
|
|
|
7089
7096
|
default:
|
|
7090
7097
|
pure[0] = 1;
|
|
7091
7098
|
pure[1] = 0;
|
|
7092
|
-
pure[2] =
|
|
7099
|
+
pure[2] = w;
|
|
7093
7100
|
}
|
|
7094
7101
|
mg = (1 - c2) * g2;
|
|
7095
7102
|
return [
|
|
@@ -7112,13 +7119,13 @@ var require_conversions = __commonJS({
|
|
|
7112
7119
|
const c2 = hcg[1] / 100;
|
|
7113
7120
|
const g2 = hcg[2] / 100;
|
|
7114
7121
|
const l = g2 * (1 - c2) + 0.5 * c2;
|
|
7115
|
-
let
|
|
7122
|
+
let s2 = 0;
|
|
7116
7123
|
if (l > 0 && l < 0.5) {
|
|
7117
|
-
|
|
7124
|
+
s2 = c2 / (2 * l);
|
|
7118
7125
|
} else if (l >= 0.5 && l < 1) {
|
|
7119
|
-
|
|
7126
|
+
s2 = c2 / (2 * (1 - l));
|
|
7120
7127
|
}
|
|
7121
|
-
return [hcg[0],
|
|
7128
|
+
return [hcg[0], s2 * 100, l * 100];
|
|
7122
7129
|
};
|
|
7123
7130
|
convert.hcg.hwb = function(hcg) {
|
|
7124
7131
|
const c2 = hcg[1] / 100;
|
|
@@ -7127,10 +7134,10 @@ var require_conversions = __commonJS({
|
|
|
7127
7134
|
return [hcg[0], (v - c2) * 100, (1 - v) * 100];
|
|
7128
7135
|
};
|
|
7129
7136
|
convert.hwb.hcg = function(hwb) {
|
|
7130
|
-
const
|
|
7137
|
+
const w = hwb[1] / 100;
|
|
7131
7138
|
const b = hwb[2] / 100;
|
|
7132
7139
|
const v = 1 - b;
|
|
7133
|
-
const c2 = v -
|
|
7140
|
+
const c2 = v - w;
|
|
7134
7141
|
let g2 = 0;
|
|
7135
7142
|
if (c2 < 1) {
|
|
7136
7143
|
g2 = (v - c2) / (1 - c2);
|
|
@@ -7608,14 +7615,14 @@ var require_color = __commonJS({
|
|
|
7608
7615
|
const color1 = mixinColor.rgb();
|
|
7609
7616
|
const color2 = this.rgb();
|
|
7610
7617
|
const p2 = weight === void 0 ? 0.5 : weight;
|
|
7611
|
-
const
|
|
7618
|
+
const w = 2 * p2 - 1;
|
|
7612
7619
|
const a2 = color1.alpha() - color2.alpha();
|
|
7613
|
-
const w1 = ((
|
|
7614
|
-
const
|
|
7620
|
+
const w1 = ((w * a2 === -1 ? w : (w + a2) / (1 + w * a2)) + 1) / 2;
|
|
7621
|
+
const w2 = 1 - w1;
|
|
7615
7622
|
return Color.rgb(
|
|
7616
|
-
w1 * color1.red() +
|
|
7617
|
-
w1 * color1.green() +
|
|
7618
|
-
w1 * color1.blue() +
|
|
7623
|
+
w1 * color1.red() + w2 * color2.red(),
|
|
7624
|
+
w1 * color1.green() + w2 * color2.green(),
|
|
7625
|
+
w1 * color1.blue() + w2 * color2.blue(),
|
|
7619
7626
|
color1.alpha() * p2 + color2.alpha() * (1 - p2)
|
|
7620
7627
|
);
|
|
7621
7628
|
}
|
|
@@ -7652,8 +7659,8 @@ var require_color = __commonJS({
|
|
|
7652
7659
|
}
|
|
7653
7660
|
function getset(model, channel, modifier) {
|
|
7654
7661
|
model = Array.isArray(model) ? model : [model];
|
|
7655
|
-
for (const
|
|
7656
|
-
(limiters[
|
|
7662
|
+
for (const m2 of model) {
|
|
7663
|
+
(limiters[m2] || (limiters[m2] = []))[channel] = modifier;
|
|
7657
7664
|
}
|
|
7658
7665
|
model = model[0];
|
|
7659
7666
|
return function(value) {
|
|
@@ -8758,16 +8765,16 @@ var require_utility = __commonJS({
|
|
|
8758
8765
|
if (!libvipsVersion.isWasm) {
|
|
8759
8766
|
try {
|
|
8760
8767
|
versions = require(`@img/sharp-${runtimePlatform}/versions`);
|
|
8761
|
-
} catch (
|
|
8768
|
+
} catch (_2) {
|
|
8762
8769
|
try {
|
|
8763
8770
|
versions = require(`@img/sharp-libvips-${runtimePlatform}/versions`);
|
|
8764
|
-
} catch (
|
|
8771
|
+
} catch (_3) {
|
|
8765
8772
|
}
|
|
8766
8773
|
}
|
|
8767
8774
|
} else {
|
|
8768
8775
|
try {
|
|
8769
8776
|
versions = require("@img/sharp-wasm32/versions");
|
|
8770
|
-
} catch (
|
|
8777
|
+
} catch (_2) {
|
|
8771
8778
|
}
|
|
8772
8779
|
}
|
|
8773
8780
|
}
|
|
@@ -8898,7 +8905,7 @@ __export(core_exports, {
|
|
|
8898
8905
|
default: () => main2
|
|
8899
8906
|
});
|
|
8900
8907
|
function parseRGB(colorStr) {
|
|
8901
|
-
const parts = colorStr.split(",").map((
|
|
8908
|
+
const parts = colorStr.split(",").map((s2) => parseInt(s2.trim(), 10));
|
|
8902
8909
|
if (parts.length !== 3 || parts.some((p2) => Number.isNaN(p2) || p2 < 0 || p2 > 255)) {
|
|
8903
8910
|
throw new Error(
|
|
8904
8911
|
`Invalid RGB color format: ${colorStr}. Expected format: r,g,b (e.g., 255,0,0)`
|
|
@@ -9053,7 +9060,7 @@ async function main2() {
|
|
|
9053
9060
|
diffMask: options.diffMask
|
|
9054
9061
|
};
|
|
9055
9062
|
const startTime = performance.now();
|
|
9056
|
-
const diffCount =
|
|
9063
|
+
const diffCount = on(
|
|
9057
9064
|
img1.data,
|
|
9058
9065
|
img2.data,
|
|
9059
9066
|
outputData,
|
|
@@ -9124,19 +9131,19 @@ var init_core = __esm({
|
|
|
9124
9131
|
});
|
|
9125
9132
|
|
|
9126
9133
|
// ../gmsd/dist/index.mjs
|
|
9127
|
-
function
|
|
9128
|
-
let { downsample:
|
|
9129
|
-
if (
|
|
9134
|
+
function D(e, n2, a2, t, r, o2 = {}) {
|
|
9135
|
+
let { downsample: s2 = 0, c: c2 = 170 } = o2;
|
|
9136
|
+
if (H(e, n2)) {
|
|
9130
9137
|
if (a2) for (let y = 0; y < t * r * 4; y += 4) a2[y] = 255, a2[y + 1] = 255, a2[y + 2] = 255, a2[y + 3] = 255;
|
|
9131
9138
|
return 0;
|
|
9132
9139
|
}
|
|
9133
9140
|
let f2 = e.length / (t * r) === 4, l, u, b = t, x = r;
|
|
9134
|
-
if (f2) l = new Float32Array(t * r), u = new Float32Array(t * r),
|
|
9141
|
+
if (f2) l = new Float32Array(t * r), u = new Float32Array(t * r), q2(e, l, t, r), q2(n2, u, t, r);
|
|
9135
9142
|
else {
|
|
9136
9143
|
l = new Float32Array(t * r), u = new Float32Array(t * r);
|
|
9137
9144
|
for (let y = 0; y < t * r; y++) l[y] = e[y], u[y] = n2[y];
|
|
9138
9145
|
}
|
|
9139
|
-
if (
|
|
9146
|
+
if (s2 === 1) {
|
|
9140
9147
|
let y = P(l, t, r), B = P(u, t, r), d2 = Math.floor(t / 2), I2 = Math.floor(r / 2), M = new Float32Array(d2 * I2), v = new Float32Array(d2 * I2);
|
|
9141
9148
|
for (let i2 = 0; i2 < I2; i2++) for (let p2 = 0; p2 < d2; p2++) {
|
|
9142
9149
|
let G = i2 * 2 * t + p2 * 2;
|
|
@@ -9144,10 +9151,10 @@ function D2(e, n2, a2, t, r, o2 = {}) {
|
|
|
9144
9151
|
}
|
|
9145
9152
|
l = M, u = v, b = d2, x = I2;
|
|
9146
9153
|
}
|
|
9147
|
-
let
|
|
9148
|
-
return a2 && O(a2,
|
|
9154
|
+
let F2 = S(l, b, x), A = S(u, b, x), g2 = U(F2, A, c2, b, x), k = W(g2);
|
|
9155
|
+
return a2 && O(a2, F2, A, c2, b, x), k;
|
|
9149
9156
|
}
|
|
9150
|
-
function
|
|
9157
|
+
function H(e, n2) {
|
|
9151
9158
|
if (e.length !== n2.length) return false;
|
|
9152
9159
|
for (let a2 = 0; a2 < e.length; a2++) if (e[a2] !== n2[a2]) return false;
|
|
9153
9160
|
return true;
|
|
@@ -9155,41 +9162,41 @@ function H2(e, n2) {
|
|
|
9155
9162
|
function P(e, n2, a2) {
|
|
9156
9163
|
let t = new Float32Array(n2 * a2);
|
|
9157
9164
|
for (let r = 0; r < a2; r++) for (let o2 = 0; o2 < n2; o2++) {
|
|
9158
|
-
let
|
|
9159
|
-
for (let c2 = 0; c2 < 2; c2++) for (let
|
|
9160
|
-
let f2 = r + c2, l = o2 +
|
|
9161
|
-
f2 < a2 && l < n2 && (
|
|
9165
|
+
let s2 = 0;
|
|
9166
|
+
for (let c2 = 0; c2 < 2; c2++) for (let m2 = 0; m2 < 2; m2++) {
|
|
9167
|
+
let f2 = r + c2, l = o2 + m2;
|
|
9168
|
+
f2 < a2 && l < n2 && (s2 += e[f2 * n2 + l]);
|
|
9162
9169
|
}
|
|
9163
|
-
t[r * n2 + o2] =
|
|
9170
|
+
t[r * n2 + o2] = s2 / 4;
|
|
9164
9171
|
}
|
|
9165
9172
|
return t;
|
|
9166
9173
|
}
|
|
9167
9174
|
function O(e, n2, a2, t, r, o2) {
|
|
9168
9175
|
e.fill(0);
|
|
9169
|
-
for (let
|
|
9170
|
-
let
|
|
9171
|
-
e[A] =
|
|
9176
|
+
for (let s2 = 1; s2 < o2 - 1; s2++) for (let c2 = 1; c2 < r - 1; c2++) {
|
|
9177
|
+
let m2 = s2 * r + c2, f2 = n2[m2], l = a2[m2], u = 2 * f2 * l + t, b = f2 * f2 + l * l + t, x = u / b, F2 = Math.floor(x * 255), A = m2 * 4;
|
|
9178
|
+
e[A] = F2, e[A + 1] = F2, e[A + 2] = F2, e[A + 3] = 255;
|
|
9172
9179
|
}
|
|
9173
9180
|
}
|
|
9174
|
-
function
|
|
9181
|
+
function q2(e, n2, a2, t) {
|
|
9175
9182
|
let r = a2 * t;
|
|
9176
9183
|
for (let o2 = 0; o2 < r; o2++) {
|
|
9177
|
-
let
|
|
9178
|
-
n2[o2] = 0.298936 * c2 + 0.587043 *
|
|
9184
|
+
let s2 = o2 * 4, c2 = e[s2], m2 = e[s2 + 1], f2 = e[s2 + 2];
|
|
9185
|
+
n2[o2] = 0.298936 * c2 + 0.587043 * m2 + 0.114021 * f2;
|
|
9179
9186
|
}
|
|
9180
9187
|
}
|
|
9181
9188
|
function S(e, n2, a2) {
|
|
9182
9189
|
let t = new Float32Array(n2 * a2);
|
|
9183
9190
|
for (let r = 1; r < a2 - 1; r++) for (let o2 = 1; o2 < n2 - 1; o2++) {
|
|
9184
|
-
let
|
|
9185
|
-
t[
|
|
9191
|
+
let s2 = r * n2 + o2, c2 = e[(r - 1) * n2 + (o2 - 1)], m2 = e[(r - 1) * n2 + o2], f2 = e[(r - 1) * n2 + (o2 + 1)], l = e[r * n2 + (o2 - 1)], u = e[r * n2 + (o2 + 1)], b = e[(r + 1) * n2 + (o2 - 1)], x = e[(r + 1) * n2 + o2], F2 = e[(r + 1) * n2 + (o2 + 1)], A = (c2 + l + b - f2 - u - F2) / 3, g2 = (c2 + m2 + f2 - b - x - F2) / 3;
|
|
9192
|
+
t[s2] = Math.sqrt(A * A + g2 * g2);
|
|
9186
9193
|
}
|
|
9187
9194
|
return t;
|
|
9188
9195
|
}
|
|
9189
9196
|
function U(e, n2, a2, t, r) {
|
|
9190
9197
|
let o2 = [];
|
|
9191
|
-
for (let
|
|
9192
|
-
let
|
|
9198
|
+
for (let s2 = 1; s2 < r - 1; s2++) for (let c2 = 1; c2 < t - 1; c2++) {
|
|
9199
|
+
let m2 = s2 * t + c2, f2 = e[m2], l = n2[m2], u = 2 * f2 * l + a2, b = f2 * f2 + l * l + a2;
|
|
9193
9200
|
o2.push(u / b);
|
|
9194
9201
|
}
|
|
9195
9202
|
return new Float32Array(o2);
|
|
@@ -9201,8 +9208,8 @@ function W(e) {
|
|
|
9201
9208
|
for (let o2 = 0; o2 < n2; o2++) a2 += e[o2];
|
|
9202
9209
|
let t = a2 / n2, r = 0;
|
|
9203
9210
|
for (let o2 = 0; o2 < n2; o2++) {
|
|
9204
|
-
let
|
|
9205
|
-
r +=
|
|
9211
|
+
let s2 = e[o2] - t;
|
|
9212
|
+
r += s2 * s2;
|
|
9206
9213
|
}
|
|
9207
9214
|
return r /= n2, Math.sqrt(r);
|
|
9208
9215
|
}
|
|
@@ -9210,7 +9217,7 @@ var C;
|
|
|
9210
9217
|
var init_dist4 = __esm({
|
|
9211
9218
|
"../gmsd/dist/index.mjs"() {
|
|
9212
9219
|
"use strict";
|
|
9213
|
-
C =
|
|
9220
|
+
C = D;
|
|
9214
9221
|
}
|
|
9215
9222
|
});
|
|
9216
9223
|
|
|
@@ -9400,36 +9407,36 @@ function C2(f2, M, l) {
|
|
|
9400
9407
|
}
|
|
9401
9408
|
return r;
|
|
9402
9409
|
}
|
|
9403
|
-
function
|
|
9404
|
-
let { windowSize: e = 11, k1: A = 0.01, k2: a2 = 0.03, L: i2 = 255 } = u, c2 = C2(f2, r, n2),
|
|
9405
|
-
if (
|
|
9406
|
-
let y = Q(c2,
|
|
9407
|
-
c2 = y.img1,
|
|
9408
|
-
}
|
|
9409
|
-
let x = P2(e, 1.5), b = (A * i2) ** 2, B = (a2 * i2) ** 2, R = o2 - e + 1,
|
|
9410
|
-
S2(c2, v, U3, o2, t, x, e), S2(
|
|
9410
|
+
function N2(f2, M, l, r, n2, u = {}) {
|
|
9411
|
+
let { windowSize: e = 11, k1: A = 0.01, k2: a2 = 0.03, L: i2 = 255 } = u, c2 = C2(f2, r, n2), s2 = C2(M, r, n2), o2 = r, t = n2, m2 = Math.max(1, Math.round(Math.min(r, n2) / 256));
|
|
9412
|
+
if (m2 > 1) {
|
|
9413
|
+
let y = Q(c2, s2, o2, t, m2);
|
|
9414
|
+
c2 = y.img1, s2 = y.img2, o2 = y.width, t = y.height;
|
|
9415
|
+
}
|
|
9416
|
+
let x = P2(e, 1.5), b = (A * i2) ** 2, B = (a2 * i2) ** 2, R = o2 - e + 1, T = t - e + 1, g2 = R * T, v = new Float32Array(g2), O2 = new Float32Array(g2), G = new Float32Array(g2), H3 = new Float32Array(g2), I2 = new Float32Array(g2), U3 = new Float32Array(o2 * t);
|
|
9417
|
+
S2(c2, v, U3, o2, t, x, e), S2(s2, O2, U3, o2, t, x, e);
|
|
9411
9418
|
let V3 = c2.length;
|
|
9412
9419
|
for (let y = 0; y < V3; y++) {
|
|
9413
|
-
let p2 = c2[y], d2 =
|
|
9414
|
-
U3[y] = p2 * d2, c2[y] = p2 * p2,
|
|
9420
|
+
let p2 = c2[y], d2 = s2[y];
|
|
9421
|
+
U3[y] = p2 * d2, c2[y] = p2 * p2, s2[y] = d2 * d2;
|
|
9415
9422
|
}
|
|
9416
|
-
let
|
|
9417
|
-
S2(c2, G,
|
|
9418
|
-
let
|
|
9423
|
+
let q4 = new Float32Array(o2 * t);
|
|
9424
|
+
S2(c2, G, q4, o2, t, x, e), S2(s2, H3, q4, o2, t, x, e), S2(U3, I2, q4, o2, t, x, e);
|
|
9425
|
+
let w = new Float32Array(v.length);
|
|
9419
9426
|
for (let y = 0; y < v.length; y++) {
|
|
9420
|
-
let p2 = v[y], d2 = O2[y], W2 = p2 * p2, X2 = d2 * d2, Y = p2 * d2, $ = G[y] - W2, K2 =
|
|
9421
|
-
|
|
9427
|
+
let p2 = v[y], d2 = O2[y], W2 = p2 * p2, X2 = d2 * d2, Y = p2 * d2, $ = G[y] - W2, K2 = H3[y] - X2, _2 = I2[y] - Y, j3 = (2 * Y + b) * (2 * _2 + B), J = (W2 + X2 + b) * ($ + K2 + B);
|
|
9428
|
+
w[y] = j3 / J;
|
|
9422
9429
|
}
|
|
9423
9430
|
if (l) {
|
|
9424
9431
|
let y = o2 - e + 1, p2 = t - e + 1;
|
|
9425
|
-
Z(l,
|
|
9432
|
+
Z(l, w, y, p2, r, n2);
|
|
9426
9433
|
}
|
|
9427
9434
|
let L3 = 0;
|
|
9428
|
-
for (let y = 0; y <
|
|
9429
|
-
return L3 /
|
|
9435
|
+
for (let y = 0; y < w.length; y++) L3 += w[y];
|
|
9436
|
+
return L3 / w.length;
|
|
9430
9437
|
}
|
|
9431
9438
|
function P2(f2, M) {
|
|
9432
|
-
let l = `${f2}_${M}`, r =
|
|
9439
|
+
let l = `${f2}_${M}`, r = D2.get(l);
|
|
9433
9440
|
if (r) return r;
|
|
9434
9441
|
let n2 = new Float32Array(f2), u = (f2 - 1) / 2, e = 2 * M * M, A = 0;
|
|
9435
9442
|
for (let a2 = 0; a2 < f2; a2++) {
|
|
@@ -9437,76 +9444,76 @@ function P2(f2, M) {
|
|
|
9437
9444
|
n2[a2] = c2, A += c2;
|
|
9438
9445
|
}
|
|
9439
9446
|
for (let a2 = 0; a2 < f2; a2++) n2[a2] /= A;
|
|
9440
|
-
return
|
|
9447
|
+
return D2.set(l, n2), n2;
|
|
9441
9448
|
}
|
|
9442
9449
|
function S2(f2, M, l, r, n2, u, e) {
|
|
9443
9450
|
let A = Math.floor(e / 2);
|
|
9444
|
-
for (let
|
|
9445
|
-
let o2 =
|
|
9451
|
+
for (let s2 = 0; s2 < n2; s2++) {
|
|
9452
|
+
let o2 = s2 * r;
|
|
9446
9453
|
for (let t = 0; t < A; t++) {
|
|
9447
|
-
let
|
|
9448
|
-
for (let
|
|
9449
|
-
let x = t +
|
|
9450
|
-
|
|
9454
|
+
let m2 = 0;
|
|
9455
|
+
for (let F2 = 0; F2 < e; F2++) {
|
|
9456
|
+
let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
|
|
9457
|
+
m2 += f2[o2 + b] * u[F2];
|
|
9451
9458
|
}
|
|
9452
|
-
l[o2 + t] =
|
|
9459
|
+
l[o2 + t] = m2;
|
|
9453
9460
|
}
|
|
9454
9461
|
for (let t = A; t < r - A; t++) {
|
|
9455
|
-
let
|
|
9456
|
-
for (let x = 0; x < e; x++)
|
|
9457
|
-
l[o2 + t] =
|
|
9462
|
+
let m2 = 0, F2 = o2 + t - A;
|
|
9463
|
+
for (let x = 0; x < e; x++) m2 += f2[F2 + x] * u[x];
|
|
9464
|
+
l[o2 + t] = m2;
|
|
9458
9465
|
}
|
|
9459
9466
|
for (let t = r - A; t < r; t++) {
|
|
9460
|
-
let
|
|
9461
|
-
for (let
|
|
9462
|
-
let x = t +
|
|
9463
|
-
|
|
9467
|
+
let m2 = 0;
|
|
9468
|
+
for (let F2 = 0; F2 < e; F2++) {
|
|
9469
|
+
let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
|
|
9470
|
+
m2 += f2[o2 + b] * u[F2];
|
|
9464
9471
|
}
|
|
9465
|
-
l[o2 + t] =
|
|
9472
|
+
l[o2 + t] = m2;
|
|
9466
9473
|
}
|
|
9467
9474
|
}
|
|
9468
9475
|
let a2 = r - e + 1, i2 = n2 - e + 1, c2 = 0;
|
|
9469
|
-
for (let
|
|
9470
|
-
let t = 0,
|
|
9471
|
-
for (let
|
|
9472
|
-
let x =
|
|
9473
|
-
t += l[x * r +
|
|
9476
|
+
for (let s2 = 0; s2 < i2; s2++) for (let o2 = 0; o2 < a2; o2++) {
|
|
9477
|
+
let t = 0, m2 = o2 + A;
|
|
9478
|
+
for (let F2 = 0; F2 < e; F2++) {
|
|
9479
|
+
let x = s2 + F2;
|
|
9480
|
+
t += l[x * r + m2] * u[F2];
|
|
9474
9481
|
}
|
|
9475
9482
|
M[c2++] = t;
|
|
9476
9483
|
}
|
|
9477
9484
|
}
|
|
9478
9485
|
function Q(f2, M, l, r, n2) {
|
|
9479
9486
|
let u = new Float32Array(n2), e = 1 / n2;
|
|
9480
|
-
for (let
|
|
9487
|
+
for (let m2 = 0; m2 < n2; m2++) u[m2] = e;
|
|
9481
9488
|
let A = new Float32Array(l * r), a2 = new Float32Array(l * r);
|
|
9482
9489
|
E(f2, a2, A, l, r, u, n2);
|
|
9483
9490
|
let i2 = new Float32Array(l * r);
|
|
9484
9491
|
E(M, i2, A, l, r, u, n2);
|
|
9485
|
-
let c2 = Math.floor(l / n2),
|
|
9486
|
-
for (let
|
|
9487
|
-
let
|
|
9488
|
-
for (let b = 0; b < c2; b++) o2[x + b] = a2[
|
|
9492
|
+
let c2 = Math.floor(l / n2), s2 = Math.floor(r / n2), o2 = new Float32Array(c2 * s2), t = new Float32Array(c2 * s2);
|
|
9493
|
+
for (let m2 = 0; m2 < s2; m2++) {
|
|
9494
|
+
let F2 = m2 * n2 * l, x = m2 * c2;
|
|
9495
|
+
for (let b = 0; b < c2; b++) o2[x + b] = a2[F2 + b * n2], t[x + b] = i2[F2 + b * n2];
|
|
9489
9496
|
}
|
|
9490
|
-
return { img1: o2, img2: t, width: c2, height:
|
|
9497
|
+
return { img1: o2, img2: t, width: c2, height: s2 };
|
|
9491
9498
|
}
|
|
9492
9499
|
function E(f2, M, l, r, n2, u, e) {
|
|
9493
9500
|
let A = Math.floor(e / 2);
|
|
9494
9501
|
for (let a2 = 0; a2 < n2; a2++) {
|
|
9495
9502
|
let i2 = a2 * r;
|
|
9496
9503
|
for (let c2 = 0; c2 < r; c2++) {
|
|
9497
|
-
let
|
|
9504
|
+
let s2 = 0;
|
|
9498
9505
|
for (let o2 = 0; o2 < e; o2++) {
|
|
9499
9506
|
let t = c2 + o2 - A;
|
|
9500
|
-
t < 0 ? t = -t : t >= r && (t = 2 * r - t - 2), t = Math.max(0, Math.min(r - 1, t)),
|
|
9507
|
+
t < 0 ? t = -t : t >= r && (t = 2 * r - t - 2), t = Math.max(0, Math.min(r - 1, t)), s2 += f2[i2 + t] * u[o2];
|
|
9501
9508
|
}
|
|
9502
|
-
l[i2 + c2] =
|
|
9509
|
+
l[i2 + c2] = s2;
|
|
9503
9510
|
}
|
|
9504
9511
|
}
|
|
9505
9512
|
for (let a2 = 0; a2 < n2; a2++) for (let i2 = 0; i2 < r; i2++) {
|
|
9506
9513
|
let c2 = 0;
|
|
9507
|
-
for (let
|
|
9508
|
-
let o2 = a2 +
|
|
9509
|
-
o2 < 0 ? o2 = -o2 : o2 >= n2 && (o2 = 2 * n2 - o2 - 2), o2 = Math.max(0, Math.min(n2 - 1, o2)), c2 += l[o2 * r + i2] * u[
|
|
9514
|
+
for (let s2 = 0; s2 < e; s2++) {
|
|
9515
|
+
let o2 = a2 + s2 - A;
|
|
9516
|
+
o2 < 0 ? o2 = -o2 : o2 >= n2 && (o2 = 2 * n2 - o2 - 2), o2 = Math.max(0, Math.min(n2 - 1, o2)), c2 += l[o2 * r + i2] * u[s2];
|
|
9510
9517
|
}
|
|
9511
9518
|
M[a2 * r + i2] = c2;
|
|
9512
9519
|
}
|
|
@@ -9514,16 +9521,16 @@ function E(f2, M, l, r, n2, u, e) {
|
|
|
9514
9521
|
function Z(f2, M, l, r, n2, u) {
|
|
9515
9522
|
let e = n2 / l, A = u / r;
|
|
9516
9523
|
for (let a2 = 0; a2 < u; a2++) for (let i2 = 0; i2 < n2; i2++) {
|
|
9517
|
-
let c2 = Math.min(Math.floor(i2 / e), l - 1),
|
|
9518
|
-
f2[
|
|
9524
|
+
let c2 = Math.min(Math.floor(i2 / e), l - 1), s2 = Math.min(Math.floor(a2 / A), r - 1), o2 = M[s2 * l + c2], t = Math.floor(Math.max(0, Math.min(1, o2)) * 255), m2 = (a2 * n2 + i2) * 4;
|
|
9525
|
+
f2[m2] = t, f2[m2 + 1] = t, f2[m2 + 2] = t, f2[m2 + 3] = 255;
|
|
9519
9526
|
}
|
|
9520
9527
|
}
|
|
9521
|
-
var
|
|
9528
|
+
var D2, z;
|
|
9522
9529
|
var init_ssim = __esm({
|
|
9523
9530
|
"../ssim/dist/ssim.mjs"() {
|
|
9524
9531
|
"use strict";
|
|
9525
|
-
|
|
9526
|
-
z =
|
|
9532
|
+
D2 = /* @__PURE__ */ new Map();
|
|
9533
|
+
z = N2;
|
|
9527
9534
|
}
|
|
9528
9535
|
});
|
|
9529
9536
|
|
|
@@ -9677,95 +9684,95 @@ var init_ssim2 = __esm({
|
|
|
9677
9684
|
function I(a2, f2, n2) {
|
|
9678
9685
|
let r = new Float32Array(f2 * n2), t = 0;
|
|
9679
9686
|
for (let y = 0; y < a2.length; y += 4) {
|
|
9680
|
-
let
|
|
9681
|
-
r[t++] = 0.298936 *
|
|
9687
|
+
let m2 = a2[y], p2 = a2[y + 1], s2 = a2[y + 2];
|
|
9688
|
+
r[t++] = 0.298936 * m2 + 0.587043 * p2 + 0.114021 * s2;
|
|
9682
9689
|
}
|
|
9683
9690
|
return r;
|
|
9684
9691
|
}
|
|
9685
9692
|
function K(a2, f2, n2, r, t, y = {}) {
|
|
9686
|
-
let { windowSize:
|
|
9693
|
+
let { windowSize: m2 = 11, k1: p2 = 0.01, k2: s2 = 0.03, bitDepth: c2 = 8, level: e = 5, weight: u = [0.0448, 0.2856, 0.3001, 0.2363, 0.1333], method: o2 = "product" } = y, l = I(a2, r, t), A = I(f2, r, t), x = r, S3 = t, d2 = [], B = [], C3;
|
|
9687
9694
|
for (let i2 = 0; i2 < e; i2++) {
|
|
9688
|
-
let b = L2(l, A, x, S3,
|
|
9695
|
+
let b = L2(l, A, x, S3, m2, p2, s2, c2);
|
|
9689
9696
|
if (d2.push(b.mssim), B.push(b.mcs), i2 === e - 1 && n2 && (C3 = b.ssimMap), i2 < e - 1) {
|
|
9690
9697
|
let M = E2(l, A, x, S3);
|
|
9691
9698
|
l = M.img1, A = M.img2, x = M.width, S3 = M.height;
|
|
9692
9699
|
}
|
|
9693
9700
|
}
|
|
9694
|
-
if (n2 && C3 &&
|
|
9701
|
+
if (n2 && C3 && H2(n2, C3, x, S3, r, t), o2 === "product") {
|
|
9695
9702
|
let i2 = 1;
|
|
9696
9703
|
for (let b = 0; b < e - 1; b++) i2 *= B[b] ** u[b];
|
|
9697
9704
|
return i2 *= d2[e - 1] ** u[e - 1], i2;
|
|
9698
9705
|
} else {
|
|
9699
|
-
let i2 = u.map((M) => M / u.reduce((
|
|
9706
|
+
let i2 = u.map((M) => M / u.reduce((D3, G) => D3 + G, 0)), b = 0;
|
|
9700
9707
|
for (let M = 0; M < e - 1; M++) b += B[M] * i2[M];
|
|
9701
9708
|
return b += d2[e - 1] * i2[e - 1], b;
|
|
9702
9709
|
}
|
|
9703
9710
|
}
|
|
9704
|
-
function L2(a2, f2, n2, r, t, y,
|
|
9705
|
-
let
|
|
9706
|
-
|
|
9711
|
+
function L2(a2, f2, n2, r, t, y, m2, p2) {
|
|
9712
|
+
let s2 = 2 ** p2 - 1, c2 = (y * s2) ** 2, e = (m2 * s2) ** 2, u = V2(t, 1.5), o2 = new Float32Array(n2 * r), l = new Float32Array(n2 * r), A = new Float32Array(n2 * r), x = new Float32Array(n2 * r), S3 = new Float32Array(n2 * r), d2 = new Float32Array(n2 * r), B = new Float32Array(n2 * r);
|
|
9713
|
+
q3(a2, o2, d2, n2, r, u, t), q3(f2, l, d2, n2, r, u, t);
|
|
9707
9714
|
let C3 = new Float32Array(n2 * r), i2 = new Float32Array(n2 * r), b = new Float32Array(n2 * r), M = a2.length;
|
|
9708
|
-
for (let
|
|
9709
|
-
let v = a2[
|
|
9710
|
-
C3[
|
|
9715
|
+
for (let F2 = 0; F2 < M; F2++) {
|
|
9716
|
+
let v = a2[F2], U3 = f2[F2];
|
|
9717
|
+
C3[F2] = v * v, i2[F2] = U3 * U3, b[F2] = v * U3;
|
|
9711
9718
|
}
|
|
9712
|
-
|
|
9713
|
-
let
|
|
9714
|
-
for (let
|
|
9715
|
-
let v = o2[
|
|
9716
|
-
O2[
|
|
9719
|
+
q3(C3, A, d2, n2, r, u, t), q3(i2, x, d2, n2, r, u, t), q3(b, S3, B, n2, r, u, t);
|
|
9720
|
+
let D3 = 0, G = 0, O2 = new Float32Array(o2.length);
|
|
9721
|
+
for (let F2 = 0; F2 < o2.length; F2++) {
|
|
9722
|
+
let v = o2[F2], U3 = l[F2], g2 = v * v, w = U3 * U3, R = v * U3, Y = A[F2] - g2, _2 = x[F2] - w, $ = S3[F2] - R, k = (2 * R + c2) / (g2 + w + c2), T = (2 * $ + e) / (Y + _2 + e), W2 = k * T;
|
|
9723
|
+
O2[F2] = W2, D3 += W2, G += T;
|
|
9717
9724
|
}
|
|
9718
|
-
return { mssim:
|
|
9725
|
+
return { mssim: D3 / o2.length, mcs: G / o2.length, ssimMap: O2 };
|
|
9719
9726
|
}
|
|
9720
9727
|
function V2(a2, f2) {
|
|
9721
9728
|
let n2 = `${a2}_${f2}`, r = X.get(n2);
|
|
9722
|
-
return r || (r =
|
|
9729
|
+
return r || (r = j2(a2, f2), X.set(n2, r)), r;
|
|
9723
9730
|
}
|
|
9724
|
-
function
|
|
9731
|
+
function j2(a2, f2) {
|
|
9725
9732
|
let n2 = new Float32Array(a2), r = (a2 - 1) / 2, t = 2 * f2 * f2, y = 0;
|
|
9726
|
-
for (let
|
|
9727
|
-
let p2 =
|
|
9728
|
-
n2[
|
|
9733
|
+
for (let m2 = 0; m2 < a2; m2++) {
|
|
9734
|
+
let p2 = m2 - r, s2 = Math.exp(-(p2 * p2) / t);
|
|
9735
|
+
n2[m2] = s2, y += s2;
|
|
9729
9736
|
}
|
|
9730
|
-
for (let
|
|
9737
|
+
for (let m2 = 0; m2 < a2; m2++) n2[m2] /= y;
|
|
9731
9738
|
return n2;
|
|
9732
9739
|
}
|
|
9733
|
-
function
|
|
9734
|
-
let p2 = Math.floor(
|
|
9735
|
-
for (let
|
|
9736
|
-
let c2 =
|
|
9740
|
+
function q3(a2, f2, n2, r, t, y, m2) {
|
|
9741
|
+
let p2 = Math.floor(m2 / 2);
|
|
9742
|
+
for (let s2 = 0; s2 < t; s2++) {
|
|
9743
|
+
let c2 = s2 * r;
|
|
9737
9744
|
for (let e = 0; e < r; e++) {
|
|
9738
9745
|
let u = 0;
|
|
9739
|
-
for (let o2 = 0; o2 <
|
|
9746
|
+
for (let o2 = 0; o2 < m2; o2++) {
|
|
9740
9747
|
let l = e + o2 - p2;
|
|
9741
9748
|
l < 0 ? l = -l : l >= r && (l = 2 * r - l - 2), l = Math.max(0, Math.min(r - 1, l)), u += a2[c2 + l] * y[o2];
|
|
9742
9749
|
}
|
|
9743
9750
|
n2[c2 + e] = u;
|
|
9744
9751
|
}
|
|
9745
9752
|
}
|
|
9746
|
-
for (let
|
|
9753
|
+
for (let s2 = 0; s2 < t; s2++) for (let c2 = 0; c2 < r; c2++) {
|
|
9747
9754
|
let e = 0;
|
|
9748
|
-
for (let u = 0; u <
|
|
9749
|
-
let o2 =
|
|
9755
|
+
for (let u = 0; u < m2; u++) {
|
|
9756
|
+
let o2 = s2 + u - p2;
|
|
9750
9757
|
o2 < 0 ? o2 = -o2 : o2 >= t && (o2 = 2 * t - o2 - 2), o2 = Math.max(0, Math.min(t - 1, o2)), e += n2[o2 * r + c2] * y[u];
|
|
9751
9758
|
}
|
|
9752
|
-
f2[
|
|
9759
|
+
f2[s2 * r + c2] = e;
|
|
9753
9760
|
}
|
|
9754
9761
|
}
|
|
9755
9762
|
function E2(a2, f2, n2, r) {
|
|
9756
|
-
let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n2 * r),
|
|
9757
|
-
|
|
9763
|
+
let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n2 * r), m2 = new Float32Array(n2 * r), p2 = new Float32Array(n2 * r), s2 = new Float32Array(n2 * r);
|
|
9764
|
+
q3(a2, y, p2, n2, r, t, 2), q3(f2, m2, s2, n2, r, t, 2);
|
|
9758
9765
|
let c2 = Math.floor(n2 / 2), e = Math.floor(r / 2), u = new Float32Array(c2 * e), o2 = new Float32Array(c2 * e);
|
|
9759
9766
|
for (let l = 0; l < e; l++) for (let A = 0; A < c2; A++) {
|
|
9760
9767
|
let x = l * 2 * n2 + A * 2, S3 = l * c2 + A;
|
|
9761
|
-
u[S3] = y[x], o2[S3] =
|
|
9768
|
+
u[S3] = y[x], o2[S3] = m2[x];
|
|
9762
9769
|
}
|
|
9763
9770
|
return { img1: u, img2: o2, width: c2, height: e };
|
|
9764
9771
|
}
|
|
9765
|
-
function
|
|
9766
|
-
let
|
|
9767
|
-
for (let
|
|
9768
|
-
let e = Math.min(Math.floor(c2 /
|
|
9772
|
+
function H2(a2, f2, n2, r, t, y) {
|
|
9773
|
+
let m2 = t / n2, p2 = y / r;
|
|
9774
|
+
for (let s2 = 0; s2 < y; s2++) for (let c2 = 0; c2 < t; c2++) {
|
|
9775
|
+
let e = Math.min(Math.floor(c2 / m2), n2 - 1), u = Math.min(Math.floor(s2 / p2), r - 1), o2 = f2[u * n2 + e], l = Math.floor(Math.max(0, Math.min(1, o2)) * 255), A = (s2 * t + c2) * 4;
|
|
9769
9776
|
a2[A] = l, a2[A + 1] = l, a2[A + 2] = l, a2[A + 3] = 255;
|
|
9770
9777
|
}
|
|
9771
9778
|
}
|
|
@@ -9927,43 +9934,43 @@ var init_msssim2 = __esm({
|
|
|
9927
9934
|
// ../ssim/dist/hitchhikers-ssim.mjs
|
|
9928
9935
|
function p(o2, a2, c2) {
|
|
9929
9936
|
let n2 = new Float32Array(a2 * c2), r = 0;
|
|
9930
|
-
for (let
|
|
9931
|
-
let t = o2[
|
|
9937
|
+
for (let s2 = 0; s2 < o2.length; s2 += 4) {
|
|
9938
|
+
let t = o2[s2], e = o2[s2 + 1], u = o2[s2 + 2];
|
|
9932
9939
|
n2[r++] = 0.298936 * t + 0.587043 * e + 0.114021 * u;
|
|
9933
9940
|
}
|
|
9934
9941
|
return n2;
|
|
9935
9942
|
}
|
|
9936
|
-
function
|
|
9937
|
-
let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i2 = 0.03, L: d2 = 255, covPooling: v = true } =
|
|
9943
|
+
function h(o2, a2, c2, n2, r, s2 = {}) {
|
|
9944
|
+
let { windowSize: t = 11, windowStride: e = t, k1: u = 0.01, k2: i2 = 0.03, L: d2 = 255, covPooling: v = true } = s2, g2 = p(o2, n2, r), A = p(a2, n2, r), y = (u * d2) ** 2, O2 = (i2 * d2) ** 2, Y = F(g2, n2, r), z2 = F(A, n2, r), P4 = new Float32Array(n2 * r), G = new Float32Array(n2 * r), H3 = new Float32Array(n2 * r);
|
|
9938
9945
|
for (let l = 0; l < g2.length; l++) {
|
|
9939
|
-
let
|
|
9940
|
-
P4[l] =
|
|
9946
|
+
let m2 = g2[l], f2 = A[l];
|
|
9947
|
+
P4[l] = m2 * m2, G[l] = f2 * f2, H3[l] = m2 * f2;
|
|
9941
9948
|
}
|
|
9942
|
-
let
|
|
9949
|
+
let D3 = F(P4, n2, r), V3 = F(G, n2, r), j3 = F(H3, n2, r), M = Math.floor((n2 - t) / e) + 1, I2 = Math.floor((r - t) / e) + 1, S3 = new Float32Array(M * I2), x = t * t, E3 = 0;
|
|
9943
9950
|
for (let l = 0; l < I2; l++) {
|
|
9944
|
-
let
|
|
9951
|
+
let m2 = l * e, f2 = m2 + t;
|
|
9945
9952
|
for (let k = 0; k < M; k++) {
|
|
9946
|
-
let b = k * e,
|
|
9947
|
-
S3[E3++] = $ /
|
|
9953
|
+
let b = k * e, q4 = b + t, J = U2(Y, b, m2, q4, f2, n2), K2 = U2(z2, b, m2, q4, f2, n2), N3 = U2(D3, b, m2, q4, f2, n2), Q2 = U2(V3, b, m2, q4, f2, n2), R = U2(j3, b, m2, q4, f2, n2), C3 = J / x, B = K2 / x, L3 = C3 * C3, T = B * B, X2 = C3 * B, W2 = N3 / x - L3, Z2 = Q2 / x - T, _2 = R / x - X2, $ = (2 * X2 + y) * (2 * _2 + O2), w = (L3 + T + y) * (W2 + Z2 + O2);
|
|
9954
|
+
S3[E3++] = $ / w;
|
|
9948
9955
|
}
|
|
9949
9956
|
}
|
|
9950
|
-
if (c2 &&
|
|
9957
|
+
if (c2 && on2(c2, S3, M, I2, n2, r), v) return nn2(S3);
|
|
9951
9958
|
{
|
|
9952
9959
|
let l = 0;
|
|
9953
|
-
for (let
|
|
9960
|
+
for (let m2 = 0; m2 < S3.length; m2++) l += S3[m2];
|
|
9954
9961
|
return l / S3.length;
|
|
9955
9962
|
}
|
|
9956
9963
|
}
|
|
9957
|
-
function
|
|
9958
|
-
let n2 = a2 + 1, r = c2 + 1,
|
|
9964
|
+
function F(o2, a2, c2) {
|
|
9965
|
+
let n2 = a2 + 1, r = c2 + 1, s2 = new Float64Array(n2 * r);
|
|
9959
9966
|
for (let t = 1; t <= c2; t++) for (let e = 1; e <= a2; e++) {
|
|
9960
9967
|
let u = (t - 1) * a2 + (e - 1), i2 = t * n2 + e;
|
|
9961
|
-
|
|
9968
|
+
s2[i2] = o2[u] + s2[(t - 1) * n2 + e] + s2[t * n2 + (e - 1)] - s2[(t - 1) * n2 + (e - 1)];
|
|
9962
9969
|
}
|
|
9963
|
-
return
|
|
9970
|
+
return s2;
|
|
9964
9971
|
}
|
|
9965
|
-
function U2(o2, a2, c2, n2, r,
|
|
9966
|
-
let t =
|
|
9972
|
+
function U2(o2, a2, c2, n2, r, s2) {
|
|
9973
|
+
let t = s2 + 1;
|
|
9967
9974
|
return o2[r * t + n2] - o2[c2 * t + n2] - o2[r * t + a2] + o2[c2 * t + a2];
|
|
9968
9975
|
}
|
|
9969
9976
|
function nn2(o2) {
|
|
@@ -9974,21 +9981,21 @@ function nn2(o2) {
|
|
|
9974
9981
|
let u = o2[e] - c2;
|
|
9975
9982
|
n2 += u * u;
|
|
9976
9983
|
}
|
|
9977
|
-
let r = n2 / o2.length,
|
|
9978
|
-
return 1 - (c2 > 0 ?
|
|
9984
|
+
let r = n2 / o2.length, s2 = Math.sqrt(r);
|
|
9985
|
+
return 1 - (c2 > 0 ? s2 / c2 : 0);
|
|
9979
9986
|
}
|
|
9980
|
-
function
|
|
9981
|
-
let t = r / c2, e =
|
|
9982
|
-
for (let u = 0; u <
|
|
9987
|
+
function on2(o2, a2, c2, n2, r, s2) {
|
|
9988
|
+
let t = r / c2, e = s2 / n2;
|
|
9989
|
+
for (let u = 0; u < s2; u++) for (let i2 = 0; i2 < r; i2++) {
|
|
9983
9990
|
let d2 = Math.min(Math.floor(i2 / t), c2 - 1), v = Math.min(Math.floor(u / e), n2 - 1), g2 = a2[v * c2 + d2], A = Math.floor(Math.max(0, Math.min(1, g2)) * 255), y = (u * r + i2) * 4;
|
|
9984
9991
|
o2[y] = A, o2[y + 1] = A, o2[y + 2] = A, o2[y + 3] = 255;
|
|
9985
9992
|
}
|
|
9986
9993
|
}
|
|
9987
|
-
var
|
|
9994
|
+
var en;
|
|
9988
9995
|
var init_hitchhikers_ssim = __esm({
|
|
9989
9996
|
"../ssim/dist/hitchhikers-ssim.mjs"() {
|
|
9990
9997
|
"use strict";
|
|
9991
|
-
|
|
9998
|
+
en = h;
|
|
9992
9999
|
}
|
|
9993
10000
|
});
|
|
9994
10001
|
|
|
@@ -10119,7 +10126,7 @@ async function main6() {
|
|
|
10119
10126
|
ssimOptions.covPooling = options.covPooling;
|
|
10120
10127
|
}
|
|
10121
10128
|
const startTime = performance.now();
|
|
10122
|
-
const score =
|
|
10129
|
+
const score = en(
|
|
10123
10130
|
img1.data,
|
|
10124
10131
|
img2.data,
|
|
10125
10132
|
outputData,
|