@realsee/hdr-toolbox 1.0.2 → 1.0.3

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.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,aAAa,IAAI,OAAO,CAoEvC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,aAAa,IAAI,OAAO,CAmFvC"}
package/dist/cli.js CHANGED
@@ -9,12 +9,12 @@ export function createProgram() {
9
9
  program
10
10
  .name("hdr-toolbox")
11
11
  .description("Compose, extract, and convert Android Ultra HDR JPEG images")
12
- .version("1.0.1");
12
+ .version("1.0.3");
13
13
  program
14
14
  .command("compose")
15
- .description("Compose an SDR JPEG, gain map JPEG, and JSON/XMP config into Ultra HDR")
16
- .requiredOption("--sdr <path>", "SDR primary JPEG")
17
- .requiredOption("--gainmap <path>", "gain map JPEG")
15
+ .description("Compose an SDR image, gain map image (avif/png/jpg/jpeg), and JSON/XMP config into Ultra HDR")
16
+ .requiredOption("--sdr <path>", "SDR primary image (avif, png, jpg, jpeg)")
17
+ .requiredOption("--gainmap <path>", "gain map image (avif, png, jpg, jpeg)")
18
18
  .requiredOption("-c, --config <path>", "gain map config (.json or .xmp)")
19
19
  .requiredOption("-o, --output <path>", "output Ultra HDR JPEG")
20
20
  .action(async (options) => {
@@ -29,15 +29,17 @@ export function createProgram() {
29
29
  .command("extract")
30
30
  .description("Extract an Ultra HDR JPEG into SDR, gain map, and JSON/XMP config")
31
31
  .requiredOption("-i, --input <path>", "input Ultra HDR JPEG")
32
- .requiredOption("--sdr <path>", "output SDR JPEG")
33
- .requiredOption("--gainmap <path>", "output gain map JPEG")
32
+ .requiredOption("--sdr <path>", "output SDR image (avif, png, jpg, jpeg)")
33
+ .requiredOption("--gainmap <path>", "output gain map image (avif, png, jpg, jpeg)")
34
34
  .requiredOption("-c, --config <path>", "output config (.json or .xmp)")
35
+ .option("-f, --format <format>", "output image format (avif, png, jpg, jpeg); defaults to the output path extension, then jpeg")
35
36
  .action(async (options) => {
36
37
  await extractUltraHdr({
37
38
  input: options.input,
38
39
  sdr: options.sdr,
39
40
  gainMap: options.gainmap,
40
41
  config: options.config,
42
+ format: options.format,
41
43
  });
42
44
  });
43
45
  program
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wEAAwE,CAAC;SACrF,cAAc,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAClD,cAAc,CAAC,kBAAkB,EAAE,eAAe,CAAC;SACnD,cAAc,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;SACxE,cAAc,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAyE,EAAE,EAAE;QAC1F,MAAM,eAAe,CAAC;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mEAAmE,CAAC;SAChF,cAAc,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;SAC5D,cAAc,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACjD,cAAc,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;SAC1D,cAAc,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAAwE,EAAE,EAAE;QACzF,MAAM,eAAe,CAAC;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,6EAA6E,CAAC;SAC1F,cAAc,CAAC,wBAAwB,EAAE,iDAAiD,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,GAAG,CAAC;SAC/D,cAAc,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAC9E,MAAM,sBAAsB,CAAC;YAC3B,cAAc,EAAE,OAAO,CAAC,QAAQ;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,4EAA4E,CAAC;SACzF,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;SAC5E,cAAc,CAAC,yBAAyB,EAAE,kBAAkB,CAAC;SAC7D,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,GAAG,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAC9E,MAAM,sBAAsB,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,aAAa,EAAE;SACZ,UAAU,EAAE;SACZ,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,aAAa,CAAC;SACnB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,8FAA8F,CAC/F;SACA,cAAc,CAAC,cAAc,EAAE,0CAA0C,CAAC;SAC1E,cAAc,CAAC,kBAAkB,EAAE,uCAAuC,CAAC;SAC3E,cAAc,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;SACxE,cAAc,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAAyE,EAAE,EAAE;QAC1F,MAAM,eAAe,CAAC;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,mEAAmE,CAAC;SAChF,cAAc,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;SAC5D,cAAc,CAAC,cAAc,EAAE,yCAAyC,CAAC;SACzE,cAAc,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;SAClF,cAAc,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SACtE,MAAM,CACL,uBAAuB,EACvB,8FAA8F,CAC/F;SACA,MAAM,CACL,KAAK,EAAE,OAMN,EAAE,EAAE;QACH,MAAM,eAAe,CAAC;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,6EAA6E,CAAC;SAC1F,cAAc,CAAC,wBAAwB,EAAE,iDAAiD,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,GAAG,CAAC;SAC/D,cAAc,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAC9E,MAAM,sBAAsB,CAAC;YAC3B,cAAc,EAAE,OAAO,CAAC,QAAQ;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,4EAA4E,CAAC;SACzF,cAAc,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;SAC5E,cAAc,CAAC,yBAAyB,EAAE,kBAAkB,CAAC;SAC7D,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,EAAE,GAAG,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAC9E,MAAM,sBAAsB,CAAC;YAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,aAAa,EAAE;SACZ,UAAU,EAAE;SACZ,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,30 @@
1
+ /** Bitmap formats accepted for SDR/gain-map input and produced on extract output. */
2
+ export declare const supportedImageFormats: readonly ["jpeg", "jpg", "png", "avif"];
3
+ export type ImageFormat = (typeof supportedImageFormats)[number];
4
+ /** Canonical form used internally; "jpg" is an alias of "jpeg". */
5
+ export type CanonicalImageFormat = "jpeg" | "png" | "avif";
6
+ export declare function canonicalizeImageFormat(format: ImageFormat): CanonicalImageFormat;
7
+ export declare function isSupportedImageFormat(value: string): value is ImageFormat;
8
+ /**
9
+ * Resolves the desired output format for extraction, preferring an explicit
10
+ * `--format` flag, then the output path extension, then defaulting to JPEG.
11
+ */
12
+ export declare function resolveOutputFormat(explicit: string | undefined, outputPath: string): CanonicalImageFormat;
13
+ /**
14
+ * Detects the bitmap format of a buffer via sharp. Returns the canonical format
15
+ * when it is one we support, otherwise throws so callers reject unknown inputs.
16
+ * AVIF is reported by sharp as HEIF with "av1" compression.
17
+ */
18
+ export declare function detectImageFormat(buffer: Buffer): Promise<CanonicalImageFormat>;
19
+ /**
20
+ * Ensures a buffer is JPEG, transcoding from PNG/AVIF when needed. JPEG inputs
21
+ * are returned untouched so Ultra HDR composition stays byte-for-byte lossless
22
+ * for the common JPEG-in path. The ICC profile, if present, is preserved.
23
+ */
24
+ export declare function ensureJpegBuffer(buffer: Buffer): Promise<Buffer>;
25
+ /**
26
+ * Transcodes an extracted JPEG subimage to the requested output format. JPEG
27
+ * output is a passthrough of the original bytes to preserve the exact subimage.
28
+ */
29
+ export declare function encodeImage(jpeg: Buffer, format: CanonicalImageFormat): Promise<Buffer>;
30
+ //# sourceMappingURL=image-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-format.d.ts","sourceRoot":"","sources":["../src/image-format.ts"],"names":[],"mappings":"AAGA,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,yCAA0C,CAAC;AAE7E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAO3D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,CAEjF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,WAAW,CAE1E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,GACjB,oBAAoB,CAWtB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAQrF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7F"}
@@ -0,0 +1,67 @@
1
+ import { extname } from "node:path";
2
+ import sharp from "sharp";
3
+ /** Bitmap formats accepted for SDR/gain-map input and produced on extract output. */
4
+ export const supportedImageFormats = ["jpeg", "jpg", "png", "avif"];
5
+ /** Quality used when (re)encoding to JPEG. Gain maps need a high quality because
6
+ * compression artifacts in the gain map surface directly as HDR luminance noise. */
7
+ const jpegEncodeQuality = 95;
8
+ const avifEncodeQuality = 80;
9
+ export function canonicalizeImageFormat(format) {
10
+ return format === "jpg" ? "jpeg" : format;
11
+ }
12
+ export function isSupportedImageFormat(value) {
13
+ return supportedImageFormats.includes(value.toLowerCase());
14
+ }
15
+ /**
16
+ * Resolves the desired output format for extraction, preferring an explicit
17
+ * `--format` flag, then the output path extension, then defaulting to JPEG.
18
+ */
19
+ export function resolveOutputFormat(explicit, outputPath) {
20
+ if (explicit !== undefined) {
21
+ if (!isSupportedImageFormat(explicit))
22
+ throw new Error(`Unsupported output format "${explicit}". Supported: ${supportedImageFormats.join(", ")}.`);
23
+ return canonicalizeImageFormat(explicit);
24
+ }
25
+ const extension = extname(outputPath).replace(/^\./, "").toLowerCase();
26
+ if (extension && isSupportedImageFormat(extension))
27
+ return canonicalizeImageFormat(extension);
28
+ return "jpeg";
29
+ }
30
+ /**
31
+ * Detects the bitmap format of a buffer via sharp. Returns the canonical format
32
+ * when it is one we support, otherwise throws so callers reject unknown inputs.
33
+ * AVIF is reported by sharp as HEIF with "av1" compression.
34
+ */
35
+ export async function detectImageFormat(buffer) {
36
+ const { format, compression } = await sharp(buffer).metadata();
37
+ if (format === "jpeg")
38
+ return "jpeg";
39
+ if (format === "png")
40
+ return "png";
41
+ if (format === "heif" && compression === "av1")
42
+ return "avif";
43
+ throw new Error(`Unsupported image format "${format ?? "unknown"}". Supported: ${supportedImageFormats.join(", ")}.`);
44
+ }
45
+ /**
46
+ * Ensures a buffer is JPEG, transcoding from PNG/AVIF when needed. JPEG inputs
47
+ * are returned untouched so Ultra HDR composition stays byte-for-byte lossless
48
+ * for the common JPEG-in path. The ICC profile, if present, is preserved.
49
+ */
50
+ export async function ensureJpegBuffer(buffer) {
51
+ if ((await detectImageFormat(buffer)) === "jpeg")
52
+ return buffer;
53
+ return sharp(buffer).jpeg({ quality: jpegEncodeQuality }).keepIccProfile().toBuffer();
54
+ }
55
+ /**
56
+ * Transcodes an extracted JPEG subimage to the requested output format. JPEG
57
+ * output is a passthrough of the original bytes to preserve the exact subimage.
58
+ */
59
+ export async function encodeImage(jpeg, format) {
60
+ if (format === "jpeg")
61
+ return jpeg;
62
+ const pipeline = sharp(jpeg).keepIccProfile();
63
+ if (format === "png")
64
+ return pipeline.png().toBuffer();
65
+ return pipeline.avif({ quality: avifEncodeQuality }).toBuffer();
66
+ }
67
+ //# sourceMappingURL=image-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-format.js","sourceRoot":"","sources":["../src/image-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,qFAAqF;AACrF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAO7E;oFACoF;AACpF,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,UAAU,uBAAuB,CAAC,MAAmB;IACzD,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA4B,EAC5B,UAAkB;IAElB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,iBAAiB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3F,CAAC;QACJ,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvE,IAAI,SAAS,IAAI,sBAAsB,CAAC,SAAS,CAAC;QAAE,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IACpD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,MAAM,KAAK,MAAM,IAAI,WAAW,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IAC9D,MAAM,IAAI,KAAK,CACb,6BAA6B,MAAM,IAAI,SAAS,iBAAiB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,IAAI,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAChE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;AACxF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAA4B;IAC1E,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAClE,CAAC"}
package/dist/jpeg.d.ts CHANGED
@@ -2,6 +2,14 @@ export declare function createXmpSegment(xml: string): Buffer;
2
2
  export declare function getIccProfileSegments(jpeg: Buffer): Buffer[];
3
3
  export declare function addIccProfileSegments(jpeg: Buffer, iccSegments: readonly Buffer[]): Buffer;
4
4
  export declare function createMpfSegment(primaryImageSize: number, mpfMarkerStart: number, secondaryImageSize: number): Buffer;
5
+ /**
6
+ * Builds the minimal MPF APP2 index carried by an Ultra HDR gain map subimage.
7
+ * Unlike the primary MPF it has no MP entry list (tag 0xb002); it only declares
8
+ * the MP format version (0xb000) and the image count (0xb001 = 2). Apple's
9
+ * ImageIO relies on this marker being present in the gain map to recognize the
10
+ * multi-picture layout, so it must be written even though it carries no offsets.
11
+ */
12
+ export declare function createGainMapMpfSegment(): Buffer;
5
13
  export declare function addGainMapXmp(jpeg: Buffer, xml: string): Buffer;
6
14
  export declare function buildPrimaryJpeg(jpeg: Buffer, xml: string, secondaryImageSize: number): Buffer;
7
15
  export declare function stripUltraHdrMetadata(jpeg: Buffer): Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../src/jpeg.ts"],"names":[],"mappings":"AA4EA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAiB1F;AAwCD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAwCR;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAO9F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAqC7D;AAsFD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA4B9F"}
1
+ {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../src/jpeg.ts"],"names":[],"mappings":"AA4EA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKpD;AAwBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAiB1F;AA4CD,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,GACzB,MAAM,CAwCR;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAchD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAO9F;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU9D;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAqC7D;AAsFD,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA+B9F"}
package/dist/jpeg.js CHANGED
@@ -124,11 +124,15 @@ function headerWithXmp(buffer, xmp, includeMpf) {
124
124
  }
125
125
  const prefix = kept.slice(0, appEnd).map((segment) => segment.bytes);
126
126
  const imageTables = kept.slice(appEnd).map((segment) => segment.bytes);
127
- const beforeMpf = Buffer.concat([Buffer.from([0xff, SOI]), ...prefix, xmp, ...imageTables]);
127
+ // The MPF APP2 index must live in the APP marker region (after the XMP APP1,
128
+ // before the first image table such as DQT/SOF), matching libultrahdr and the
129
+ // output of Apple/Android encoders. Placing it after the image tables makes
130
+ // Apple's ImageIO fail to recognize the multi-picture gain map layout.
131
+ const beforeMpf = Buffer.concat([Buffer.from([0xff, SOI]), ...prefix, xmp]);
128
132
  if (!includeMpf)
129
- return { buffer: Buffer.concat([beforeMpf, scanData]) };
133
+ return { buffer: Buffer.concat([beforeMpf, ...imageTables, scanData]) };
130
134
  return {
131
- buffer: Buffer.concat([beforeMpf, includeMpf, scanData]),
135
+ buffer: Buffer.concat([beforeMpf, includeMpf, ...imageTables, scanData]),
132
136
  mpfStart: beforeMpf.length,
133
137
  };
134
138
  }
@@ -178,8 +182,50 @@ export function createMpfSegment(primaryImageSize, mpfMarkerStart, secondaryImag
178
182
  payload.writeUInt16BE(0, offset + 14);
179
183
  return createSegment(APP2, payload);
180
184
  }
185
+ /**
186
+ * Builds the minimal MPF APP2 index carried by an Ultra HDR gain map subimage.
187
+ * Unlike the primary MPF it has no MP entry list (tag 0xb002); it only declares
188
+ * the MP format version (0xb000) and the image count (0xb001 = 2). Apple's
189
+ * ImageIO relies on this marker being present in the gain map to recognize the
190
+ * multi-picture layout, so it must be written even though it carries no offsets.
191
+ */
192
+ export function createGainMapMpfSegment() {
193
+ // TIFF header (8) + tag count (2) + two 12-byte tags (24) + next-IFD offset (4).
194
+ const payload = Buffer.alloc(4 + 8 + 2 + 24 + 4);
195
+ payload.write("MPF\0", 0, "ascii");
196
+ const tiff = 4;
197
+ payload.write("MM", tiff, "ascii");
198
+ payload.writeUInt16BE(0x002a, tiff + 2);
199
+ payload.writeUInt32BE(8, tiff + 4);
200
+ payload.writeUInt16BE(2, tiff + 8);
201
+ let offset = tiff + 10;
202
+ offset = writeTag(payload, offset, 0xb000, 7, 4, 0x30313030);
203
+ offset = writeTag(payload, offset, 0xb001, 4, 1, 2);
204
+ payload.writeUInt32BE(0, offset);
205
+ return createSegment(APP2, payload);
206
+ }
181
207
  export function addGainMapXmp(jpeg, xml) {
182
- return headerWithXmp(jpeg, createXmpSegment(xml)).buffer;
208
+ const xmp = createXmpSegment(xml);
209
+ const { segments, scanData } = parseJpegParts(jpeg);
210
+ const kept = segments.filter((segment) => !isUltraHdrSegment(segment));
211
+ let appEnd = 0;
212
+ while (appEnd < kept.length) {
213
+ const marker = kept[appEnd].marker;
214
+ if ((marker >= 0xe0 && marker <= 0xef) || marker === 0xfe)
215
+ appEnd++;
216
+ else
217
+ break;
218
+ }
219
+ const prefix = kept.slice(0, appEnd).map((segment) => segment.bytes);
220
+ const imageTables = kept.slice(appEnd).map((segment) => segment.bytes);
221
+ return Buffer.concat([
222
+ Buffer.from([0xff, SOI]),
223
+ ...prefix,
224
+ xmp,
225
+ createGainMapMpfSegment(),
226
+ ...imageTables,
227
+ scanData,
228
+ ]);
183
229
  }
184
230
  export function buildPrimaryJpeg(jpeg, xml, secondaryImageSize) {
185
231
  const xmp = createXmpSegment(xml);
@@ -342,8 +388,13 @@ export function splitConcatenatedJpegs(container) {
342
388
  const primaryEnd = findJpegEnd(container);
343
389
  const primary = container.subarray(0, primaryEnd);
344
390
  const mpf = parseMpf(primary);
345
- if (mpf.primarySize !== primaryEnd)
346
- throw new Error(`MPF primary image size ${mpf.primarySize} does not match JPEG size ${primaryEnd}.`);
391
+ // The MPF primary-image size recorded by some encoders (e.g. Apple/Lightroom
392
+ // Ultra HDR) does not always equal the primary JPEG's byte length, because
393
+ // vendors differ on whether leading APP metadata counts toward it. The gain
394
+ // map is located via the MPF secondary data offset instead, so only require
395
+ // that the declared primary size does not exceed the actual JPEG length.
396
+ if (mpf.primarySize > primaryEnd)
397
+ throw new Error(`MPF primary image size ${mpf.primarySize} exceeds JPEG size ${primaryEnd}.`);
347
398
  const secondaryStart = mpf.tiffOffset + mpf.secondaryDataOffset;
348
399
  if (secondaryStart < primaryEnd || secondaryStart + 2 > container.length)
349
400
  throw new Error("MPF secondary image offset is outside the Ultra HDR container.");
package/dist/jpeg.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jpeg.js","sourceRoot":"","sources":["../src/jpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jpeg.js","sourceRoot":"","sources":["../src/jpeg.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,10 @@ export interface ExtractUltraHdrOptions {
10
10
  sdr: string;
11
11
  gainMap: string;
12
12
  config: string;
13
+ /** Output format for the SDR and gain map images (default: inferred, then JPEG). */
14
+ format?: string;
13
15
  }
14
- export declare function composeUltraHdrBuffers(sdr: Buffer, gainMap: Buffer, configInput: GainMapConfig): Promise<Buffer>;
16
+ export declare function composeUltraHdrBuffers(sdrInput: Buffer, gainMapInput: Buffer, configInput: GainMapConfig): Promise<Buffer>;
15
17
  export declare function extractUltraHdrBuffers(container: Buffer): {
16
18
  sdr: Buffer;
17
19
  gainMap: Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"ultrahdr.d.ts","sourceRoot":"","sources":["../src/ultrahdr.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAUhD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAgDD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,CAWA;AAMD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpF"}
1
+ {"version":3,"file":"ultrahdr.d.ts","sourceRoot":"","sources":["../src/ultrahdr.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAWhD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgDD,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,CAWA;AAMD,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpF"}
package/dist/ultrahdr.js CHANGED
@@ -2,6 +2,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
2
  import { dirname } from "node:path";
3
3
  import sharp from "sharp";
4
4
  import { addGainMapXmp, addIccProfileSegments, buildPrimaryJpeg, getGainMapXmp, getIccProfileSegments, splitConcatenatedJpegs, stripUltraHdrMetadata, } from "./jpeg.js";
5
+ import { encodeImage, ensureJpegBuffer, resolveOutputFormat } from "./image-format.js";
5
6
  import { createGainMapXmp, createPrimaryXmp, normalizeGainMapConfig, parseGainMapXmp, readGainMapConfig, writeGainMapConfig, } from "./xmp.js";
6
7
  let defaultIccSegments;
7
8
  function getDefaultIccSegments() {
@@ -42,8 +43,14 @@ async function validateJpegPair(sdr, gainMap) {
42
43
  if (Math.abs(sdrRatio - gainRatio) > 0.001)
43
44
  throw new Error(`SDR and gain map aspect ratios differ (${sdrMetadata.width}x${sdrMetadata.height} vs ${gainMetadata.width}x${gainMetadata.height}).`);
44
45
  }
45
- export async function composeUltraHdrBuffers(sdr, gainMap, configInput) {
46
+ export async function composeUltraHdrBuffers(sdrInput, gainMapInput, configInput) {
46
47
  const config = normalizeGainMapConfig(configInput);
48
+ // Accept PNG/AVIF/JPEG source images; the Ultra HDR container itself is always
49
+ // a JPEG primary plus a JPEG gain map, so transcode non-JPEG inputs first.
50
+ const [sdr, gainMap] = await Promise.all([
51
+ ensureJpegBuffer(sdrInput),
52
+ ensureJpegBuffer(gainMapInput),
53
+ ]);
47
54
  await validateJpegPair(sdr, gainMap);
48
55
  const sdrWithIcc = await ensurePrimaryIccProfile(sdr);
49
56
  const gainMapWithXmp = addGainMapXmp(gainMap, createGainMapXmp(config));
@@ -77,14 +84,20 @@ export async function composeUltraHdr(options) {
77
84
  }
78
85
  export async function extractUltraHdr(options) {
79
86
  const extracted = extractUltraHdrBuffers(await readFile(options.input));
87
+ const sdrFormat = resolveOutputFormat(options.format, options.sdr);
88
+ const gainMapFormat = resolveOutputFormat(options.format, options.gainMap);
89
+ const [sdrOut, gainMapOut] = await Promise.all([
90
+ encodeImage(extracted.sdr, sdrFormat),
91
+ encodeImage(extracted.gainMap, gainMapFormat),
92
+ ]);
80
93
  await Promise.all([
81
94
  ensureParent(options.sdr),
82
95
  ensureParent(options.gainMap),
83
96
  ensureParent(options.config),
84
97
  ]);
85
98
  await Promise.all([
86
- writeFile(options.sdr, extracted.sdr),
87
- writeFile(options.gainMap, extracted.gainMap),
99
+ writeFile(options.sdr, sdrOut),
100
+ writeFile(options.gainMap, gainMapOut),
88
101
  writeGainMapConfig(options.config, extracted.config),
89
102
  ]);
90
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ultrahdr.js","sourceRoot":"","sources":["../src/ultrahdr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAgBlB,IAAI,kBAAiD,CAAC;AAEtD,SAAS,qBAAqB;IAC5B,kBAAkB,KAAK,KAAK,CAAC;QAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KAC/E,CAAC;SACC,IAAI,EAAE;SACN,cAAc,CAAC,MAAM,CAAC;SACtB,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IACL,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW;IAChD,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACtD,OAAO,qBAAqB,CAAC,GAAG,EAAE,MAAM,qBAAqB,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,OAAe;IAC1D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QACrB,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;KAC1B,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM;QACjE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM;QAC1F,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,IAAI,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC;IACtD,IAAI,cAAc,KAAK,eAAe;QACpC,MAAM,IAAI,KAAK,CACb,8CAA8C,cAAc,OAAO,eAAe,IAAI,CACvF,CAAC;IACJ,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,KAAK;QACxC,MAAM,IAAI,KAAK,CACb,0CAA0C,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,OAAO,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,IAAI,CACtI,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAW,EACX,OAAe,EACf,WAA0B;IAE1B,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,gBAAgB,CAC9B,UAAU,EACV,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,EACvC,cAAc,CAAC,MAAM,CACtB,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IAMtD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,OAAO;QACL,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC;QACnC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC;QACvC,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC;QAC5B,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QACrB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QACzB,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAA+B;IACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;QACzB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;QACrC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC;QAC7C,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;KACrD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ultrahdr.js","sourceRoot":"","sources":["../src/ultrahdr.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/hdr-toolbox",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Compose, extract, and convert Android Ultra HDR JPEG images",
5
5
  "license": "ISC",
6
6
  "author": "",