@browser-mc/browser-image-resizer-ex 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,6 +47,11 @@ const result = await resizeAndConvertImage({
47
47
  fit: 'contain',
48
48
  exif: 'keep',
49
49
  colorMetadata: 'preserve',
50
+ rawBitDepth: 8,
51
+ rawChromaSubsampling: '420',
52
+ avif: {
53
+ chromaSubsampling: '420',
54
+ },
50
55
  });
51
56
 
52
57
  if (result.kind === 'animated') {
@@ -96,8 +101,11 @@ console.log(result.blob);
96
101
 
97
102
  ## Notes
98
103
 
99
- - Resizing automatically uses raw planar resize for HDR-like formats when `VideoFrame.copyTo()` exposes a supported planar format, and otherwise uses Canvas.
104
+ - Resizing automatically uses raw planar resize for HDR-like formats when `VideoFrame.copyTo()` exposes a supported planar format or `NV12`, and otherwise uses Canvas.
100
105
  - `colorMetadata: 'preserve'` is the default. Use `colorMetadata: 'canvas-sdr'` to draw through an sRGB Canvas path and mark the output frame as BT.709 SDR.
106
+ - With `colorMetadata: 'preserve'`, `resizeAndConvertImage` reads source container color metadata through `@browser-mc/media-container` and preserves it when the resize and encode path does not require Canvas color conversion. AVIF `colr/nclx` CICP metadata and AVIF/JPEG/WebP ICC profiles are carried through to compatible AVIF outputs. Explicit `avif.colorMetadata`, `avif.color`, and `avif.colorSpace` options still take precedence for AVIF output. JPEG/WebP output is encoded through Canvas, so source ICC profiles are not reattached after Canvas conversion.
107
+ - `rawBitDepth` and `rawChromaSubsampling` are optional raw planar conversion controls. Use `8`, `10`, or `12` for bit depth, and `444`, `422`, or `420` for chroma. `preserve` is the default for both. These options affect supported raw planar `VideoFrame`s before encoding; `NV12` can be preserved during resize or unpacked to `I420` when raw planar conversion is requested. For AVIF output, `rawChromaSubsampling: '420'` or `'444'` is also used as the encoder chroma default unless `avif.chromaSubsampling` is set explicitly.
108
+ - Chromium may support 8-bit AVIF encoding while rejecting the matching 10-bit AV1 codec for high-bit-depth frames. When AVIF output is requested and `avif.codec` is not set, `resizeAndConvertImage` checks the 10-bit and 8-bit encoder configs for high-bit-depth planar frames. If 10-bit is unavailable but 8-bit is available, supported planar frames are converted to 8-bit before encoding and an 8-bit AV1 codec is passed explicitly. A warning is added when this implicit 8-bit fallback changes the frame bit depth.
101
109
  - JPEG/WebP encoding currently goes through `OffscreenCanvas.convertToBlob()`, so strict HDR preservation is not expected there.
102
110
  - Animated WebP currently writes full-canvas frames and does not yet optimize changed rectangles.
103
111
  - AVIF EXIF writing remuxes to a minimal AVIF structure through `@browser-mc/media-container`. Nonessential original AVIF boxes are not preserved.
@@ -1,6 +1,6 @@
1
1
  import { muxAnimatedWebp, type AnimatedWebpFrame, type AnimatedWebpMuxOptions } from '@browser-mc/media-container';
2
- import { type FrameColorInspection, type ResizeRawOptions } from '@browser-mc/webcodecs-color';
3
- import { type BrowserImageColorMetadataPolicy } from './frame-utils.js';
2
+ import { type FrameColorInspection, type PlanarResizeAlgorithm } from '@browser-mc/webcodecs-color';
3
+ import { type BrowserImageRawBitDepth, type BrowserImageRawChromaSubsampling, type BrowserImageColorMetadataPolicy } from './frame-utils.js';
4
4
  export type { AnimatedWebpFrame, AnimatedWebpMuxOptions, };
5
5
  export { muxAnimatedWebp };
6
6
  export type BrowserAnimatedImageResizerOptions = {
@@ -9,7 +9,9 @@ export type BrowserAnimatedImageResizerOptions = {
9
9
  width?: number;
10
10
  height?: number;
11
11
  fit?: 'contain' | 'cover' | 'fill';
12
- rawResizeAlgorithm?: ResizeRawOptions['algorithm'];
12
+ rawResizeAlgorithm?: PlanarResizeAlgorithm;
13
+ rawBitDepth?: BrowserImageRawBitDepth;
14
+ rawChromaSubsampling?: BrowserImageRawChromaSubsampling;
13
15
  colorMetadata?: BrowserImageColorMetadataPolicy;
14
16
  quality?: number;
15
17
  loopCount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"animated-webp.d.ts","sourceRoot":"","sources":["../src/animated-webp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAML,KAAK,+BAA+B,EACrC,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,oBAAoB,CAAC;QACjC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;KACvC,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAQF,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAmCvI"}
1
+ {"version":3,"file":"animated-webp.d.ts","sourceRoot":"","sources":["../src/animated-webp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAML,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACrC,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,GACvB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAC3C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,oBAAoB,CAAC,EAAE,gCAAgC,CAAC;IACxD,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,oBAAoB,CAAC;QACjC,UAAU,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;KACvC,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAQF,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAmCvI"}
@@ -1 +1 @@
1
- {"version":3,"file":"animated-webp.js","sourceRoot":"","sources":["../src/animated-webp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAGhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,YAAY,GAGb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAAE,eAAe,EAAE,CAAC;AA2C3B,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAA2C;IACzF,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,eAAe,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC,KAAK,CAAC,eAAe,CAAC;YAC/E,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC/D,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,YAAY,CAAC,MAAM;YAC/B,KAAK,EAAE;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;aACvC;YACD,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;YAClD,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC3D,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,OAA2C;IACnF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,YAAY,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjI,OAAO,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;QAClD,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;KAC7D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqB;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/I,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,OAAqB,EAAE,OAA2C;IAC1G,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxF,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAqB,EACrB,UAAkB,EAClB,IAAuC,EACvC,OAA2C;IAE3C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAqB,EACrB,UAAkB,EAClB,IAAuC,EACvC,OAA2C;IAE3C,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO;gBACL,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC;oBAC/E,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,QAAQ;oBACR,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,IAAI;iBACd;gBACD,MAAM,EAAE;oBACN,QAAQ;oBACR,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;oBACvC,UAAU,EAAE,OAAO,CAAC,IAAI;iBACzB;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAiB;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB,CAAC,eAAuB;IACvD,OAAO,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"animated-webp.js","sourceRoot":"","sources":["../src/animated-webp.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
- import { type ResizeRawOptions } from '@browser-mc/webcodecs-color';
1
+ import { type PlanarResizeAlgorithm, type PlanarBitDepth, type PlanarChromaSubsampling } from '@browser-mc/webcodecs-color';
2
2
  import { copyArrayBuffer } from '@browser-mc/binary';
3
3
  export { copyArrayBuffer };
4
4
  export type BrowserImageResizeFit = 'contain' | 'cover' | 'fill';
5
5
  export type BrowserImageResizePath = 'none' | 'raw' | 'canvas';
6
6
  export type BrowserImageColorMetadataPolicy = 'preserve' | 'canvas-sdr';
7
+ export type BrowserImageRawBitDepth = 'preserve' | PlanarBitDepth;
8
+ export type BrowserImageRawChromaSubsampling = 'preserve' | PlanarChromaSubsampling;
7
9
  export type FrameResizeOptions = {
8
10
  width?: number;
9
11
  height?: number;
10
12
  fit?: BrowserImageResizeFit;
11
- rawResizeAlgorithm?: ResizeRawOptions['algorithm'];
13
+ rawResizeAlgorithm?: PlanarResizeAlgorithm;
14
+ rawBitDepth?: BrowserImageRawBitDepth;
15
+ rawChromaSubsampling?: BrowserImageRawChromaSubsampling;
12
16
  colorMetadata?: BrowserImageColorMetadataPolicy;
13
17
  };
14
18
  export type DecodeImageFrameOptions = {
@@ -34,7 +38,7 @@ export declare function resolveTargetSize(sourceWidth: number, sourceHeight: num
34
38
  export declare function resizeFrameForColor(frame: VideoFrame, size: {
35
39
  width: number;
36
40
  height: number;
37
- }, options: Pick<FrameResizeOptions, 'rawResizeAlgorithm' | 'colorMetadata'>): Promise<{
41
+ }, options: Pick<FrameResizeOptions, 'rawResizeAlgorithm' | 'rawBitDepth' | 'rawChromaSubsampling' | 'colorMetadata'>): Promise<{
38
42
  frame: VideoFrame;
39
43
  path: BrowserImageResizePath;
40
44
  warnings: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"frame-utils.d.ts","sourceRoot":"","sources":["../src/frame-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE/D,MAAM,MAAM,+BAA+B,GAAG,UAAU,GAAG,YAAY,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,qBAAqB,CAAC;IAC5B,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,+BAA+B,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,GAAG,iBAAiB,CAAC,CAAC;AAEjH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,eAAe,GAAG,UAAU,CAAC;CACvC,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,uBAA4B,yBActC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,oBAAoB,CAAC,CAsB/B;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,EACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,uBAA4B,uBAgBtC;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;;;EAsBzI;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,GAAG,eAAe,CAAC,GACxE,OAAO,CAAC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAyClF;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,OAAO,SAAO,wCAO/G;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAI9F"}
1
+ {"version":3,"file":"frame-utils.d.ts","sourceRoot":"","sources":["../src/frame-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { classifyFrameColor, convertFrameToCanvasSdr, resizeFrameRaw, resizeFrameWithCanvas, } from '@browser-mc/webcodecs-color';
1
+ import { classifyFrameColor, convertFrameToCanvasSdr, resizeFramePlanar, resizeFrameWithCanvas, } from '@browser-mc/webcodecs-color';
2
2
  import { copyArrayBuffer } from '@browser-mc/binary';
3
3
  export { copyArrayBuffer };
4
4
  export async function createImageDecoder(input, type, options = {}) {
@@ -81,10 +81,16 @@ export function resolveTargetSize(sourceWidth, sourceHeight, options) {
81
81
  }
82
82
  export async function resizeFrameForColor(frame, size, options) {
83
83
  const colorMetadata = options.colorMetadata ?? 'preserve';
84
+ const rawBitDepth = options.rawBitDepth ?? 'preserve';
85
+ const rawChromaSubsampling = options.rawChromaSubsampling ?? 'preserve';
86
+ const wantsRawPlanarConversion = rawBitDepth !== 'preserve' || rawChromaSubsampling !== 'preserve';
84
87
  if (size.width === frame.displayWidth && size.height === frame.displayHeight) {
85
88
  if (colorMetadata === 'canvas-sdr') {
86
89
  return { frame: convertFrameToCanvasSdr(frame).frame, path: 'canvas', warnings: [] };
87
90
  }
91
+ if (wantsRawPlanarConversion) {
92
+ return processRawPlanarFrame(frame, { ...size, ...options }, [], 'none');
93
+ }
88
94
  return { frame, path: 'none', warnings: [] };
89
95
  }
90
96
  const warnings = [];
@@ -104,8 +110,10 @@ export async function resizeFrameForColor(frame, size, options) {
104
110
  }
105
111
  if (color.recommendedPath === 'raw-hdr') {
106
112
  try {
107
- const resized = await resizeFrameRaw(frame, {
113
+ const resized = await resizeFramePlanar(frame, {
108
114
  ...size,
115
+ bitDepth: rawBitDepth === 'preserve' ? undefined : rawBitDepth,
116
+ chromaSubsampling: rawChromaSubsampling === 'preserve' ? undefined : rawChromaSubsampling,
109
117
  algorithm: options.rawResizeAlgorithm ?? 'bilinear',
110
118
  });
111
119
  return { frame: resized.frame, path: 'raw', warnings };
@@ -118,8 +126,27 @@ export async function resizeFrameForColor(frame, size, options) {
118
126
  if (color.recommendedPath === 'raw-hdr') {
119
127
  warnings.push('Canvas fallback may collapse HDR/BT.2020 content to sRGB or Display P3.');
120
128
  }
129
+ if (wantsRawPlanarConversion) {
130
+ warnings.push('raw planar conversion was requested but Canvas resize output is not a supported planar YUV frame.');
131
+ }
121
132
  return { frame: resized.frame, path: 'canvas', warnings };
122
133
  }
134
+ async function processRawPlanarFrame(frame, options, warnings, fallbackPath) {
135
+ try {
136
+ const converted = await resizeFramePlanar(frame, {
137
+ width: options.width,
138
+ height: options.height,
139
+ bitDepth: options.rawBitDepth === 'preserve' ? undefined : options.rawBitDepth,
140
+ chromaSubsampling: options.rawChromaSubsampling === 'preserve' ? undefined : options.rawChromaSubsampling,
141
+ algorithm: options.rawResizeAlgorithm ?? 'bilinear',
142
+ });
143
+ return { frame: converted.frame, path: 'raw', warnings };
144
+ }
145
+ catch (error) {
146
+ warnings.push(`raw planar conversion was not available: ${error instanceof Error ? error.message : String(error)}`);
147
+ return { frame, path: fallbackPath, warnings };
148
+ }
149
+ }
123
150
  export async function encodeFrameWithCanvas(frame, mime, quality = 0.85) {
124
151
  const canvas = new OffscreenCanvas(frame.displayWidth, frame.displayHeight);
125
152
  const context = canvas.getContext('2d', { colorSpace: classifyFrameColor(frame).canvasColorSpace });
@@ -1 +1 @@
1
- {"version":3,"file":"frame-utils.js","sourceRoot":"","sources":["../src/frame-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,CAAC;AAgC3B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAsC,EACtC,IAAY,EACZ,UAAmC,EAAE;IAErC,kBAAkB,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;QAC/B,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;QAC5B,IAAI;QACJ,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;QAC5D,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAsC,EACtC,IAAY,EACZ,UAAoC,EAAE;IAEtC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE;QACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU,GAAG,CAAC;YAC1C,UAAU;YACV,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAsC,EACtC,IAAY,EACZ,UAAmC,EAAE;IAErC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,iBAAiB,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,+BAA+B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,YAAoB,EAAE,OAA6D;IACxI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACjH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEzF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,OAAO;QAClD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IAC/D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QACnD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAiB,EACjB,IAAuC,EACvC,OAAyE;IAEzE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7E,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACvF,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE;gBAC1C,GAAG,IAAI;gBACP,SAAS,EAAE,OAAO,CAAC,kBAAkB,IAAI,UAAU;aACpD,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,8DAA8D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxI,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAiB,EAAE,IAAiC,EAAE,OAAO,GAAG,IAAI;IAC9G,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAsC;IACvE,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AACpH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAAC,KAAsC,EAAE,IAAY;IACjG,IAAI,OAAO,iBAAiB,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI;QAChC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"frame-utils.js","sourceRoot":"","sources":["../src/frame-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GAItB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,CAAC;AAsC3B,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAsC,EACtC,IAAY,EACZ,UAAmC,EAAE;IAErC,kBAAkB,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;QAC/B,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;QAC5B,IAAI;QACJ,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;QAC5D,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAsC,EACtC,IAAY,EACZ,UAAoC,EAAE;IAEtC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IACrF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE;QACpD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU,GAAG,CAAC;YAC1C,UAAU;YACV,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,OAAO,EAAE,eAAe;SACzB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAsC,EACtC,IAAY,EACZ,UAAmC,EAAE;IAErC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACnF,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,iBAAiB,KAAK,WAAW;gBAAE,MAAM,KAAK,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,+BAA+B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,YAAoB,EAAE,OAA6D;IACxI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACjH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAEzF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,OAAO;QAClD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IAC/D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;QACnD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAiB,EACjB,IAAuC,EACvC,OAAkH;IAElH,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;IACtD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,UAAU,CAAC;IACxE,MAAM,wBAAwB,GAAG,WAAW,KAAK,UAAU,IAAI,oBAAoB,KAAK,UAAU,CAAC;IACnG,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7E,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACvF,CAAC;QACD,IAAI,wBAAwB,EAAE,CAAC;YAC7B,OAAO,qBAAqB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE;gBAC7C,GAAG,IAAI;gBACP,QAAQ,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;gBAC9D,iBAAiB,EAAE,oBAAoB,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB;gBACzF,SAAS,EAAE,OAAO,CAAC,kBAAkB,IAAI,UAAU;aACpD,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,8DAA8D,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxI,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,wBAAwB,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAiB,EACjB,OAAoI,EACpI,QAAkB,EAClB,YAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE;YAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW;YAC9E,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB;YACzG,SAAS,EAAE,OAAO,CAAC,kBAAkB,IAAI,UAAU;SACpD,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAiB,EAAE,IAAiC,EAAE,OAAO,GAAG,IAAI;IAC9G,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpE,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAsC;IACvE,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AACpH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAAC,KAAsC,EAAE,IAAY;IACjG,IAAI,OAAO,iBAAiB,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI;QAChC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { type ExifPayload } from '@browser-mc/exif-transplant';
2
- import { type AvifEncodeSupport, type EncodeAvifOptions } from '@browser-mc/webcodecs-avif';
3
- import { type BrowserImageColorMetadataPolicy, type BrowserImageResizeFit, type BrowserImageResizePath, type ImageInputInspection } from './frame-utils.js';
2
+ import { readAvifCicpColor, readAvifColorMetadata, readAvifColorSpace, type AvifEncodeSupport, type EncodeAvifOptions } from '@browser-mc/webcodecs-avif';
3
+ import { type BrowserImageColorMetadataPolicy, type BrowserImageRawBitDepth, type BrowserImageRawChromaSubsampling, type BrowserImageResizeFit, type BrowserImageResizePath, type ImageInputInspection } from './frame-utils.js';
4
4
  import { muxAnimatedWebp, type BrowserAnimatedImageResizerOptions, type BrowserAnimatedImageResizerResult, type AnimatedWebpFrame, type AnimatedWebpMuxOptions } from './animated-webp.js';
5
- import { type FrameColorClassification, type FrameColorInspection, type ResizeRawOptions } from '@browser-mc/webcodecs-color';
5
+ import { type FrameColorClassification, type FrameColorInspection, type PlanarResizeAlgorithm } from '@browser-mc/webcodecs-color';
6
6
  export type BrowserImageOutputMime = 'image/avif' | 'image/jpeg' | 'image/webp';
7
7
  export type BrowserImageExifPolicy = 'keep' | 'drop' | 'drop-gps';
8
8
  export type BrowserImageAnimationPolicy = 'preserve' | 'first-frame' | 'error';
9
- export type { AnimatedWebpFrame, AnimatedWebpMuxOptions, BrowserAnimatedImageResizerOptions, BrowserAnimatedImageResizerResult, BrowserImageColorMetadataPolicy, BrowserImageResizeFit, BrowserImageResizePath, ImageInputInspection, };
9
+ export type { AnimatedWebpFrame, AnimatedWebpMuxOptions, BrowserAnimatedImageResizerOptions, BrowserAnimatedImageResizerResult, BrowserImageColorMetadataPolicy, BrowserImageRawBitDepth, BrowserImageRawChromaSubsampling, BrowserImageResizeFit, BrowserImageResizePath, ImageInputInspection, };
10
10
  export type BrowserImageResizerOptions = {
11
11
  input: Blob | ArrayBuffer | Uint8Array;
12
12
  inputMime?: string;
@@ -17,7 +17,9 @@ export type BrowserImageResizerOptions = {
17
17
  exif?: BrowserImageExifPolicy;
18
18
  animation?: BrowserImageAnimationPolicy;
19
19
  colorSpaceConversion?: ColorSpaceConversion;
20
- rawResizeAlgorithm?: ResizeRawOptions['algorithm'];
20
+ rawResizeAlgorithm?: PlanarResizeAlgorithm;
21
+ rawBitDepth?: BrowserImageRawBitDepth;
22
+ rawChromaSubsampling?: BrowserImageRawChromaSubsampling;
21
23
  colorMetadata?: BrowserImageColorMetadataPolicy;
22
24
  quality?: number;
23
25
  avif?: Omit<EncodeAvifOptions, 'width' | 'height' | 'quality'>;
@@ -81,5 +83,5 @@ export declare function inspectImageInput(input: Blob | ArrayBuffer | Uint8Array
81
83
  }>;
82
84
  export declare function resizeAndConvertImage(options: BrowserImageResizerOptions): Promise<BrowserImageConversionResult>;
83
85
  export declare function resizeAnimatedImageToWebp(input: Blob | ArrayBuffer | Uint8Array, options?: Omit<BrowserAnimatedImageResizerOptions, 'input'>): Promise<BrowserAnimatedImageResizerResult>;
84
- export { muxAnimatedWebp };
86
+ export { muxAnimatedWebp, readAvifCicpColor, readAvifColorMetadata, readAvifColorSpace };
85
87
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { detectImageMime, readExif, stripGpsFromExif, writeExif, } from '@browser-mc/exif-transplant';
2
- import { checkAvifEncodeSupport, encodeImageToAvif, } from '@browser-mc/webcodecs-avif';
2
+ import { checkAvifEncodeSupport, encodeImageToAvif, readAvifCicpColor, readAvifColorMetadata, readAvifColorSpace, } from '@browser-mc/webcodecs-avif';
3
+ import { readImageColorMetadata, } from '@browser-mc/media-container';
3
4
  import { copyArrayBuffer, decodeFirstImageFrame, encodeFrameWithCanvas, inspectImageTrack, resizeFrameForColor, resolveTargetSize, toUint8Array, } from './frame-utils.js';
4
5
  import { resizeAnimatedImageToWebp as resizeAnimatedImageToWebpInternal, muxAnimatedWebp, } from './animated-webp.js';
5
- import { classifyFrameColor, inspectFrame, } from '@browser-mc/webcodecs-color';
6
+ import { classifyFrameColor, describePlanarFormat, inspectFrame, resizeFramePlanar, } from '@browser-mc/webcodecs-color';
6
7
  export function getBrowserImageResizerSupport() {
7
8
  const canvas = typeof OffscreenCanvas !== 'undefined' ? new OffscreenCanvas(1, 1) : null;
8
9
  const context = canvas?.getContext('2d', { colorSpace: 'srgb' });
@@ -75,6 +76,7 @@ export async function inspectImageInput(input, inputMime, options = {}) {
75
76
  export async function resizeAndConvertImage(options) {
76
77
  const inputBytes = await toUint8Array(options.input);
77
78
  const inputMime = options.inputMime ?? detectInputMime(inputBytes, options.input);
79
+ const inputColorMetadata = readSourceColorMetadata(inputBytes, inputMime);
78
80
  const inputInfo = await inspectImageTrack(inputBytes, inputMime, {
79
81
  colorSpaceConversion: options.colorSpaceConversion ?? 'none',
80
82
  preferAnimation: (options.animation ?? 'preserve') !== 'first-frame',
@@ -93,6 +95,8 @@ export async function resizeAndConvertImage(options) {
93
95
  height: options.height,
94
96
  fit: options.fit,
95
97
  rawResizeAlgorithm: options.rawResizeAlgorithm,
98
+ rawBitDepth: options.rawBitDepth,
99
+ rawChromaSubsampling: options.rawChromaSubsampling,
96
100
  quality: options.quality,
97
101
  colorSpaceConversion: options.colorSpaceConversion,
98
102
  colorMetadata: options.colorMetadata,
@@ -108,11 +112,17 @@ export async function resizeAndConvertImage(options) {
108
112
  const color = classifyFrameColor(inputInspection);
109
113
  const size = resolveTargetSize(frame.displayWidth, frame.displayHeight, options);
110
114
  const resized = await resizeFrameForColor(frame, size, options);
115
+ const preservedColorMetadata = options.colorMetadata === 'canvas-sdr' || resized.path === 'canvas'
116
+ ? null
117
+ : inputColorMetadata;
111
118
  try {
112
119
  const encoded = await encodeFrame(resized.frame, outputMime, {
113
120
  quality: options.quality,
114
121
  avif: options.avif,
122
+ inputColorMetadata: preservedColorMetadata,
115
123
  preserveAlpha: inputMime !== 'image/jpeg',
124
+ rawChromaSubsampling: options.rawChromaSubsampling,
125
+ warnings: resized.warnings,
116
126
  });
117
127
  const withExif = applyExifPolicy(encoded, outputMime, sourceExif, exifPolicy);
118
128
  const blob = new Blob([copyArrayBuffer(withExif)], { type: outputMime });
@@ -147,7 +157,17 @@ export async function resizeAndConvertImage(options) {
147
157
  export async function resizeAnimatedImageToWebp(input, options = {}) {
148
158
  return resizeAnimatedImageToWebpInternal({ ...options, input });
149
159
  }
150
- export { muxAnimatedWebp };
160
+ export { muxAnimatedWebp, readAvifCicpColor, readAvifColorMetadata, readAvifColorSpace };
161
+ function readSourceColorMetadata(data, mime) {
162
+ if (mime !== 'image/avif' && mime !== 'image/jpeg' && mime !== 'image/webp')
163
+ return null;
164
+ try {
165
+ return readImageColorMetadata(data, mime);
166
+ }
167
+ catch {
168
+ return null;
169
+ }
170
+ }
151
171
  function readSourceExif(data) {
152
172
  try {
153
173
  return readExif(data);
@@ -176,15 +196,97 @@ function defaultOutputMime(inputMime, inputInfo) {
176
196
  async function encodeFrame(frame, mime, options) {
177
197
  if (mime === 'image/avif') {
178
198
  const alpha = options.avif?.alpha ?? (options.preserveAlpha ? 'keep' : 'discard');
179
- return encodeImageToAvif(frame, {
180
- ...options.avif,
181
- alpha,
199
+ const chromaSubsampling = options.avif?.chromaSubsampling
200
+ ?? avifChromaSubsamplingForRaw(options.rawChromaSubsampling);
201
+ const prepared = await prepareFrameForAvifEncode(frame, {
202
+ codec: options.avif?.codec,
203
+ chromaSubsampling,
204
+ warnings: options.warnings,
205
+ });
206
+ try {
207
+ const inputColorMetadata = options.avif?.colorMetadata === undefined
208
+ && options.avif?.color === undefined
209
+ && options.avif?.colorSpace === undefined
210
+ ? options.inputColorMetadata ?? undefined
211
+ : undefined;
212
+ return await encodeImageToAvif(prepared.frame, {
213
+ ...options.avif,
214
+ alpha,
215
+ chromaSubsampling,
216
+ codec: prepared.codec,
217
+ colorMetadata: options.avif?.colorMetadata ?? inputColorMetadata,
218
+ width: frame.displayWidth,
219
+ height: frame.displayHeight,
220
+ quality: options.quality,
221
+ });
222
+ }
223
+ finally {
224
+ if (prepared.frame !== frame)
225
+ prepared.frame.close();
226
+ }
227
+ }
228
+ return encodeFrameWithCanvas(frame, mime, options.quality);
229
+ }
230
+ async function prepareFrameForAvifEncode(frame, options) {
231
+ if (options.codec !== undefined || !isHighBitdepthPlanarFrame(frame))
232
+ return { frame, codec: options.codec };
233
+ const chromaSubsampling = options.chromaSubsampling ?? '444';
234
+ const tenBitCodec = avifCodecForSubsampling(chromaSubsampling, 10);
235
+ const eightBitCodec = avifCodecForSubsampling(chromaSubsampling, 8);
236
+ const [tenBitSupport, eightBitSupport] = await Promise.all([
237
+ isVideoEncoderConfigSupported(tenBitCodec, frame),
238
+ isVideoEncoderConfigSupported(eightBitCodec, frame),
239
+ ]);
240
+ if (tenBitSupport || !eightBitSupport)
241
+ return { frame, codec: options.codec };
242
+ try {
243
+ const converted = await resizeFramePlanar(frame, {
182
244
  width: frame.displayWidth,
183
245
  height: frame.displayHeight,
184
- quality: options.quality,
246
+ chromaSubsampling,
247
+ bitDepth: 8,
185
248
  });
249
+ options.warnings?.push('AVIF 10-bit encode was not supported, so the frame was converted to 8-bit before encoding.');
250
+ return { frame: converted.frame, codec: eightBitCodec };
186
251
  }
187
- return encodeFrameWithCanvas(frame, mime, options.quality);
252
+ catch (error) {
253
+ options.warnings?.push(`AVIF 10-bit encode was not supported, but 8-bit raw conversion was not available: ${error instanceof Error ? error.message : String(error)}`);
254
+ return { frame, codec: options.codec };
255
+ }
256
+ }
257
+ async function isVideoEncoderConfigSupported(codec, frame) {
258
+ if (typeof VideoEncoder === 'undefined')
259
+ return false;
260
+ try {
261
+ const support = await VideoEncoder.isConfigSupported({
262
+ codec,
263
+ width: frame.displayWidth,
264
+ height: frame.displayHeight,
265
+ bitrate: Math.max(80_000, Math.round(frame.displayWidth * frame.displayHeight * 0.8 * 0.7)),
266
+ framerate: 1,
267
+ alpha: 'discard',
268
+ latencyMode: 'quality',
269
+ });
270
+ return support.supported === true;
271
+ }
272
+ catch {
273
+ return false;
274
+ }
275
+ }
276
+ function isHighBitdepthPlanarFrame(frame) {
277
+ if (!frame.format)
278
+ return false;
279
+ const descriptor = describePlanarFormat(frame.format);
280
+ return descriptor !== null && descriptor.bitDepth > 8;
281
+ }
282
+ function avifCodecForSubsampling(chromaSubsampling, bitDepth) {
283
+ const profile = chromaSubsampling === '444' ? 1 : 0;
284
+ return `av01.${profile}.08M.${String(bitDepth).padStart(2, '0')}`;
285
+ }
286
+ function avifChromaSubsamplingForRaw(rawChromaSubsampling) {
287
+ if (rawChromaSubsampling === '420' || rawChromaSubsampling === '444')
288
+ return rawChromaSubsampling;
289
+ return undefined;
188
290
  }
189
291
  function applyExifPolicy(data, mime, sourceExif, policy) {
190
292
  if (policy === 'drop' || !sourceExif)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,SAAS,GAGV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,GAOb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,IAAI,iCAAiC,EAC9D,eAAe,GAKhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAIlB,MAAM,6BAA6B,CAAC;AA4FrC,MAAM,UAAU,6BAA6B;IAC3C,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,MAAM,OAAO,GAAG,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,OAAO;QACL,YAAY,EAAE,OAAO,YAAY,KAAK,WAAW;QACjD,YAAY,EAAE;YACZ,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC;YACnC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC;SACpC;QACD,SAAS,EAAE;YACT,UAAU,EAAE,OAAO,UAAU,KAAK,WAAW;YAC7C,YAAY,EAAE,OAAO,YAAY,KAAK,WAAW;YACjD,YAAY,EAAE,OAAO,YAAY,KAAK,WAAW;SAClD;QACD,MAAM,EAAE;YACN,eAAe,EAAE,OAAO,eAAe,KAAK,WAAW;YACvD,aAAa,EAAE,OAAO,eAAe,KAAK,WAAW,IAAI,OAAO,eAAe,CAAC,SAAS,CAAC,aAAa,KAAK,UAAU;YACtH,YAAY,EAAE,OAAO,KAAK,IAAI;SAC/B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC;IACzD,MAAM,OAAO,GAAG,6BAA6B,EAAE,CAAC;IAChD,OAAO;QACL,GAAG,OAAO;QACV,YAAY,EAAE;YACZ,GAAG,OAAO,CAAC,YAAY;YACvB,IAAI,EAAE,MAAM,sBAAsB,EAAE;SACrC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAsC,EACtC,SAAkB,EAClB,UAAkF,EAAE;IAEpF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE;YAC3D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;YAC5D,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,aAAa;SACrE,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,IAAI;YACf,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI;YACJ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK,YAAY,KAAK;gBAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;gBAC9C,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAsC,EACtC,SAAkB,EAClB,UAAoE,EAAE;IAEtE,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI;QACJ,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,IAAI,EAAE;YAC3C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;SAC7D,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAmC;IAC7E,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE;QAC/D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;QAC5D,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,aAAa;KACrE,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjF,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC9H,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,OAAO,iCAAiC,CAAC;YACvC,KAAK,EAAE,UAAU;YACjB,SAAS;YACT,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;IAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE;QAC/D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,MAAM;KAC7D,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,sBAAsB,GAAG,OAAO,CAAC,aAAa,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAChG,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,kBAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;gBAC3D,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,kBAAkB,EAAE,sBAAsB;gBAC1C,aAAa,EAAE,SAAS,KAAK,YAAY;gBACzC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI;gBACJ,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,OAAO,CAAC,IAAI;gBACxB,KAAK,EAAE,eAAe;gBACtB,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/E,KAAK;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM;iBACtD;gBACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAAsC,EACtC,UAA6D,EAAE;IAE/D,OAAO,iCAAiC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC;AAEzF,SAAS,uBAAuB,CAAC,IAAgB,EAAE,IAAY;IAC7D,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IACzF,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAgB;IACtC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB,EAAE,KAAsC;IAC/E,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC3D,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,SAAkD;IAC9F,IAAI,SAAS,EAAE,QAAQ;QAAE,OAAO,YAAY,CAAC;IAC7C,OAAO,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,YAAY;QAC3F,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,KAAiB,EACjB,IAA4B,EAC5B,OAOC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,iBAAiB;eACpD,2BAA2B,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE;YACtD,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK;YAC1B,iBAAiB;YACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS;mBAC/D,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS;mBACjC,OAAO,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS;gBACzC,CAAC,CAAC,OAAO,CAAC,kBAAkB,IAAI,SAAS;gBACzC,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAC7C,GAAG,OAAO,CAAC,IAAI;gBACf,KAAK;gBACL,iBAAiB;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,aAAa,IAAI,kBAAkB;gBAChE,KAAK,EAAE,KAAK,CAAC,YAAY;gBACzB,MAAM,EAAE,KAAK,CAAC,aAAa;gBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK;gBAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,KAAiB,EACjB,OAIC;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7G,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC7D,MAAM,WAAW,GAAG,uBAAuB,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,uBAAuB,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,6BAA6B,CAAC,WAAW,EAAE,KAAK,CAAC;QACjD,6BAA6B,CAAC,aAAa,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IACH,IAAI,aAAa,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE;YAC/C,KAAK,EAAE,KAAK,CAAC,YAAY;YACzB,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,iBAAiB;YACjB,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,4FAA4F,CAAC,CAAC;QACrH,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,qFAAqF,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtK,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,KAAa,EAAE,KAAiB;IAC3E,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC;YACnD,KAAK;YACL,KAAK,EAAE,KAAK,CAAC,YAAY;YACzB,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAC3F,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAiB;IAClD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,uBAAuB,CAAC,iBAAsE,EAAE,QAAgB;IACvH,MAAM,OAAO,GAAG,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,QAAQ,OAAO,QAAQ,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,2BAA2B,CAClC,oBAAkE;IAElE,IAAI,oBAAoB,KAAK,KAAK,IAAI,oBAAoB,KAAK,KAAK;QAAE,OAAO,oBAAoB,CAAC;IAClG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB,EAAE,IAAe,EAAE,UAA8B,EAAE,MAA8B;IACxH,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAChG,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,OAAO,eAAe,KAAK,WAAW;WACxC,OAAO,eAAe,CAAC,SAAS,CAAC,aAAa,KAAK,UAAU;WAC7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browser-mc/browser-image-resizer-ex",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,10 +17,10 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@browser-mc/binary": "^0.0.1",
20
- "@browser-mc/media-container": "^0.2.0",
21
- "@browser-mc/exif-transplant": "^0.0.2",
22
- "@browser-mc/webcodecs-color": "^0.0.1",
23
- "@browser-mc/webcodecs-avif": "^0.3.0"
20
+ "@browser-mc/media-container": "^0.3.0",
21
+ "@browser-mc/webcodecs-avif": "^0.4.1",
22
+ "@browser-mc/exif-transplant": "^0.0.3",
23
+ "@browser-mc/webcodecs-color": "^0.1.1"
24
24
  },
25
25
  "files": [
26
26
  "dist",