@blazediff/cli 2.0.3 → 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 +283 -283
- package/dist/commands/core.js +178 -178
- 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 +3 -2
package/dist/cli.js
CHANGED
|
@@ -165,7 +165,7 @@ var init_bin = __esm({
|
|
|
165
165
|
});
|
|
166
166
|
|
|
167
167
|
// ../core/dist/index.mjs
|
|
168
|
-
function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor:
|
|
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
169
|
if (!_(n2) || !_(r) || t && !_(t)) throw new Error("Image data: Uint8Array, Uint8ClampedArray or Buffer expected.");
|
|
170
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
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}`);
|
|
@@ -173,7 +173,7 @@ function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s =
|
|
|
173
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
|
|
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
177
|
for (let A = 0; A < I2; A++) for (let R = 0; R < i2; R++) {
|
|
178
178
|
let p2 = R * l, v = A * l, D3 = Math.min(p2 + l, e), P4 = Math.min(v + l, o2), $ = false;
|
|
179
179
|
n: for (let C3 = v; C3 < P4; C3++) {
|
|
@@ -198,7 +198,7 @@ function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s =
|
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
200
|
if (B === 0) return 0;
|
|
201
|
-
let [F2, J, K2] =
|
|
201
|
+
let [F2, J, K2] = s2, [Q2, W2, Z2] = a2, [k, w, h2] = O2 || a2, T = 0;
|
|
202
202
|
for (let A = 0; A < B; A++) {
|
|
203
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
204
|
for (let Y = P4; Y < C3; Y++) {
|
|
@@ -210,7 +210,7 @@ function g(n2, r, t, e, o2, { threshold: f2 = 0.1, alpha: c2 = 0.1, aaColor: s =
|
|
|
210
210
|
continue;
|
|
211
211
|
}
|
|
212
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,
|
|
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
|
}
|
|
@@ -224,46 +224,46 @@ function tn(n2, r) {
|
|
|
224
224
|
return 1 << Math.round(f2);
|
|
225
225
|
}
|
|
226
226
|
function N(n2, r, t, e) {
|
|
227
|
-
let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2],
|
|
228
|
-
if (!y && !
|
|
229
|
-
if (
|
|
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
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 *
|
|
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
232
|
}
|
|
233
|
-
let l = y * 0.29889531 +
|
|
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
234
|
return l > 0 ? -z2 : z2;
|
|
235
235
|
}
|
|
236
236
|
function rn(n2, r, t, e) {
|
|
237
|
-
let o2 = n2[t], f2 = n2[t + 1], c2 = n2[t + 2],
|
|
238
|
-
if (!y && !
|
|
239
|
-
if (
|
|
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
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 *
|
|
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
242
|
}
|
|
243
|
-
return y * 0.29889531 +
|
|
243
|
+
return y * 0.29889531 + m2 * 0.58662247 + u * 0.11448223;
|
|
244
244
|
}
|
|
245
245
|
function j(n2, r, t, e, o2, f2, c2) {
|
|
246
|
-
let
|
|
247
|
-
for (let x =
|
|
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
248
|
if (x === r && M === t) continue;
|
|
249
249
|
let B = rn(n2, n2, y, (M * e + x) * 4);
|
|
250
250
|
if (B === 0) {
|
|
251
|
-
if (
|
|
251
|
+
if (m2++, m2 > 2) return false;
|
|
252
252
|
} else B < u ? (u = B, l = x, i2 = M) : B > d2 && (d2 = B, I2 = x, z2 = M);
|
|
253
253
|
}
|
|
254
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
255
|
}
|
|
256
256
|
function q(n2, r, t, e, o2) {
|
|
257
|
-
let f2 = t * e + r, c2 = n2[f2],
|
|
257
|
+
let f2 = t * e + r, c2 = n2[f2], s2 = r === 0 || r === e - 1 || t === 0 || t === o2 - 1 ? 1 : 0;
|
|
258
258
|
if (t > 0) {
|
|
259
259
|
let a2 = f2 - e;
|
|
260
|
-
r > 0 && n2[a2 - 1] === c2 &&
|
|
260
|
+
r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
|
|
261
261
|
}
|
|
262
|
-
if (r > 0 && n2[f2 - 1] === c2 &&
|
|
262
|
+
if (r > 0 && n2[f2 - 1] === c2 && s2++, r < e - 1 && n2[f2 + 1] === c2 && s2++, t < o2 - 1) {
|
|
263
263
|
let a2 = f2 + e;
|
|
264
|
-
r > 0 && n2[a2 - 1] === c2 &&
|
|
264
|
+
r > 0 && n2[a2 - 1] === c2 && s2++, n2[a2] === c2 && s2++, r < e - 1 && n2[a2 + 1] === c2 && s2++;
|
|
265
265
|
}
|
|
266
|
-
return
|
|
266
|
+
return s2 > 2;
|
|
267
267
|
}
|
|
268
268
|
function L(n2, r, t, e) {
|
|
269
269
|
let o2 = 255 + (n2[r] * 0.29889531 + n2[r + 1] * 0.58662247 + n2[r + 2] * 0.11448223 - 255) * t * n2[r + 3] / 255;
|
|
@@ -2372,37 +2372,37 @@ var require_png = __commonJS({
|
|
|
2372
2372
|
// ../pngjs-transformer/dist/index.mjs
|
|
2373
2373
|
var dist_exports = {};
|
|
2374
2374
|
__export(dist_exports, {
|
|
2375
|
-
default: () =>
|
|
2376
|
-
pngjsTransformer: () =>
|
|
2375
|
+
default: () => m,
|
|
2376
|
+
pngjsTransformer: () => c
|
|
2377
2377
|
});
|
|
2378
2378
|
async function d(r) {
|
|
2379
|
-
return new Promise((
|
|
2379
|
+
return new Promise((n2, a2) => {
|
|
2380
2380
|
try {
|
|
2381
2381
|
let t = typeof r == "string" ? (0, import_fs.readFileSync)(r) : r, e = import_pngjs.PNG.sync.read(t);
|
|
2382
|
-
|
|
2382
|
+
n2({ data: e.data, width: e.width, height: e.height });
|
|
2383
2383
|
} catch (t) {
|
|
2384
|
-
|
|
2384
|
+
a2(new Error(`Failed to read PNG file ${r}: ${t}`));
|
|
2385
2385
|
}
|
|
2386
2386
|
});
|
|
2387
2387
|
}
|
|
2388
|
-
async function
|
|
2389
|
-
return new Promise((
|
|
2388
|
+
async function s(r, n2) {
|
|
2389
|
+
return new Promise((a2, t) => {
|
|
2390
2390
|
try {
|
|
2391
2391
|
let e = new import_pngjs.PNG({ width: r.width, height: r.height });
|
|
2392
|
-
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();
|
|
2393
2393
|
} catch (e) {
|
|
2394
|
-
t(new Error(`Failed to write PNG file ${
|
|
2394
|
+
t(new Error(`Failed to write PNG file ${n2}: ${e}`));
|
|
2395
2395
|
}
|
|
2396
2396
|
});
|
|
2397
2397
|
}
|
|
2398
|
-
var import_fs, import_pngjs,
|
|
2398
|
+
var import_fs, import_pngjs, c, m;
|
|
2399
2399
|
var init_dist2 = __esm({
|
|
2400
2400
|
"../pngjs-transformer/dist/index.mjs"() {
|
|
2401
2401
|
"use strict";
|
|
2402
2402
|
import_fs = require("fs");
|
|
2403
2403
|
import_pngjs = __toESM(require_png(), 1);
|
|
2404
|
-
|
|
2405
|
-
|
|
2404
|
+
c = { read: d, write: s };
|
|
2405
|
+
m = c;
|
|
2406
2406
|
}
|
|
2407
2407
|
});
|
|
2408
2408
|
|
|
@@ -2697,7 +2697,7 @@ var require_detect_libc = __commonJS({
|
|
|
2697
2697
|
}
|
|
2698
2698
|
return null;
|
|
2699
2699
|
};
|
|
2700
|
-
var versionSuffix = (
|
|
2700
|
+
var versionSuffix = (s2) => s2.trim().split(/\s+/)[1];
|
|
2701
2701
|
var versionFromCommand = (out) => {
|
|
2702
2702
|
const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
|
|
2703
2703
|
if (getconf && getconf.includes(GLIBC)) {
|
|
@@ -2950,14 +2950,14 @@ var require_semver = __commonJS({
|
|
|
2950
2950
|
this.options = options;
|
|
2951
2951
|
this.loose = !!options.loose;
|
|
2952
2952
|
this.includePrerelease = !!options.includePrerelease;
|
|
2953
|
-
const
|
|
2954
|
-
if (!
|
|
2953
|
+
const m2 = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
|
|
2954
|
+
if (!m2) {
|
|
2955
2955
|
throw new TypeError(`Invalid Version: ${version}`);
|
|
2956
2956
|
}
|
|
2957
2957
|
this.raw = version;
|
|
2958
|
-
this.major = +
|
|
2959
|
-
this.minor = +
|
|
2960
|
-
this.patch = +
|
|
2958
|
+
this.major = +m2[1];
|
|
2959
|
+
this.minor = +m2[2];
|
|
2960
|
+
this.patch = +m2[3];
|
|
2961
2961
|
if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
|
|
2962
2962
|
throw new TypeError("Invalid major version");
|
|
2963
2963
|
}
|
|
@@ -2967,10 +2967,10 @@ var require_semver = __commonJS({
|
|
|
2967
2967
|
if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
|
|
2968
2968
|
throw new TypeError("Invalid patch version");
|
|
2969
2969
|
}
|
|
2970
|
-
if (!
|
|
2970
|
+
if (!m2[4]) {
|
|
2971
2971
|
this.prerelease = [];
|
|
2972
2972
|
} else {
|
|
2973
|
-
this.prerelease =
|
|
2973
|
+
this.prerelease = m2[4].split(".").map((id) => {
|
|
2974
2974
|
if (/^[0-9]+$/.test(id)) {
|
|
2975
2975
|
const num = +id;
|
|
2976
2976
|
if (num >= 0 && num < MAX_SAFE_INTEGER) {
|
|
@@ -2980,7 +2980,7 @@ var require_semver = __commonJS({
|
|
|
2980
2980
|
return id;
|
|
2981
2981
|
});
|
|
2982
2982
|
}
|
|
2983
|
-
this.build =
|
|
2983
|
+
this.build = m2[5] ? m2[5].split(".") : [];
|
|
2984
2984
|
this.format();
|
|
2985
2985
|
}
|
|
2986
2986
|
format() {
|
|
@@ -3439,18 +3439,18 @@ var require_comparator = __commonJS({
|
|
|
3439
3439
|
}
|
|
3440
3440
|
parse(comp) {
|
|
3441
3441
|
const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
|
|
3442
|
-
const
|
|
3443
|
-
if (!
|
|
3442
|
+
const m2 = comp.match(r);
|
|
3443
|
+
if (!m2) {
|
|
3444
3444
|
throw new TypeError(`Invalid comparator: ${comp}`);
|
|
3445
3445
|
}
|
|
3446
|
-
this.operator =
|
|
3446
|
+
this.operator = m2[1] !== void 0 ? m2[1] : "";
|
|
3447
3447
|
if (this.operator === "=") {
|
|
3448
3448
|
this.operator = "";
|
|
3449
3449
|
}
|
|
3450
|
-
if (!
|
|
3450
|
+
if (!m2[2]) {
|
|
3451
3451
|
this.semver = ANY;
|
|
3452
3452
|
} else {
|
|
3453
|
-
this.semver = new SemVer(
|
|
3453
|
+
this.semver = new SemVer(m2[2], this.options.loose);
|
|
3454
3454
|
}
|
|
3455
3455
|
}
|
|
3456
3456
|
toString() {
|
|
@@ -3710,20 +3710,20 @@ var require_range = __commonJS({
|
|
|
3710
3710
|
};
|
|
3711
3711
|
var replaceTilde = (comp, options) => {
|
|
3712
3712
|
const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
|
|
3713
|
-
return comp.replace(r, (_2, M,
|
|
3714
|
-
debug("tilde", comp, _2, M,
|
|
3713
|
+
return comp.replace(r, (_2, M, m2, p2, pr) => {
|
|
3714
|
+
debug("tilde", comp, _2, M, m2, p2, pr);
|
|
3715
3715
|
let ret;
|
|
3716
3716
|
if (isX(M)) {
|
|
3717
3717
|
ret = "";
|
|
3718
|
-
} else if (isX(
|
|
3718
|
+
} else if (isX(m2)) {
|
|
3719
3719
|
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
|
|
3720
3720
|
} else if (isX(p2)) {
|
|
3721
|
-
ret = `>=${M}.${
|
|
3721
|
+
ret = `>=${M}.${m2}.0 <${M}.${+m2 + 1}.0-0`;
|
|
3722
3722
|
} else if (pr) {
|
|
3723
3723
|
debug("replaceTilde pr", pr);
|
|
3724
|
-
ret = `>=${M}.${
|
|
3724
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3725
3725
|
} else {
|
|
3726
|
-
ret = `>=${M}.${
|
|
3726
|
+
ret = `>=${M}.${m2}.${p2} <${M}.${+m2 + 1}.0-0`;
|
|
3727
3727
|
}
|
|
3728
3728
|
debug("tilde return", ret);
|
|
3729
3729
|
return ret;
|
|
@@ -3736,40 +3736,40 @@ var require_range = __commonJS({
|
|
|
3736
3736
|
debug("caret", comp, options);
|
|
3737
3737
|
const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
|
|
3738
3738
|
const z2 = options.includePrerelease ? "-0" : "";
|
|
3739
|
-
return comp.replace(r, (_2, M,
|
|
3740
|
-
debug("caret", comp, _2, M,
|
|
3739
|
+
return comp.replace(r, (_2, M, m2, p2, pr) => {
|
|
3740
|
+
debug("caret", comp, _2, M, m2, p2, pr);
|
|
3741
3741
|
let ret;
|
|
3742
3742
|
if (isX(M)) {
|
|
3743
3743
|
ret = "";
|
|
3744
|
-
} else if (isX(
|
|
3744
|
+
} else if (isX(m2)) {
|
|
3745
3745
|
ret = `>=${M}.0.0${z2} <${+M + 1}.0.0-0`;
|
|
3746
3746
|
} else if (isX(p2)) {
|
|
3747
3747
|
if (M === "0") {
|
|
3748
|
-
ret = `>=${M}.${
|
|
3748
|
+
ret = `>=${M}.${m2}.0${z2} <${M}.${+m2 + 1}.0-0`;
|
|
3749
3749
|
} else {
|
|
3750
|
-
ret = `>=${M}.${
|
|
3750
|
+
ret = `>=${M}.${m2}.0${z2} <${+M + 1}.0.0-0`;
|
|
3751
3751
|
}
|
|
3752
3752
|
} else if (pr) {
|
|
3753
3753
|
debug("replaceCaret pr", pr);
|
|
3754
3754
|
if (M === "0") {
|
|
3755
|
-
if (
|
|
3756
|
-
ret = `>=${M}.${
|
|
3755
|
+
if (m2 === "0") {
|
|
3756
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${m2}.${+p2 + 1}-0`;
|
|
3757
3757
|
} else {
|
|
3758
|
-
ret = `>=${M}.${
|
|
3758
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3759
3759
|
}
|
|
3760
3760
|
} else {
|
|
3761
|
-
ret = `>=${M}.${
|
|
3761
|
+
ret = `>=${M}.${m2}.${p2}-${pr} <${+M + 1}.0.0-0`;
|
|
3762
3762
|
}
|
|
3763
3763
|
} else {
|
|
3764
3764
|
debug("no pr");
|
|
3765
3765
|
if (M === "0") {
|
|
3766
|
-
if (
|
|
3767
|
-
ret = `>=${M}.${
|
|
3766
|
+
if (m2 === "0") {
|
|
3767
|
+
ret = `>=${M}.${m2}.${p2}${z2} <${M}.${m2}.${+p2 + 1}-0`;
|
|
3768
3768
|
} else {
|
|
3769
|
-
ret = `>=${M}.${
|
|
3769
|
+
ret = `>=${M}.${m2}.${p2}${z2} <${M}.${+m2 + 1}.0-0`;
|
|
3770
3770
|
}
|
|
3771
3771
|
} else {
|
|
3772
|
-
ret = `>=${M}.${
|
|
3772
|
+
ret = `>=${M}.${m2}.${p2} <${+M + 1}.0.0-0`;
|
|
3773
3773
|
}
|
|
3774
3774
|
}
|
|
3775
3775
|
debug("caret return", ret);
|
|
@@ -3783,10 +3783,10 @@ var require_range = __commonJS({
|
|
|
3783
3783
|
var replaceXRange = (comp, options) => {
|
|
3784
3784
|
comp = comp.trim();
|
|
3785
3785
|
const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
|
|
3786
|
-
return comp.replace(r, (ret, gtlt, M,
|
|
3787
|
-
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);
|
|
3788
3788
|
const xM = isX(M);
|
|
3789
|
-
const xm = xM || isX(
|
|
3789
|
+
const xm = xM || isX(m2);
|
|
3790
3790
|
const xp = xm || isX(p2);
|
|
3791
3791
|
const anyX = xp;
|
|
3792
3792
|
if (gtlt === "=" && anyX) {
|
|
@@ -3801,17 +3801,17 @@ var require_range = __commonJS({
|
|
|
3801
3801
|
}
|
|
3802
3802
|
} else if (gtlt && anyX) {
|
|
3803
3803
|
if (xm) {
|
|
3804
|
-
|
|
3804
|
+
m2 = 0;
|
|
3805
3805
|
}
|
|
3806
3806
|
p2 = 0;
|
|
3807
3807
|
if (gtlt === ">") {
|
|
3808
3808
|
gtlt = ">=";
|
|
3809
3809
|
if (xm) {
|
|
3810
3810
|
M = +M + 1;
|
|
3811
|
-
|
|
3811
|
+
m2 = 0;
|
|
3812
3812
|
p2 = 0;
|
|
3813
3813
|
} else {
|
|
3814
|
-
|
|
3814
|
+
m2 = +m2 + 1;
|
|
3815
3815
|
p2 = 0;
|
|
3816
3816
|
}
|
|
3817
3817
|
} else if (gtlt === "<=") {
|
|
@@ -3819,17 +3819,17 @@ var require_range = __commonJS({
|
|
|
3819
3819
|
if (xm) {
|
|
3820
3820
|
M = +M + 1;
|
|
3821
3821
|
} else {
|
|
3822
|
-
|
|
3822
|
+
m2 = +m2 + 1;
|
|
3823
3823
|
}
|
|
3824
3824
|
}
|
|
3825
3825
|
if (gtlt === "<") {
|
|
3826
3826
|
pr = "-0";
|
|
3827
3827
|
}
|
|
3828
|
-
ret = `${gtlt + M}.${
|
|
3828
|
+
ret = `${gtlt + M}.${m2}.${p2}${pr}`;
|
|
3829
3829
|
} else if (xm) {
|
|
3830
3830
|
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
|
|
3831
3831
|
} else if (xp) {
|
|
3832
|
-
ret = `>=${M}.${
|
|
3832
|
+
ret = `>=${M}.${m2}.0${pr} <${M}.${+m2 + 1}.0-0`;
|
|
3833
3833
|
}
|
|
3834
3834
|
debug("xRange return", ret);
|
|
3835
3835
|
return ret;
|
|
@@ -4234,7 +4234,7 @@ var require_libvips = __commonJS({
|
|
|
4234
4234
|
}
|
|
4235
4235
|
return false;
|
|
4236
4236
|
};
|
|
4237
|
-
var sha512 = (
|
|
4237
|
+
var sha512 = (s2) => createHash("sha512").update(s2).digest("hex");
|
|
4238
4238
|
var yarnLocator = () => {
|
|
4239
4239
|
try {
|
|
4240
4240
|
const identHash = sha512(`imgsharp-libvips-${buildPlatformArch()}`);
|
|
@@ -6443,11 +6443,11 @@ var require_color_string = __commonJS({
|
|
|
6443
6443
|
var match = string.match(hsl);
|
|
6444
6444
|
if (match) {
|
|
6445
6445
|
var alpha = parseFloat(match[4]);
|
|
6446
|
-
var
|
|
6447
|
-
var
|
|
6446
|
+
var h2 = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
6447
|
+
var s2 = clamp(parseFloat(match[2]), 0, 100);
|
|
6448
6448
|
var l = clamp(parseFloat(match[3]), 0, 100);
|
|
6449
6449
|
var a2 = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
6450
|
-
return [
|
|
6450
|
+
return [h2, s2, l, a2];
|
|
6451
6451
|
}
|
|
6452
6452
|
return null;
|
|
6453
6453
|
};
|
|
@@ -6459,11 +6459,11 @@ var require_color_string = __commonJS({
|
|
|
6459
6459
|
var match = string.match(hwb);
|
|
6460
6460
|
if (match) {
|
|
6461
6461
|
var alpha = parseFloat(match[4]);
|
|
6462
|
-
var
|
|
6463
|
-
var
|
|
6462
|
+
var h2 = (parseFloat(match[1]) % 360 + 360) % 360;
|
|
6463
|
+
var w = clamp(parseFloat(match[2]), 0, 100);
|
|
6464
6464
|
var b = clamp(parseFloat(match[3]), 0, 100);
|
|
6465
6465
|
var a2 = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
|
|
6466
|
-
return [
|
|
6466
|
+
return [h2, w, b, a2];
|
|
6467
6467
|
}
|
|
6468
6468
|
return null;
|
|
6469
6469
|
};
|
|
@@ -6557,37 +6557,37 @@ var require_conversions = __commonJS({
|
|
|
6557
6557
|
const min = Math.min(r, g2, b);
|
|
6558
6558
|
const max = Math.max(r, g2, b);
|
|
6559
6559
|
const delta = max - min;
|
|
6560
|
-
let
|
|
6561
|
-
let
|
|
6560
|
+
let h2;
|
|
6561
|
+
let s2;
|
|
6562
6562
|
if (max === min) {
|
|
6563
|
-
|
|
6563
|
+
h2 = 0;
|
|
6564
6564
|
} else if (r === max) {
|
|
6565
|
-
|
|
6565
|
+
h2 = (g2 - b) / delta;
|
|
6566
6566
|
} else if (g2 === max) {
|
|
6567
|
-
|
|
6567
|
+
h2 = 2 + (b - r) / delta;
|
|
6568
6568
|
} else if (b === max) {
|
|
6569
|
-
|
|
6569
|
+
h2 = 4 + (r - g2) / delta;
|
|
6570
6570
|
}
|
|
6571
|
-
|
|
6572
|
-
if (
|
|
6573
|
-
|
|
6571
|
+
h2 = Math.min(h2 * 60, 360);
|
|
6572
|
+
if (h2 < 0) {
|
|
6573
|
+
h2 += 360;
|
|
6574
6574
|
}
|
|
6575
6575
|
const l = (min + max) / 2;
|
|
6576
6576
|
if (max === min) {
|
|
6577
|
-
|
|
6577
|
+
s2 = 0;
|
|
6578
6578
|
} else if (l <= 0.5) {
|
|
6579
|
-
|
|
6579
|
+
s2 = delta / (max + min);
|
|
6580
6580
|
} else {
|
|
6581
|
-
|
|
6581
|
+
s2 = delta / (2 - max - min);
|
|
6582
6582
|
}
|
|
6583
|
-
return [
|
|
6583
|
+
return [h2, s2 * 100, l * 100];
|
|
6584
6584
|
};
|
|
6585
6585
|
convert.rgb.hsv = function(rgb) {
|
|
6586
6586
|
let rdif;
|
|
6587
6587
|
let gdif;
|
|
6588
6588
|
let bdif;
|
|
6589
|
-
let
|
|
6590
|
-
let
|
|
6589
|
+
let h2;
|
|
6590
|
+
let s2;
|
|
6591
6591
|
const r = rgb[0] / 255;
|
|
6592
6592
|
const g2 = rgb[1] / 255;
|
|
6593
6593
|
const b = rgb[2] / 255;
|
|
@@ -6597,29 +6597,29 @@ var require_conversions = __commonJS({
|
|
|
6597
6597
|
return (v - c2) / 6 / diff + 1 / 2;
|
|
6598
6598
|
};
|
|
6599
6599
|
if (diff === 0) {
|
|
6600
|
-
|
|
6601
|
-
|
|
6600
|
+
h2 = 0;
|
|
6601
|
+
s2 = 0;
|
|
6602
6602
|
} else {
|
|
6603
|
-
|
|
6603
|
+
s2 = diff / v;
|
|
6604
6604
|
rdif = diffc(r);
|
|
6605
6605
|
gdif = diffc(g2);
|
|
6606
6606
|
bdif = diffc(b);
|
|
6607
6607
|
if (r === v) {
|
|
6608
|
-
|
|
6608
|
+
h2 = bdif - gdif;
|
|
6609
6609
|
} else if (g2 === v) {
|
|
6610
|
-
|
|
6610
|
+
h2 = 1 / 3 + rdif - bdif;
|
|
6611
6611
|
} else if (b === v) {
|
|
6612
|
-
|
|
6612
|
+
h2 = 2 / 3 + gdif - rdif;
|
|
6613
6613
|
}
|
|
6614
|
-
if (
|
|
6615
|
-
|
|
6616
|
-
} else if (
|
|
6617
|
-
|
|
6614
|
+
if (h2 < 0) {
|
|
6615
|
+
h2 += 1;
|
|
6616
|
+
} else if (h2 > 1) {
|
|
6617
|
+
h2 -= 1;
|
|
6618
6618
|
}
|
|
6619
6619
|
}
|
|
6620
6620
|
return [
|
|
6621
|
-
|
|
6622
|
-
|
|
6621
|
+
h2 * 360,
|
|
6622
|
+
s2 * 100,
|
|
6623
6623
|
v * 100
|
|
6624
6624
|
];
|
|
6625
6625
|
};
|
|
@@ -6627,10 +6627,10 @@ var require_conversions = __commonJS({
|
|
|
6627
6627
|
const r = rgb[0];
|
|
6628
6628
|
const g2 = rgb[1];
|
|
6629
6629
|
let b = rgb[2];
|
|
6630
|
-
const
|
|
6631
|
-
const
|
|
6630
|
+
const h2 = convert.rgb.hsl(rgb)[0];
|
|
6631
|
+
const w = 1 / 255 * Math.min(r, Math.min(g2, b));
|
|
6632
6632
|
b = 1 - 1 / 255 * Math.max(r, Math.max(g2, b));
|
|
6633
|
-
return [
|
|
6633
|
+
return [h2, w * 100, b * 100];
|
|
6634
6634
|
};
|
|
6635
6635
|
convert.rgb.cmyk = function(rgb) {
|
|
6636
6636
|
const r = rgb[0] / 255;
|
|
@@ -6638,9 +6638,9 @@ var require_conversions = __commonJS({
|
|
|
6638
6638
|
const b = rgb[2] / 255;
|
|
6639
6639
|
const k = Math.min(1 - r, 1 - g2, 1 - b);
|
|
6640
6640
|
const c2 = (1 - r - k) / (1 - k) || 0;
|
|
6641
|
-
const
|
|
6641
|
+
const m2 = (1 - g2 - k) / (1 - k) || 0;
|
|
6642
6642
|
const y = (1 - b - k) / (1 - k) || 0;
|
|
6643
|
-
return [c2 * 100,
|
|
6643
|
+
return [c2 * 100, m2 * 100, y * 100, k * 100];
|
|
6644
6644
|
};
|
|
6645
6645
|
function comparativeDistance(x, y) {
|
|
6646
6646
|
return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
|
|
@@ -6694,25 +6694,25 @@ var require_conversions = __commonJS({
|
|
|
6694
6694
|
return [l, a2, b];
|
|
6695
6695
|
};
|
|
6696
6696
|
convert.hsl.rgb = function(hsl) {
|
|
6697
|
-
const
|
|
6698
|
-
const
|
|
6697
|
+
const h2 = hsl[0] / 360;
|
|
6698
|
+
const s2 = hsl[1] / 100;
|
|
6699
6699
|
const l = hsl[2] / 100;
|
|
6700
6700
|
let t2;
|
|
6701
6701
|
let t3;
|
|
6702
6702
|
let val;
|
|
6703
|
-
if (
|
|
6703
|
+
if (s2 === 0) {
|
|
6704
6704
|
val = l * 255;
|
|
6705
6705
|
return [val, val, val];
|
|
6706
6706
|
}
|
|
6707
6707
|
if (l < 0.5) {
|
|
6708
|
-
t2 = l * (1 +
|
|
6708
|
+
t2 = l * (1 + s2);
|
|
6709
6709
|
} else {
|
|
6710
|
-
t2 = l +
|
|
6710
|
+
t2 = l + s2 - l * s2;
|
|
6711
6711
|
}
|
|
6712
6712
|
const t1 = 2 * l - t2;
|
|
6713
6713
|
const rgb = [0, 0, 0];
|
|
6714
6714
|
for (let i2 = 0; i2 < 3; i2++) {
|
|
6715
|
-
t3 =
|
|
6715
|
+
t3 = h2 + 1 / 3 * -(i2 - 1);
|
|
6716
6716
|
if (t3 < 0) {
|
|
6717
6717
|
t3++;
|
|
6718
6718
|
}
|
|
@@ -6733,27 +6733,27 @@ var require_conversions = __commonJS({
|
|
|
6733
6733
|
return rgb;
|
|
6734
6734
|
};
|
|
6735
6735
|
convert.hsl.hsv = function(hsl) {
|
|
6736
|
-
const
|
|
6737
|
-
let
|
|
6736
|
+
const h2 = hsl[0];
|
|
6737
|
+
let s2 = hsl[1] / 100;
|
|
6738
6738
|
let l = hsl[2] / 100;
|
|
6739
|
-
let smin =
|
|
6739
|
+
let smin = s2;
|
|
6740
6740
|
const lmin = Math.max(l, 0.01);
|
|
6741
6741
|
l *= 2;
|
|
6742
|
-
|
|
6742
|
+
s2 *= l <= 1 ? l : 2 - l;
|
|
6743
6743
|
smin *= lmin <= 1 ? lmin : 2 - lmin;
|
|
6744
|
-
const v = (l +
|
|
6745
|
-
const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 *
|
|
6746
|
-
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];
|
|
6747
6747
|
};
|
|
6748
6748
|
convert.hsv.rgb = function(hsv) {
|
|
6749
|
-
const
|
|
6750
|
-
const
|
|
6749
|
+
const h2 = hsv[0] / 60;
|
|
6750
|
+
const s2 = hsv[1] / 100;
|
|
6751
6751
|
let v = hsv[2] / 100;
|
|
6752
|
-
const hi = Math.floor(
|
|
6753
|
-
const f2 =
|
|
6754
|
-
const p2 = 255 * v * (1 -
|
|
6755
|
-
const q4 = 255 * v * (1 -
|
|
6756
|
-
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));
|
|
6757
6757
|
v *= 255;
|
|
6758
6758
|
switch (hi) {
|
|
6759
6759
|
case 0:
|
|
@@ -6771,22 +6771,22 @@ var require_conversions = __commonJS({
|
|
|
6771
6771
|
}
|
|
6772
6772
|
};
|
|
6773
6773
|
convert.hsv.hsl = function(hsv) {
|
|
6774
|
-
const
|
|
6775
|
-
const
|
|
6774
|
+
const h2 = hsv[0];
|
|
6775
|
+
const s2 = hsv[1] / 100;
|
|
6776
6776
|
const v = hsv[2] / 100;
|
|
6777
6777
|
const vmin = Math.max(v, 0.01);
|
|
6778
6778
|
let sl;
|
|
6779
6779
|
let l;
|
|
6780
|
-
l = (2 -
|
|
6781
|
-
const lmin = (2 -
|
|
6782
|
-
sl =
|
|
6780
|
+
l = (2 - s2) * v;
|
|
6781
|
+
const lmin = (2 - s2) * vmin;
|
|
6782
|
+
sl = s2 * vmin;
|
|
6783
6783
|
sl /= lmin <= 1 ? lmin : 2 - lmin;
|
|
6784
6784
|
sl = sl || 0;
|
|
6785
6785
|
l /= 2;
|
|
6786
|
-
return [
|
|
6786
|
+
return [h2, sl * 100, l * 100];
|
|
6787
6787
|
};
|
|
6788
6788
|
convert.hwb.rgb = function(hwb) {
|
|
6789
|
-
const
|
|
6789
|
+
const h2 = hwb[0] / 360;
|
|
6790
6790
|
let wh = hwb[1] / 100;
|
|
6791
6791
|
let bl = hwb[2] / 100;
|
|
6792
6792
|
const ratio = wh + bl;
|
|
@@ -6795,9 +6795,9 @@ var require_conversions = __commonJS({
|
|
|
6795
6795
|
wh /= ratio;
|
|
6796
6796
|
bl /= ratio;
|
|
6797
6797
|
}
|
|
6798
|
-
const i2 = Math.floor(6 *
|
|
6798
|
+
const i2 = Math.floor(6 * h2);
|
|
6799
6799
|
const v = 1 - bl;
|
|
6800
|
-
f2 = 6 *
|
|
6800
|
+
f2 = 6 * h2 - i2;
|
|
6801
6801
|
if ((i2 & 1) !== 0) {
|
|
6802
6802
|
f2 = 1 - f2;
|
|
6803
6803
|
}
|
|
@@ -6843,11 +6843,11 @@ var require_conversions = __commonJS({
|
|
|
6843
6843
|
};
|
|
6844
6844
|
convert.cmyk.rgb = function(cmyk) {
|
|
6845
6845
|
const c2 = cmyk[0] / 100;
|
|
6846
|
-
const
|
|
6846
|
+
const m2 = cmyk[1] / 100;
|
|
6847
6847
|
const y = cmyk[2] / 100;
|
|
6848
6848
|
const k = cmyk[3] / 100;
|
|
6849
6849
|
const r = 1 - Math.min(1, c2 * (1 - k) + k);
|
|
6850
|
-
const g2 = 1 - Math.min(1,
|
|
6850
|
+
const g2 = 1 - Math.min(1, m2 * (1 - k) + k);
|
|
6851
6851
|
const b = 1 - Math.min(1, y * (1 - k) + k);
|
|
6852
6852
|
return [r * 255, g2 * 255, b * 255];
|
|
6853
6853
|
};
|
|
@@ -6909,20 +6909,20 @@ var require_conversions = __commonJS({
|
|
|
6909
6909
|
const l = lab[0];
|
|
6910
6910
|
const a2 = lab[1];
|
|
6911
6911
|
const b = lab[2];
|
|
6912
|
-
let
|
|
6912
|
+
let h2;
|
|
6913
6913
|
const hr = Math.atan2(b, a2);
|
|
6914
|
-
|
|
6915
|
-
if (
|
|
6916
|
-
|
|
6914
|
+
h2 = hr * 360 / 2 / Math.PI;
|
|
6915
|
+
if (h2 < 0) {
|
|
6916
|
+
h2 += 360;
|
|
6917
6917
|
}
|
|
6918
6918
|
const c2 = Math.sqrt(a2 * a2 + b * b);
|
|
6919
|
-
return [l, c2,
|
|
6919
|
+
return [l, c2, h2];
|
|
6920
6920
|
};
|
|
6921
6921
|
convert.lch.lab = function(lch) {
|
|
6922
6922
|
const l = lch[0];
|
|
6923
6923
|
const c2 = lch[1];
|
|
6924
|
-
const
|
|
6925
|
-
const hr =
|
|
6924
|
+
const h2 = lch[2];
|
|
6925
|
+
const hr = h2 / 360 * 2 * Math.PI;
|
|
6926
6926
|
const a2 = c2 * Math.cos(hr);
|
|
6927
6927
|
const b = c2 * Math.sin(hr);
|
|
6928
6928
|
return [l, a2, b];
|
|
@@ -7036,9 +7036,9 @@ var require_conversions = __commonJS({
|
|
|
7036
7036
|
return [hue * 360, chroma * 100, grayscale * 100];
|
|
7037
7037
|
};
|
|
7038
7038
|
convert.hsl.hcg = function(hsl) {
|
|
7039
|
-
const
|
|
7039
|
+
const s2 = hsl[1] / 100;
|
|
7040
7040
|
const l = hsl[2] / 100;
|
|
7041
|
-
const c2 = l < 0.5 ? 2 *
|
|
7041
|
+
const c2 = l < 0.5 ? 2 * s2 * l : 2 * s2 * (1 - l);
|
|
7042
7042
|
let f2 = 0;
|
|
7043
7043
|
if (c2 < 1) {
|
|
7044
7044
|
f2 = (l - 0.5 * c2) / (1 - c2);
|
|
@@ -7046,9 +7046,9 @@ var require_conversions = __commonJS({
|
|
|
7046
7046
|
return [hsl[0], c2 * 100, f2 * 100];
|
|
7047
7047
|
};
|
|
7048
7048
|
convert.hsv.hcg = function(hsv) {
|
|
7049
|
-
const
|
|
7049
|
+
const s2 = hsv[1] / 100;
|
|
7050
7050
|
const v = hsv[2] / 100;
|
|
7051
|
-
const c2 =
|
|
7051
|
+
const c2 = s2 * v;
|
|
7052
7052
|
let f2 = 0;
|
|
7053
7053
|
if (c2 < 1) {
|
|
7054
7054
|
f2 = (v - c2) / (1 - c2);
|
|
@@ -7056,16 +7056,16 @@ var require_conversions = __commonJS({
|
|
|
7056
7056
|
return [hsv[0], c2 * 100, f2 * 100];
|
|
7057
7057
|
};
|
|
7058
7058
|
convert.hcg.rgb = function(hcg) {
|
|
7059
|
-
const
|
|
7059
|
+
const h2 = hcg[0] / 360;
|
|
7060
7060
|
const c2 = hcg[1] / 100;
|
|
7061
7061
|
const g2 = hcg[2] / 100;
|
|
7062
7062
|
if (c2 === 0) {
|
|
7063
7063
|
return [g2 * 255, g2 * 255, g2 * 255];
|
|
7064
7064
|
}
|
|
7065
7065
|
const pure = [0, 0, 0];
|
|
7066
|
-
const hi =
|
|
7066
|
+
const hi = h2 % 1 * 6;
|
|
7067
7067
|
const v = hi % 1;
|
|
7068
|
-
const
|
|
7068
|
+
const w = 1 - v;
|
|
7069
7069
|
let mg = 0;
|
|
7070
7070
|
switch (Math.floor(hi)) {
|
|
7071
7071
|
case 0:
|
|
@@ -7074,7 +7074,7 @@ var require_conversions = __commonJS({
|
|
|
7074
7074
|
pure[2] = 0;
|
|
7075
7075
|
break;
|
|
7076
7076
|
case 1:
|
|
7077
|
-
pure[0] =
|
|
7077
|
+
pure[0] = w;
|
|
7078
7078
|
pure[1] = 1;
|
|
7079
7079
|
pure[2] = 0;
|
|
7080
7080
|
break;
|
|
@@ -7085,7 +7085,7 @@ var require_conversions = __commonJS({
|
|
|
7085
7085
|
break;
|
|
7086
7086
|
case 3:
|
|
7087
7087
|
pure[0] = 0;
|
|
7088
|
-
pure[1] =
|
|
7088
|
+
pure[1] = w;
|
|
7089
7089
|
pure[2] = 1;
|
|
7090
7090
|
break;
|
|
7091
7091
|
case 4:
|
|
@@ -7096,7 +7096,7 @@ var require_conversions = __commonJS({
|
|
|
7096
7096
|
default:
|
|
7097
7097
|
pure[0] = 1;
|
|
7098
7098
|
pure[1] = 0;
|
|
7099
|
-
pure[2] =
|
|
7099
|
+
pure[2] = w;
|
|
7100
7100
|
}
|
|
7101
7101
|
mg = (1 - c2) * g2;
|
|
7102
7102
|
return [
|
|
@@ -7119,13 +7119,13 @@ var require_conversions = __commonJS({
|
|
|
7119
7119
|
const c2 = hcg[1] / 100;
|
|
7120
7120
|
const g2 = hcg[2] / 100;
|
|
7121
7121
|
const l = g2 * (1 - c2) + 0.5 * c2;
|
|
7122
|
-
let
|
|
7122
|
+
let s2 = 0;
|
|
7123
7123
|
if (l > 0 && l < 0.5) {
|
|
7124
|
-
|
|
7124
|
+
s2 = c2 / (2 * l);
|
|
7125
7125
|
} else if (l >= 0.5 && l < 1) {
|
|
7126
|
-
|
|
7126
|
+
s2 = c2 / (2 * (1 - l));
|
|
7127
7127
|
}
|
|
7128
|
-
return [hcg[0],
|
|
7128
|
+
return [hcg[0], s2 * 100, l * 100];
|
|
7129
7129
|
};
|
|
7130
7130
|
convert.hcg.hwb = function(hcg) {
|
|
7131
7131
|
const c2 = hcg[1] / 100;
|
|
@@ -7134,10 +7134,10 @@ var require_conversions = __commonJS({
|
|
|
7134
7134
|
return [hcg[0], (v - c2) * 100, (1 - v) * 100];
|
|
7135
7135
|
};
|
|
7136
7136
|
convert.hwb.hcg = function(hwb) {
|
|
7137
|
-
const
|
|
7137
|
+
const w = hwb[1] / 100;
|
|
7138
7138
|
const b = hwb[2] / 100;
|
|
7139
7139
|
const v = 1 - b;
|
|
7140
|
-
const c2 = v -
|
|
7140
|
+
const c2 = v - w;
|
|
7141
7141
|
let g2 = 0;
|
|
7142
7142
|
if (c2 < 1) {
|
|
7143
7143
|
g2 = (v - c2) / (1 - c2);
|
|
@@ -7615,14 +7615,14 @@ var require_color = __commonJS({
|
|
|
7615
7615
|
const color1 = mixinColor.rgb();
|
|
7616
7616
|
const color2 = this.rgb();
|
|
7617
7617
|
const p2 = weight === void 0 ? 0.5 : weight;
|
|
7618
|
-
const
|
|
7618
|
+
const w = 2 * p2 - 1;
|
|
7619
7619
|
const a2 = color1.alpha() - color2.alpha();
|
|
7620
|
-
const w1 = ((
|
|
7621
|
-
const
|
|
7620
|
+
const w1 = ((w * a2 === -1 ? w : (w + a2) / (1 + w * a2)) + 1) / 2;
|
|
7621
|
+
const w2 = 1 - w1;
|
|
7622
7622
|
return Color.rgb(
|
|
7623
|
-
w1 * color1.red() +
|
|
7624
|
-
w1 * color1.green() +
|
|
7625
|
-
w1 * color1.blue() +
|
|
7623
|
+
w1 * color1.red() + w2 * color2.red(),
|
|
7624
|
+
w1 * color1.green() + w2 * color2.green(),
|
|
7625
|
+
w1 * color1.blue() + w2 * color2.blue(),
|
|
7626
7626
|
color1.alpha() * p2 + color2.alpha() * (1 - p2)
|
|
7627
7627
|
);
|
|
7628
7628
|
}
|
|
@@ -7659,8 +7659,8 @@ var require_color = __commonJS({
|
|
|
7659
7659
|
}
|
|
7660
7660
|
function getset(model, channel, modifier) {
|
|
7661
7661
|
model = Array.isArray(model) ? model : [model];
|
|
7662
|
-
for (const
|
|
7663
|
-
(limiters[
|
|
7662
|
+
for (const m2 of model) {
|
|
7663
|
+
(limiters[m2] || (limiters[m2] = []))[channel] = modifier;
|
|
7664
7664
|
}
|
|
7665
7665
|
model = model[0];
|
|
7666
7666
|
return function(value) {
|
|
@@ -8905,7 +8905,7 @@ __export(core_exports, {
|
|
|
8905
8905
|
default: () => main2
|
|
8906
8906
|
});
|
|
8907
8907
|
function parseRGB(colorStr) {
|
|
8908
|
-
const parts = colorStr.split(",").map((
|
|
8908
|
+
const parts = colorStr.split(",").map((s2) => parseInt(s2.trim(), 10));
|
|
8909
8909
|
if (parts.length !== 3 || parts.some((p2) => Number.isNaN(p2) || p2 < 0 || p2 > 255)) {
|
|
8910
8910
|
throw new Error(
|
|
8911
8911
|
`Invalid RGB color format: ${colorStr}. Expected format: r,g,b (e.g., 255,0,0)`
|
|
@@ -9132,7 +9132,7 @@ var init_core = __esm({
|
|
|
9132
9132
|
|
|
9133
9133
|
// ../gmsd/dist/index.mjs
|
|
9134
9134
|
function D(e, n2, a2, t, r, o2 = {}) {
|
|
9135
|
-
let { downsample:
|
|
9135
|
+
let { downsample: s2 = 0, c: c2 = 170 } = o2;
|
|
9136
9136
|
if (H(e, n2)) {
|
|
9137
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;
|
|
9138
9138
|
return 0;
|
|
@@ -9143,7 +9143,7 @@ function D(e, n2, a2, t, r, o2 = {}) {
|
|
|
9143
9143
|
l = new Float32Array(t * r), u = new Float32Array(t * r);
|
|
9144
9144
|
for (let y = 0; y < t * r; y++) l[y] = e[y], u[y] = n2[y];
|
|
9145
9145
|
}
|
|
9146
|
-
if (
|
|
9146
|
+
if (s2 === 1) {
|
|
9147
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);
|
|
9148
9148
|
for (let i2 = 0; i2 < I2; i2++) for (let p2 = 0; p2 < d2; p2++) {
|
|
9149
9149
|
let G = i2 * 2 * t + p2 * 2;
|
|
@@ -9162,41 +9162,41 @@ function H(e, n2) {
|
|
|
9162
9162
|
function P(e, n2, a2) {
|
|
9163
9163
|
let t = new Float32Array(n2 * a2);
|
|
9164
9164
|
for (let r = 0; r < a2; r++) for (let o2 = 0; o2 < n2; o2++) {
|
|
9165
|
-
let
|
|
9166
|
-
for (let c2 = 0; c2 < 2; c2++) for (let
|
|
9167
|
-
let f2 = r + c2, l = o2 +
|
|
9168
|
-
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]);
|
|
9169
9169
|
}
|
|
9170
|
-
t[r * n2 + o2] =
|
|
9170
|
+
t[r * n2 + o2] = s2 / 4;
|
|
9171
9171
|
}
|
|
9172
9172
|
return t;
|
|
9173
9173
|
}
|
|
9174
9174
|
function O(e, n2, a2, t, r, o2) {
|
|
9175
9175
|
e.fill(0);
|
|
9176
|
-
for (let
|
|
9177
|
-
let
|
|
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
9178
|
e[A] = F2, e[A + 1] = F2, e[A + 2] = F2, e[A + 3] = 255;
|
|
9179
9179
|
}
|
|
9180
9180
|
}
|
|
9181
9181
|
function q2(e, n2, a2, t) {
|
|
9182
9182
|
let r = a2 * t;
|
|
9183
9183
|
for (let o2 = 0; o2 < r; o2++) {
|
|
9184
|
-
let
|
|
9185
|
-
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;
|
|
9186
9186
|
}
|
|
9187
9187
|
}
|
|
9188
9188
|
function S(e, n2, a2) {
|
|
9189
9189
|
let t = new Float32Array(n2 * a2);
|
|
9190
9190
|
for (let r = 1; r < a2 - 1; r++) for (let o2 = 1; o2 < n2 - 1; o2++) {
|
|
9191
|
-
let
|
|
9192
|
-
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);
|
|
9193
9193
|
}
|
|
9194
9194
|
return t;
|
|
9195
9195
|
}
|
|
9196
9196
|
function U(e, n2, a2, t, r) {
|
|
9197
9197
|
let o2 = [];
|
|
9198
|
-
for (let
|
|
9199
|
-
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;
|
|
9200
9200
|
o2.push(u / b);
|
|
9201
9201
|
}
|
|
9202
9202
|
return new Float32Array(o2);
|
|
@@ -9208,8 +9208,8 @@ function W(e) {
|
|
|
9208
9208
|
for (let o2 = 0; o2 < n2; o2++) a2 += e[o2];
|
|
9209
9209
|
let t = a2 / n2, r = 0;
|
|
9210
9210
|
for (let o2 = 0; o2 < n2; o2++) {
|
|
9211
|
-
let
|
|
9212
|
-
r +=
|
|
9211
|
+
let s2 = e[o2] - t;
|
|
9212
|
+
r += s2 * s2;
|
|
9213
9213
|
}
|
|
9214
9214
|
return r /= n2, Math.sqrt(r);
|
|
9215
9215
|
}
|
|
@@ -9408,32 +9408,32 @@ function C2(f2, M, l) {
|
|
|
9408
9408
|
return r;
|
|
9409
9409
|
}
|
|
9410
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),
|
|
9412
|
-
if (
|
|
9413
|
-
let y = Q(c2,
|
|
9414
|
-
c2 = y.img1,
|
|
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
9415
|
}
|
|
9416
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(
|
|
9417
|
+
S2(c2, v, U3, o2, t, x, e), S2(s2, O2, U3, o2, t, x, e);
|
|
9418
9418
|
let V3 = c2.length;
|
|
9419
9419
|
for (let y = 0; y < V3; y++) {
|
|
9420
|
-
let p2 = c2[y], d2 =
|
|
9421
|
-
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;
|
|
9422
9422
|
}
|
|
9423
9423
|
let q4 = new Float32Array(o2 * t);
|
|
9424
|
-
S2(c2, G, q4, o2, t, x, e), S2(
|
|
9425
|
-
let
|
|
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);
|
|
9426
9426
|
for (let y = 0; y < v.length; y++) {
|
|
9427
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
|
-
|
|
9428
|
+
w[y] = j3 / J;
|
|
9429
9429
|
}
|
|
9430
9430
|
if (l) {
|
|
9431
9431
|
let y = o2 - e + 1, p2 = t - e + 1;
|
|
9432
|
-
Z(l,
|
|
9432
|
+
Z(l, w, y, p2, r, n2);
|
|
9433
9433
|
}
|
|
9434
9434
|
let L3 = 0;
|
|
9435
|
-
for (let y = 0; y <
|
|
9436
|
-
return L3 /
|
|
9435
|
+
for (let y = 0; y < w.length; y++) L3 += w[y];
|
|
9436
|
+
return L3 / w.length;
|
|
9437
9437
|
}
|
|
9438
9438
|
function P2(f2, M) {
|
|
9439
9439
|
let l = `${f2}_${M}`, r = D2.get(l);
|
|
@@ -9448,72 +9448,72 @@ function P2(f2, M) {
|
|
|
9448
9448
|
}
|
|
9449
9449
|
function S2(f2, M, l, r, n2, u, e) {
|
|
9450
9450
|
let A = Math.floor(e / 2);
|
|
9451
|
-
for (let
|
|
9452
|
-
let o2 =
|
|
9451
|
+
for (let s2 = 0; s2 < n2; s2++) {
|
|
9452
|
+
let o2 = s2 * r;
|
|
9453
9453
|
for (let t = 0; t < A; t++) {
|
|
9454
|
-
let
|
|
9454
|
+
let m2 = 0;
|
|
9455
9455
|
for (let F2 = 0; F2 < e; F2++) {
|
|
9456
9456
|
let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
|
|
9457
|
-
|
|
9457
|
+
m2 += f2[o2 + b] * u[F2];
|
|
9458
9458
|
}
|
|
9459
|
-
l[o2 + t] =
|
|
9459
|
+
l[o2 + t] = m2;
|
|
9460
9460
|
}
|
|
9461
9461
|
for (let t = A; t < r - A; t++) {
|
|
9462
|
-
let
|
|
9463
|
-
for (let x = 0; x < e; x++)
|
|
9464
|
-
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;
|
|
9465
9465
|
}
|
|
9466
9466
|
for (let t = r - A; t < r; t++) {
|
|
9467
|
-
let
|
|
9467
|
+
let m2 = 0;
|
|
9468
9468
|
for (let F2 = 0; F2 < e; F2++) {
|
|
9469
9469
|
let x = t + F2 - A, b = Math.max(0, Math.min(r - 1, x));
|
|
9470
|
-
|
|
9470
|
+
m2 += f2[o2 + b] * u[F2];
|
|
9471
9471
|
}
|
|
9472
|
-
l[o2 + t] =
|
|
9472
|
+
l[o2 + t] = m2;
|
|
9473
9473
|
}
|
|
9474
9474
|
}
|
|
9475
9475
|
let a2 = r - e + 1, i2 = n2 - e + 1, c2 = 0;
|
|
9476
|
-
for (let
|
|
9477
|
-
let t = 0,
|
|
9476
|
+
for (let s2 = 0; s2 < i2; s2++) for (let o2 = 0; o2 < a2; o2++) {
|
|
9477
|
+
let t = 0, m2 = o2 + A;
|
|
9478
9478
|
for (let F2 = 0; F2 < e; F2++) {
|
|
9479
|
-
let x =
|
|
9480
|
-
t += l[x * r +
|
|
9479
|
+
let x = s2 + F2;
|
|
9480
|
+
t += l[x * r + m2] * u[F2];
|
|
9481
9481
|
}
|
|
9482
9482
|
M[c2++] = t;
|
|
9483
9483
|
}
|
|
9484
9484
|
}
|
|
9485
9485
|
function Q(f2, M, l, r, n2) {
|
|
9486
9486
|
let u = new Float32Array(n2), e = 1 / n2;
|
|
9487
|
-
for (let
|
|
9487
|
+
for (let m2 = 0; m2 < n2; m2++) u[m2] = e;
|
|
9488
9488
|
let A = new Float32Array(l * r), a2 = new Float32Array(l * r);
|
|
9489
9489
|
E(f2, a2, A, l, r, u, n2);
|
|
9490
9490
|
let i2 = new Float32Array(l * r);
|
|
9491
9491
|
E(M, i2, A, l, r, u, n2);
|
|
9492
|
-
let c2 = Math.floor(l / n2),
|
|
9493
|
-
for (let
|
|
9494
|
-
let F2 =
|
|
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
9495
|
for (let b = 0; b < c2; b++) o2[x + b] = a2[F2 + b * n2], t[x + b] = i2[F2 + b * n2];
|
|
9496
9496
|
}
|
|
9497
|
-
return { img1: o2, img2: t, width: c2, height:
|
|
9497
|
+
return { img1: o2, img2: t, width: c2, height: s2 };
|
|
9498
9498
|
}
|
|
9499
9499
|
function E(f2, M, l, r, n2, u, e) {
|
|
9500
9500
|
let A = Math.floor(e / 2);
|
|
9501
9501
|
for (let a2 = 0; a2 < n2; a2++) {
|
|
9502
9502
|
let i2 = a2 * r;
|
|
9503
9503
|
for (let c2 = 0; c2 < r; c2++) {
|
|
9504
|
-
let
|
|
9504
|
+
let s2 = 0;
|
|
9505
9505
|
for (let o2 = 0; o2 < e; o2++) {
|
|
9506
9506
|
let t = c2 + o2 - A;
|
|
9507
|
-
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];
|
|
9508
9508
|
}
|
|
9509
|
-
l[i2 + c2] =
|
|
9509
|
+
l[i2 + c2] = s2;
|
|
9510
9510
|
}
|
|
9511
9511
|
}
|
|
9512
9512
|
for (let a2 = 0; a2 < n2; a2++) for (let i2 = 0; i2 < r; i2++) {
|
|
9513
9513
|
let c2 = 0;
|
|
9514
|
-
for (let
|
|
9515
|
-
let o2 = a2 +
|
|
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[
|
|
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];
|
|
9517
9517
|
}
|
|
9518
9518
|
M[a2 * r + i2] = c2;
|
|
9519
9519
|
}
|
|
@@ -9521,8 +9521,8 @@ function E(f2, M, l, r, n2, u, e) {
|
|
|
9521
9521
|
function Z(f2, M, l, r, n2, u) {
|
|
9522
9522
|
let e = n2 / l, A = u / r;
|
|
9523
9523
|
for (let a2 = 0; a2 < u; a2++) for (let i2 = 0; i2 < n2; i2++) {
|
|
9524
|
-
let c2 = Math.min(Math.floor(i2 / e), l - 1),
|
|
9525
|
-
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;
|
|
9526
9526
|
}
|
|
9527
9527
|
}
|
|
9528
9528
|
var D2, z;
|
|
@@ -9684,15 +9684,15 @@ var init_ssim2 = __esm({
|
|
|
9684
9684
|
function I(a2, f2, n2) {
|
|
9685
9685
|
let r = new Float32Array(f2 * n2), t = 0;
|
|
9686
9686
|
for (let y = 0; y < a2.length; y += 4) {
|
|
9687
|
-
let
|
|
9688
|
-
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;
|
|
9689
9689
|
}
|
|
9690
9690
|
return r;
|
|
9691
9691
|
}
|
|
9692
9692
|
function K(a2, f2, n2, r, t, y = {}) {
|
|
9693
|
-
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;
|
|
9694
9694
|
for (let i2 = 0; i2 < e; i2++) {
|
|
9695
|
-
let b = L2(l, A, x, S3,
|
|
9695
|
+
let b = L2(l, A, x, S3, m2, p2, s2, c2);
|
|
9696
9696
|
if (d2.push(b.mssim), B.push(b.mcs), i2 === e - 1 && n2 && (C3 = b.ssimMap), i2 < e - 1) {
|
|
9697
9697
|
let M = E2(l, A, x, S3);
|
|
9698
9698
|
l = M.img1, A = M.img2, x = M.width, S3 = M.height;
|
|
@@ -9708,8 +9708,8 @@ function K(a2, f2, n2, r, t, y = {}) {
|
|
|
9708
9708
|
return b += d2[e - 1] * i2[e - 1], b;
|
|
9709
9709
|
}
|
|
9710
9710
|
}
|
|
9711
|
-
function L2(a2, f2, n2, r, t, y,
|
|
9712
|
-
let
|
|
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
9713
|
q3(a2, o2, d2, n2, r, u, t), q3(f2, l, d2, n2, r, u, t);
|
|
9714
9714
|
let C3 = new Float32Array(n2 * r), i2 = new Float32Array(n2 * r), b = new Float32Array(n2 * r), M = a2.length;
|
|
9715
9715
|
for (let F2 = 0; F2 < M; F2++) {
|
|
@@ -9719,7 +9719,7 @@ function L2(a2, f2, n2, r, t, y, m, p2) {
|
|
|
9719
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
9720
|
let D3 = 0, G = 0, O2 = new Float32Array(o2.length);
|
|
9721
9721
|
for (let F2 = 0; F2 < o2.length; F2++) {
|
|
9722
|
-
let v = o2[F2], U3 = l[F2], g2 = v * v,
|
|
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
9723
|
O2[F2] = W2, D3 += W2, G += T;
|
|
9724
9724
|
}
|
|
9725
9725
|
return { mssim: D3 / o2.length, mcs: G / o2.length, ssimMap: O2 };
|
|
@@ -9730,49 +9730,49 @@ function V2(a2, f2) {
|
|
|
9730
9730
|
}
|
|
9731
9731
|
function j2(a2, f2) {
|
|
9732
9732
|
let n2 = new Float32Array(a2), r = (a2 - 1) / 2, t = 2 * f2 * f2, y = 0;
|
|
9733
|
-
for (let
|
|
9734
|
-
let p2 =
|
|
9735
|
-
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;
|
|
9736
9736
|
}
|
|
9737
|
-
for (let
|
|
9737
|
+
for (let m2 = 0; m2 < a2; m2++) n2[m2] /= y;
|
|
9738
9738
|
return n2;
|
|
9739
9739
|
}
|
|
9740
|
-
function q3(a2, f2, n2, r, t, y,
|
|
9741
|
-
let p2 = Math.floor(
|
|
9742
|
-
for (let
|
|
9743
|
-
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;
|
|
9744
9744
|
for (let e = 0; e < r; e++) {
|
|
9745
9745
|
let u = 0;
|
|
9746
|
-
for (let o2 = 0; o2 <
|
|
9746
|
+
for (let o2 = 0; o2 < m2; o2++) {
|
|
9747
9747
|
let l = e + o2 - p2;
|
|
9748
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];
|
|
9749
9749
|
}
|
|
9750
9750
|
n2[c2 + e] = u;
|
|
9751
9751
|
}
|
|
9752
9752
|
}
|
|
9753
|
-
for (let
|
|
9753
|
+
for (let s2 = 0; s2 < t; s2++) for (let c2 = 0; c2 < r; c2++) {
|
|
9754
9754
|
let e = 0;
|
|
9755
|
-
for (let u = 0; u <
|
|
9756
|
-
let o2 =
|
|
9755
|
+
for (let u = 0; u < m2; u++) {
|
|
9756
|
+
let o2 = s2 + u - p2;
|
|
9757
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];
|
|
9758
9758
|
}
|
|
9759
|
-
f2[
|
|
9759
|
+
f2[s2 * r + c2] = e;
|
|
9760
9760
|
}
|
|
9761
9761
|
}
|
|
9762
9762
|
function E2(a2, f2, n2, r) {
|
|
9763
|
-
let t = new Float32Array([0.5, 0.5]), y = new Float32Array(n2 * r),
|
|
9764
|
-
q3(a2, y, p2, n2, r, t, 2), q3(f2,
|
|
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);
|
|
9765
9765
|
let c2 = Math.floor(n2 / 2), e = Math.floor(r / 2), u = new Float32Array(c2 * e), o2 = new Float32Array(c2 * e);
|
|
9766
9766
|
for (let l = 0; l < e; l++) for (let A = 0; A < c2; A++) {
|
|
9767
9767
|
let x = l * 2 * n2 + A * 2, S3 = l * c2 + A;
|
|
9768
|
-
u[S3] = y[x], o2[S3] =
|
|
9768
|
+
u[S3] = y[x], o2[S3] = m2[x];
|
|
9769
9769
|
}
|
|
9770
9770
|
return { img1: u, img2: o2, width: c2, height: e };
|
|
9771
9771
|
}
|
|
9772
9772
|
function H2(a2, f2, n2, r, t, y) {
|
|
9773
|
-
let
|
|
9774
|
-
for (let
|
|
9775
|
-
let e = Math.min(Math.floor(c2 /
|
|
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;
|
|
9776
9776
|
a2[A] = l, a2[A + 1] = l, a2[A + 2] = l, a2[A + 3] = 255;
|
|
9777
9777
|
}
|
|
9778
9778
|
}
|
|
@@ -9934,43 +9934,43 @@ var init_msssim2 = __esm({
|
|
|
9934
9934
|
// ../ssim/dist/hitchhikers-ssim.mjs
|
|
9935
9935
|
function p(o2, a2, c2) {
|
|
9936
9936
|
let n2 = new Float32Array(a2 * c2), r = 0;
|
|
9937
|
-
for (let
|
|
9938
|
-
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];
|
|
9939
9939
|
n2[r++] = 0.298936 * t + 0.587043 * e + 0.114021 * u;
|
|
9940
9940
|
}
|
|
9941
9941
|
return n2;
|
|
9942
9942
|
}
|
|
9943
|
-
function
|
|
9944
|
-
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);
|
|
9945
9945
|
for (let l = 0; l < g2.length; l++) {
|
|
9946
|
-
let
|
|
9947
|
-
P4[l] =
|
|
9946
|
+
let m2 = g2[l], f2 = A[l];
|
|
9947
|
+
P4[l] = m2 * m2, G[l] = f2 * f2, H3[l] = m2 * f2;
|
|
9948
9948
|
}
|
|
9949
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;
|
|
9950
9950
|
for (let l = 0; l < I2; l++) {
|
|
9951
|
-
let
|
|
9951
|
+
let m2 = l * e, f2 = m2 + t;
|
|
9952
9952
|
for (let k = 0; k < M; k++) {
|
|
9953
|
-
let b = k * e, q4 = b + t, J = U2(Y, b,
|
|
9954
|
-
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;
|
|
9955
9955
|
}
|
|
9956
9956
|
}
|
|
9957
9957
|
if (c2 && on2(c2, S3, M, I2, n2, r), v) return nn2(S3);
|
|
9958
9958
|
{
|
|
9959
9959
|
let l = 0;
|
|
9960
|
-
for (let
|
|
9960
|
+
for (let m2 = 0; m2 < S3.length; m2++) l += S3[m2];
|
|
9961
9961
|
return l / S3.length;
|
|
9962
9962
|
}
|
|
9963
9963
|
}
|
|
9964
9964
|
function F(o2, a2, c2) {
|
|
9965
|
-
let n2 = a2 + 1, r = c2 + 1,
|
|
9965
|
+
let n2 = a2 + 1, r = c2 + 1, s2 = new Float64Array(n2 * r);
|
|
9966
9966
|
for (let t = 1; t <= c2; t++) for (let e = 1; e <= a2; e++) {
|
|
9967
9967
|
let u = (t - 1) * a2 + (e - 1), i2 = t * n2 + e;
|
|
9968
|
-
|
|
9968
|
+
s2[i2] = o2[u] + s2[(t - 1) * n2 + e] + s2[t * n2 + (e - 1)] - s2[(t - 1) * n2 + (e - 1)];
|
|
9969
9969
|
}
|
|
9970
|
-
return
|
|
9970
|
+
return s2;
|
|
9971
9971
|
}
|
|
9972
|
-
function U2(o2, a2, c2, n2, r,
|
|
9973
|
-
let t =
|
|
9972
|
+
function U2(o2, a2, c2, n2, r, s2) {
|
|
9973
|
+
let t = s2 + 1;
|
|
9974
9974
|
return o2[r * t + n2] - o2[c2 * t + n2] - o2[r * t + a2] + o2[c2 * t + a2];
|
|
9975
9975
|
}
|
|
9976
9976
|
function nn2(o2) {
|
|
@@ -9981,12 +9981,12 @@ function nn2(o2) {
|
|
|
9981
9981
|
let u = o2[e] - c2;
|
|
9982
9982
|
n2 += u * u;
|
|
9983
9983
|
}
|
|
9984
|
-
let r = n2 / o2.length,
|
|
9985
|
-
return 1 - (c2 > 0 ?
|
|
9984
|
+
let r = n2 / o2.length, s2 = Math.sqrt(r);
|
|
9985
|
+
return 1 - (c2 > 0 ? s2 / c2 : 0);
|
|
9986
9986
|
}
|
|
9987
|
-
function on2(o2, a2, c2, n2, r,
|
|
9988
|
-
let t = r / c2, e =
|
|
9989
|
-
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++) {
|
|
9990
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;
|
|
9991
9991
|
o2[y] = A, o2[y + 1] = A, o2[y + 2] = A, o2[y + 3] = 255;
|
|
9992
9992
|
}
|
|
@@ -9995,7 +9995,7 @@ var en;
|
|
|
9995
9995
|
var init_hitchhikers_ssim = __esm({
|
|
9996
9996
|
"../ssim/dist/hitchhikers-ssim.mjs"() {
|
|
9997
9997
|
"use strict";
|
|
9998
|
-
en =
|
|
9998
|
+
en = h;
|
|
9999
9999
|
}
|
|
10000
10000
|
});
|
|
10001
10001
|
|