@browser-mc/webcodecs-avif 0.1.0 → 0.3.0

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
@@ -17,6 +17,8 @@ await fetch('/upload', {
17
17
  });
18
18
  ```
19
19
 
20
+ `encodeImageToAvif` defaults to AV1 4:4:4 chroma (`chromaSubsampling: '444'`). Pass `chromaSubsampling: '420'` when smaller 4:2:0 output or broader baseline-style compatibility is preferred.
21
+
20
22
  ## Mux An Existing AV1 Still Frame
21
23
 
22
24
  ```ts
@@ -62,7 +64,7 @@ node packages/webcodecs-avif/test/encode-jpeg-to-avif.mjs
62
64
  ## Notes
63
65
 
64
66
  - Requires WebCodecs for encoding/decoding.
65
- - Alpha is rejected until auxiliary alpha item muxing is implemented.
67
+ - Alpha can be kept with `alpha: 'keep'`, which writes an auxiliary alpha AVIF item.
66
68
  - The muxer writes a minimal still-image AVIF and does not preserve arbitrary source AVIF boxes.
67
- - `av1C`, `pixi`, and `colr` are derived from the AV1 Sequence Header OBU. Profile compatibility brands are emitted only when the encoded image meets the matching AVIF profile constraints.
69
+ - `av1C` and `pixi` are derived from the AV1 Sequence Header OBU. `colr` uses source `VideoFrame.colorSpace` metadata when available, then falls back to the AV1 Sequence Header. Profile compatibility brands are emitted only when the encoded image meets the matching AVIF profile constraints.
68
70
  - Container-specific mux helpers live in `@browser-mc/media-container`; this package re-exports the AVIF helpers for convenience.
package/dist/index.d.ts CHANGED
@@ -6,10 +6,36 @@ export type EncodeAvifOptions = {
6
6
  width?: number;
7
7
  height?: number;
8
8
  codec?: string;
9
+ chromaSubsampling?: '444' | '420';
9
10
  bitrate?: number;
10
11
  av1Config?: Uint8Array;
11
12
  alpha?: 'discard' | 'keep';
12
13
  };
14
+ export type AvifEncodeSupportOptions = {
15
+ width?: number;
16
+ height?: number;
17
+ bitrate?: number;
18
+ alpha?: 'discard' | 'keep';
19
+ };
20
+ export type AvifEncodeSupport = {
21
+ supported: boolean;
22
+ variants: {
23
+ yuv444: {
24
+ bit8: boolean;
25
+ bit10: boolean;
26
+ };
27
+ yuv420: {
28
+ bit8: boolean;
29
+ bit10: boolean;
30
+ };
31
+ };
32
+ preferredCodec: string | null;
33
+ error: {
34
+ name: string;
35
+ message: string;
36
+ } | null;
37
+ };
38
+ export declare function checkAvifEncodeSupport(options?: AvifEncodeSupportOptions): Promise<AvifEncodeSupport>;
13
39
  export declare function encodeImageToAv1(source: CanvasImageSource | VideoFrame, options?: EncodeAvifOptions): Promise<EncodedStillAv1>;
14
40
  export declare function encodeImageToAvif(source: CanvasImageSource | VideoFrame, options?: EncodeAvifOptions): Promise<Uint8Array>;
15
41
  export declare function decodeAv1Still(encoded: EncodedStillAv1): Promise<VideoFrame>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAIxI;AAqGD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEpI;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBlF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAE3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAErC,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,6BAA6B,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE;QACR,MAAM,EAAE;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC;QAC1C,MAAM,EAAE;YAAE,IAAI,EAAE,OAAO,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC;KAC3C,CAAC;IACF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjD,CAAC;AAMF,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmD/G;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAIxI;AAsLD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAEpI;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBlF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAE3E"}
package/dist/index.js CHANGED
@@ -1,6 +1,58 @@
1
1
  import { bytesEqual, concat } from '@browser-mc/binary';
2
2
  import { findSequenceHeaderObu, makeAv1Config, muxStillAvif, } from '@browser-mc/media-container';
3
3
  export { findSequenceHeaderObu, makeAv1Config, muxStillAvif, } from '@browser-mc/media-container';
4
+ export async function checkAvifEncodeSupport(options = {}) {
5
+ if (typeof VideoEncoder === 'undefined') {
6
+ return {
7
+ supported: false,
8
+ variants: {
9
+ yuv444: { bit8: false, bit10: false },
10
+ yuv420: { bit8: false, bit10: false },
11
+ },
12
+ preferredCodec: null,
13
+ error: { name: 'Error', message: 'VideoEncoder API is not available in this environment' },
14
+ };
15
+ }
16
+ try {
17
+ const [yuv444Bit8, yuv444Bit10, yuv420Bit8, yuv420Bit10] = await Promise.all([
18
+ isAvifCodecSupported(codecForSubsampling('444', 8), options),
19
+ isAvifCodecSupported(codecForSubsampling('444', 10), options),
20
+ isAvifCodecSupported(codecForSubsampling('420', 8), options),
21
+ isAvifCodecSupported(codecForSubsampling('420', 10), options),
22
+ ]);
23
+ const preferredCodec = yuv444Bit8
24
+ ? codecForSubsampling('444', 8)
25
+ : yuv420Bit8
26
+ ? codecForSubsampling('420', 8)
27
+ : yuv444Bit10
28
+ ? codecForSubsampling('444', 10)
29
+ : yuv420Bit10
30
+ ? codecForSubsampling('420', 10)
31
+ : null;
32
+ return {
33
+ supported: preferredCodec !== null,
34
+ variants: {
35
+ yuv444: { bit8: yuv444Bit8, bit10: yuv444Bit10 },
36
+ yuv420: { bit8: yuv420Bit8, bit10: yuv420Bit10 },
37
+ },
38
+ preferredCodec,
39
+ error: null,
40
+ };
41
+ }
42
+ catch (error) {
43
+ return {
44
+ supported: false,
45
+ variants: {
46
+ yuv444: { bit8: false, bit10: false },
47
+ yuv420: { bit8: false, bit10: false },
48
+ },
49
+ preferredCodec: null,
50
+ error: error instanceof Error
51
+ ? { name: error.name, message: error.message }
52
+ : { name: 'Error', message: String(error) },
53
+ };
54
+ }
55
+ }
4
56
  export async function encodeImageToAv1(source, options = {}) {
5
57
  assertWebCodecs();
6
58
  if (options.alpha === 'keep')
@@ -14,7 +66,7 @@ async function encodeImageToAv1WithAlpha(source, options) {
14
66
  encodeImageToAv1Color(alphaSource, {
15
67
  ...options,
16
68
  alpha: 'discard',
17
- codec: options.codec ?? 'av01.0.08M.08',
69
+ codec: options.codec ?? codecForSubsampling(options.chromaSubsampling ?? '444', 8),
18
70
  bitrate: options.bitrate ?? alphaBitrate(source, options),
19
71
  }),
20
72
  ]);
@@ -23,9 +75,10 @@ async function encodeImageToAv1WithAlpha(source, options) {
23
75
  async function encodeImageToAv1Color(source, options = {}) {
24
76
  const width = options.width ?? sourceWidth(source);
25
77
  const height = options.height ?? sourceHeight(source);
26
- const codec = options.codec ?? 'av01.0.08M.08';
78
+ const codec = options.codec ?? preferredCodecForSource(source, options.chromaSubsampling);
27
79
  const bitrate = options.bitrate ?? Math.max(80_000, Math.round(width * height * (options.quality ?? 0.8) * 0.7));
28
- const support = await VideoEncoder.isConfigSupported({
80
+ const colorSpace = source instanceof VideoFrame ? source.colorSpace.toJSON() : undefined;
81
+ const encoderConfig = {
29
82
  codec,
30
83
  width,
31
84
  height,
@@ -33,12 +86,68 @@ async function encodeImageToAv1Color(source, options = {}) {
33
86
  framerate: 1,
34
87
  alpha: options.alpha ?? 'discard',
35
88
  latencyMode: 'quality',
36
- });
89
+ };
90
+ const support = await supportedEncoderConfig(encoderConfig, options.codec === undefined && codec.endsWith('.10'));
37
91
  if (!support.supported)
38
92
  throw new Error(`VideoEncoder does not support ${codec}`);
39
93
  const config = support.config;
40
94
  if (!config)
41
95
  throw new Error(`VideoEncoder did not return a normalized config for ${codec}`);
96
+ let shouldCloseFrame = false;
97
+ const frame = source instanceof VideoFrame ? source : makeOwnedFrameFromCanvasSource(source);
98
+ let metadataConfig;
99
+ let chunks = [];
100
+ try {
101
+ try {
102
+ ({ chunks, metadataConfig } = await encodeFrame(frame, config));
103
+ }
104
+ catch (error) {
105
+ if (!(source instanceof VideoFrame) || !config.codec.endsWith('.08') || !isHighBitdepthOrHdrFrame(source))
106
+ throw error;
107
+ const fallbackFrame = makeCanvasSdrFrame(source, width, height);
108
+ try {
109
+ ({ chunks, metadataConfig } = await encodeFrame(fallbackFrame, config));
110
+ }
111
+ finally {
112
+ fallbackFrame.close();
113
+ }
114
+ }
115
+ }
116
+ finally {
117
+ if (shouldCloseFrame)
118
+ frame.close();
119
+ }
120
+ function makeOwnedFrameFromCanvasSource(canvasSource) {
121
+ shouldCloseFrame = true;
122
+ return makeFrameFromCanvasSource(canvasSource);
123
+ }
124
+ const chunk = concat(chunks);
125
+ const decoderConfig = {
126
+ ...(metadataConfig ?? { codec, codedWidth: width, codedHeight: height, description: options.av1Config }),
127
+ colorSpace,
128
+ };
129
+ const sequenceHeaderObu = findSequenceHeaderObu(chunk);
130
+ if (!sequenceHeaderObu)
131
+ throw new Error('Encoded AV1 chunk does not contain a Sequence Header OBU');
132
+ const generatedAv1Config = makeAv1Config(config.codec, sequenceHeaderObu);
133
+ if (options.av1Config && !bytesEqual(options.av1Config, generatedAv1Config)) {
134
+ throw new Error('Provided av1Config does not match the encoded AV1 Sequence Header OBU');
135
+ }
136
+ const av1Config = generatedAv1Config;
137
+ return { chunk, decoderConfig, av1Config, width, height };
138
+ }
139
+ function makeFrameFromCanvasSource(canvasSource) {
140
+ return new VideoFrame(canvasSource, { timestamp: 0, duration: 1_000_000 });
141
+ }
142
+ function makeCanvasSdrFrame(source, width, height) {
143
+ const canvas = new OffscreenCanvas(width, height);
144
+ const context = canvas.getContext('2d', { colorSpace: 'srgb' });
145
+ if (!context)
146
+ throw new Error('Could not create 2D canvas context');
147
+ context.drawImage(source, 0, 0, width, height);
148
+ return makeFrameFromCanvasSource(canvas);
149
+ }
150
+ async function encodeFrame(frame, config) {
42
151
  let metadataConfig;
43
152
  const chunks = [];
44
153
  let rejectEncoderError = () => { };
@@ -53,33 +162,16 @@ async function encodeImageToAv1Color(source, options = {}) {
53
162
  metadataConfig = metadata.decoderConfig;
54
163
  },
55
164
  });
56
- let shouldCloseFrame = false;
57
- const frame = source instanceof VideoFrame ? source : makeFrameFromCanvasSource(source);
58
165
  try {
59
166
  encoder.configure(config);
60
167
  encoder.encode(frame, { keyFrame: true });
61
168
  await Promise.race([encoder.flush(), encoderError]);
62
169
  }
63
170
  finally {
64
- encoder.close();
65
- if (shouldCloseFrame)
66
- frame.close();
67
- }
68
- function makeFrameFromCanvasSource(canvasSource) {
69
- shouldCloseFrame = true;
70
- return new VideoFrame(canvasSource, { timestamp: 0, duration: 1_000_000 });
71
- }
72
- const chunk = concat(chunks);
73
- const decoderConfig = metadataConfig ?? { codec, codedWidth: width, codedHeight: height, description: options.av1Config };
74
- const sequenceHeaderObu = findSequenceHeaderObu(chunk);
75
- if (!sequenceHeaderObu)
76
- throw new Error('Encoded AV1 chunk does not contain a Sequence Header OBU');
77
- const generatedAv1Config = makeAv1Config(codec, sequenceHeaderObu);
78
- if (options.av1Config && !bytesEqual(options.av1Config, generatedAv1Config)) {
79
- throw new Error('Provided av1Config does not match the encoded AV1 Sequence Header OBU');
171
+ if (encoder.state !== 'closed')
172
+ encoder.close();
80
173
  }
81
- const av1Config = generatedAv1Config;
82
- return { chunk, decoderConfig, av1Config, width, height };
174
+ return { chunks, metadataConfig };
83
175
  }
84
176
  function extractAlphaCanvas(source, options) {
85
177
  const width = options.width ?? sourceWidth(source);
@@ -105,6 +197,47 @@ function alphaBitrate(source, options) {
105
197
  const height = options.height ?? sourceHeight(source);
106
198
  return Math.max(40_000, Math.round(width * height * (options.quality ?? 0.8) * 0.35));
107
199
  }
200
+ async function supportedEncoderConfig(config, allowEightBitFallback) {
201
+ const support = await VideoEncoder.isConfigSupported(config);
202
+ if (support.supported || !allowEightBitFallback)
203
+ return support;
204
+ return VideoEncoder.isConfigSupported({
205
+ ...config,
206
+ codec: config.codec.replace(/\.10(?=$|[.])/u, '.08'),
207
+ });
208
+ }
209
+ async function isAvifCodecSupported(codec, options) {
210
+ const support = await VideoEncoder.isConfigSupported({
211
+ codec,
212
+ width: options.width ?? 2,
213
+ height: options.height ?? 2,
214
+ bitrate: options.bitrate ?? 80_000,
215
+ framerate: 1,
216
+ alpha: options.alpha ?? 'discard',
217
+ latencyMode: 'quality',
218
+ });
219
+ return support.supported === true;
220
+ }
221
+ function preferredCodecForSource(source, chromaSubsampling) {
222
+ const subsampling = chromaSubsampling ?? '444';
223
+ if (!(source instanceof VideoFrame))
224
+ return codecForSubsampling(subsampling, 8);
225
+ return codecForSubsampling(subsampling, isHighBitdepthOrHdrFrame(source) ? 10 : 8);
226
+ }
227
+ function codecForSubsampling(chromaSubsampling, bitDepth) {
228
+ const profile = chromaSubsampling === '444' ? 1 : 0;
229
+ return `av01.${profile}.08M.${String(bitDepth).padStart(2, '0')}`;
230
+ }
231
+ function isHighBitdepthOrHdrFrame(source) {
232
+ const colorSpace = source.colorSpace;
233
+ const format = source.format ?? '';
234
+ const transfer = String(colorSpace.transfer ?? '');
235
+ const primaries = String(colorSpace.primaries ?? '');
236
+ const usesHdrTransfer = transfer === 'pq' || transfer === 'hlg' || transfer === 'smpte2084' || transfer === 'arib-std-b67';
237
+ const usesHdrPrimaries = primaries === 'bt2020';
238
+ const usesHighBitdepthFormat = /(?:P010|P012|P016|I\d+P1[026]|10|12|16)/.test(format);
239
+ return usesHdrTransfer || usesHdrPrimaries || usesHighBitdepthFormat;
240
+ }
108
241
  export async function encodeImageToAvif(source, options = {}) {
109
242
  return muxStillAvif(await encodeImageToAv1(source, options));
110
243
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,YAAY,GAEb,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,YAAY,GACb,MAAM,6BAA6B,CAAC;AAYrC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAsC,EAAE,UAA6B,EAAE;IAC5G,eAAe,EAAE,CAAC;IAClB,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChF,OAAO,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAAsC,EAAE,OAA0B;IACzG,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,qBAAqB,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC/D,qBAAqB,CAAC,WAAW,EAAE;YACjC,GAAG,OAAO;YACV,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,eAAe;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;SAC1D,CAAC;KACH,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAsC,EAAE,UAA6B,EAAE;IAC1G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,eAAe,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEjH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,iBAAiB,CAAC;QACnD,KAAK;QACL,KAAK;QACL,MAAM;QACN,OAAO;QACP,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;QACjC,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;IAE7F,IAAI,cAA8C,CAAC;IACnD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,kBAAkB,GAA2B,GAAG,EAAE,GAAE,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;QAC/B,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,QAAQ,EAAE,aAAa;gBAAE,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC;QACvE,CAAC;KACF,CAAC,CAAC;IACH,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,gBAAgB;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,SAAS,yBAAyB,CAAC,YAA+B;QAChE,gBAAgB,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,UAAU,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,cAAc,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1H,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACpG,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,CAAC;IACrC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsC,EAAE,OAA0B;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,MAAsC,EAAE,OAA0B;IACtF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAsC,EAAE,UAA6B,EAAE;IAC7G,OAAO,YAAY,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAwB;IAC3D,eAAe,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC;YAC/B,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC;YACnC,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAU;IACnD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAsC;IACzD,IAAI,MAAM,YAAY,UAAU;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7D,IAAI,YAAY,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IACrD,IAAI,cAAc,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC;IACzD,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,YAAY,CAAC,MAAsC;IAC1D,IAAI,MAAM,YAAY,UAAU;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9D,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACvD,IAAI,eAAe,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,aAAa,CAAC;IAC3D,IAAI,QAAQ,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browser-mc/webcodecs-avif",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@browser-mc/binary": "^0.0.1",
20
- "@browser-mc/media-container": "^0.1.0"
20
+ "@browser-mc/media-container": "^0.2.0"
21
21
  },
22
22
  "files": [
23
23
  "dist",