@browser-mc/webcodecs-color 0.1.1 → 0.2.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
@@ -32,14 +32,14 @@ const resized4208 = await resizeFramePlanar(frame, {
32
32
  height: 682,
33
33
  chromaSubsampling: '420',
34
34
  bitDepth: 8,
35
- algorithm: 'bilinear',
35
+ algorithm: 'lanczos3',
36
36
  });
37
37
 
38
38
  console.log(resized4208.inspection);
39
39
  resized4208.frame.close();
40
40
  ```
41
41
 
42
- `resizeFramePlanar` uses `VideoFrame.copyTo()` and creates a new `VideoFrame` from processed planar data. It copies only the source `visibleRect`, so coded padding rows/columns are not fed into processing. For supported planar YUV frames, plus 8-bit `NV12`, it does resize, chroma downsampling, and bit-depth conversion in one pass over the copied data. `NV12` resize preserves `NV12` when bit depth and chroma are preserved; explicit planar conversion can unpack `NV12` to `I420`. It does not use `HTMLCanvasElement`, `OffscreenCanvas`, WebGL, or WebGPU.
42
+ `resizeFramePlanar` uses `VideoFrame.copyTo()` and creates a new `VideoFrame` from processed planar data. It copies only the source `visibleRect`, so coded padding rows/columns are not fed into processing. For supported planar YUV frames, plus 8-bit `NV12`, it does resize, chroma downsampling, and bit-depth conversion in one pass over the copied data. `NV12` resize preserves `NV12` when bit depth and chroma are preserved; explicit planar conversion can unpack `NV12` to `I420`. The default resize algorithm is `lanczos3`; `bilinear` and `nearest` are also available when speed or exact pixel replication matters. It does not use `HTMLCanvasElement`, `OffscreenCanvas`, WebGL, or WebGPU.
43
43
 
44
44
  Packed formats such as `RGBA` and `BGRA` are intentionally out of scope for this helper; use the Canvas helpers for those paths.
45
45
 
@@ -63,7 +63,7 @@ const canvasResized = resizeFrameWithCanvas(frame, { width: 1024, height: 682 })
63
63
  const canvasSdr = convertFrameToCanvasSdr(frame);
64
64
  ```
65
65
 
66
- `convertFrameToCanvasSdr` draws through an sRGB `OffscreenCanvas` path and returns an RGBA `VideoFrame` marked as BT.709 SDR. It is a practical browser conversion helper, not a dedicated HDR tone-mapping engine.
66
+ `convertFrameToCanvasSdr` draws through an sRGB `OffscreenCanvas` path and returns an RGBA `VideoFrame` marked as RGB/full-range sRGB. It is a practical browser conversion helper, not a dedicated HDR tone-mapping engine.
67
67
 
68
68
  ## Supported Planar Formats
69
69
 
package/dist/index.d.ts CHANGED
@@ -53,7 +53,7 @@ export type CanvasSdrResult = {
53
53
  inspection: FrameColorInspection;
54
54
  colorSpace: PredefinedColorSpace;
55
55
  };
56
- export type PlanarResizeAlgorithm = 'nearest' | 'bilinear';
56
+ export type PlanarResizeAlgorithm = 'nearest' | 'bilinear' | 'lanczos3';
57
57
  export type ResizeFramePlanarOptions = {
58
58
  width: number;
59
59
  height: number;
@@ -87,4 +87,5 @@ export declare function resizeFrameWithCanvas(frame: VideoFrame, options: Resize
87
87
  export declare function convertFrameToCanvasSdr(frame: VideoFrame): CanvasSdrResult;
88
88
  export declare function resizeFramePlanar(frame: VideoFrame, options: ResizeFramePlanarOptions): Promise<ResizeFramePlanarResult>;
89
89
  export declare function sdrVideoColorSpaceInit(): VideoColorSpaceInit;
90
+ export declare function canvasVideoColorSpaceInit(colorSpace: PredefinedColorSpace): VideoColorSpaceInit;
90
91
  //# 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
@@ -95,10 +95,7 @@ export function resizeFrameWithCanvas(frame, options) {
95
95
  context.imageSmoothingEnabled = true;
96
96
  context.imageSmoothingQuality = options.imageSmoothingQuality ?? 'high';
97
97
  context.drawImage(frame, 0, 0, options.width, options.height);
98
- const init = { timestamp: frame.timestamp };
99
- if (frame.duration !== null)
100
- init.duration = frame.duration;
101
- const resized = new VideoFrame(canvas, init);
98
+ const resized = makeFrameFromCanvasPixels(canvas, context, frame, colorSpace);
102
99
  return {
103
100
  frame: resized,
104
101
  inspection: inspectFrame(resized),
@@ -106,30 +103,34 @@ export function resizeFrameWithCanvas(frame, options) {
106
103
  };
107
104
  }
108
105
  export function convertFrameToCanvasSdr(frame) {
106
+ const colorSpace = 'srgb';
109
107
  const canvas = new OffscreenCanvas(frame.displayWidth, frame.displayHeight);
110
- const context = canvas.getContext('2d', { colorSpace: 'srgb' });
108
+ const context = canvas.getContext('2d', { colorSpace });
111
109
  if (!context)
112
110
  throw new Error('Could not create 2D canvas context');
113
111
  context.drawImage(frame, 0, 0);
114
- const image = context.getImageData(0, 0, canvas.width, canvas.height);
112
+ const converted = makeFrameFromCanvasPixels(canvas, context, frame, colorSpace);
113
+ return {
114
+ frame: converted,
115
+ inspection: inspectFrame(converted),
116
+ colorSpace,
117
+ };
118
+ }
119
+ function makeFrameFromCanvasPixels(canvas, context, source, colorSpace) {
120
+ const image = context.getImageData(0, 0, canvas.width, canvas.height, { colorSpace });
115
121
  const init = {
116
122
  format: 'RGBA',
117
123
  codedWidth: canvas.width,
118
124
  codedHeight: canvas.height,
119
125
  displayWidth: canvas.width,
120
126
  displayHeight: canvas.height,
121
- timestamp: frame.timestamp,
127
+ timestamp: source.timestamp,
122
128
  layout: [{ offset: 0, stride: canvas.width * 4 }],
123
- colorSpace: sdrVideoColorSpaceInit(),
124
- };
125
- if (frame.duration !== null)
126
- init.duration = frame.duration;
127
- const converted = new VideoFrame(image.data, init);
128
- return {
129
- frame: converted,
130
- inspection: inspectFrame(converted),
131
- colorSpace: 'srgb',
129
+ colorSpace: canvasVideoColorSpaceInit(colorSpace),
132
130
  };
131
+ if (source.duration !== null)
132
+ init.duration = source.duration;
133
+ return new VideoFrame(image.data, init);
133
134
  }
134
135
  export async function resizeFramePlanar(frame, options) {
135
136
  const sourceFormat = frame.format;
@@ -157,7 +158,7 @@ export async function resizeFramePlanar(frame, options) {
157
158
  const sourceLayout = await frame.copyTo(source, { rect: sourceRect });
158
159
  const destinationLayout = makeDestinationLayout(destinationDescriptor, options.width, options.height);
159
160
  const destination = new Uint8Array(allocationFromLayout(destinationLayout, destinationDescriptor, options.width, options.height));
160
- const algorithm = options.algorithm ?? 'bilinear';
161
+ const algorithm = options.algorithm ?? 'lanczos3';
161
162
  for (let planeIndex = 0; planeIndex < destinationDescriptor.planes.length; planeIndex++) {
162
163
  const sourcePlaneIndex = sourcePlaneIndexForDestinationPlane(sourceDescriptor, destinationDescriptor, planeIndex);
163
164
  const sourcePlane = sourceDescriptor.planes[sourcePlaneIndex];
@@ -256,6 +257,18 @@ function sampleBilinear(options, x, y, component) {
256
257
  + c * (1 - tx) * ty
257
258
  + d * tx * ty);
258
259
  }
260
+ function lanczosWeight(distance, radius) {
261
+ const absoluteDistance = Math.abs(distance);
262
+ if (absoluteDistance === 0)
263
+ return 1;
264
+ if (absoluteDistance >= radius)
265
+ return 0;
266
+ return sinc(absoluteDistance) * sinc(absoluteDistance / radius);
267
+ }
268
+ function sinc(value) {
269
+ const angle = Math.PI * value;
270
+ return Math.sin(angle) / angle;
271
+ }
259
272
  function readSample(data, layout, x, y, bytesPerSample, samplesPerPixel, component) {
260
273
  const offset = layout.offset + y * layout.stride + (x * samplesPerPixel + component) * bytesPerSample;
261
274
  return bytesPerSample === 1 ? data[offset] : data[offset] | (data[offset + 1] << 8);
@@ -270,44 +283,116 @@ function convertPlane(options) {
270
283
  if (options.sourceSamplesPerPixel !== options.destinationSamplesPerPixel && options.destinationSamplesPerPixel !== 1) {
271
284
  throw new Error('Planar conversion does not support planar-to-packed conversion');
272
285
  }
286
+ if (options.algorithm === 'lanczos3') {
287
+ convertPlaneLanczos3(options);
288
+ return;
289
+ }
273
290
  for (let y = 0; y < options.destinationHeight; y++) {
274
291
  const sourceY = mapPixelCenter(y, options.destinationHeight, options.sourceHeight);
275
292
  for (let x = 0; x < options.destinationWidth; x++) {
276
293
  const sourceX = mapPixelCenter(x, options.destinationWidth, options.sourceWidth);
294
+ const samplingOptions = {
295
+ source: options.source,
296
+ sourceLayout: options.sourceLayout,
297
+ sourceWidth: options.sourceWidth,
298
+ sourceHeight: options.sourceHeight,
299
+ destinationLayout: options.destinationLayout,
300
+ destinationWidth: options.destinationWidth,
301
+ destinationHeight: options.destinationHeight,
302
+ bytesPerSample: options.sourceBytesPerSample,
303
+ samplesPerPixel: options.sourceSamplesPerPixel,
304
+ algorithm: options.algorithm,
305
+ };
277
306
  for (let component = 0; component < options.destinationSamplesPerPixel; component++) {
278
307
  const sourceComponent = options.sourceSamplesPerPixel === options.destinationSamplesPerPixel
279
308
  ? component
280
309
  : options.sourceComponent;
281
- const value = options.algorithm === 'nearest'
282
- ? sampleNearest({
283
- source: options.source,
284
- sourceLayout: options.sourceLayout,
285
- sourceWidth: options.sourceWidth,
286
- sourceHeight: options.sourceHeight,
287
- destinationLayout: options.destinationLayout,
288
- destinationWidth: options.destinationWidth,
289
- destinationHeight: options.destinationHeight,
290
- bytesPerSample: options.sourceBytesPerSample,
291
- samplesPerPixel: options.sourceSamplesPerPixel,
292
- algorithm: options.algorithm,
293
- }, sourceX, sourceY, sourceComponent)
294
- : sampleBilinear({
295
- source: options.source,
296
- sourceLayout: options.sourceLayout,
297
- sourceWidth: options.sourceWidth,
298
- sourceHeight: options.sourceHeight,
299
- destinationLayout: options.destinationLayout,
300
- destinationWidth: options.destinationWidth,
301
- destinationHeight: options.destinationHeight,
302
- bytesPerSample: options.sourceBytesPerSample,
303
- samplesPerPixel: options.sourceSamplesPerPixel,
304
- algorithm: options.algorithm,
305
- }, sourceX, sourceY, sourceComponent);
310
+ const value = samplePlane(samplingOptions, sourceX, sourceY, sourceComponent);
306
311
  writeSample(options.destination, options.destinationLayout, x, y, options.destinationBytesPerSample, options.destinationSamplesPerPixel, component, convertSampleBitDepth(value, options.sourceBitDepth, options.destinationBitDepth));
307
312
  }
308
313
  }
309
314
  }
310
315
  }
316
+ function samplePlane(options, x, y, component) {
317
+ if (options.algorithm === 'nearest')
318
+ return sampleNearest(options, x, y, component);
319
+ return sampleBilinear(options, x, y, component);
320
+ }
321
+ function convertPlaneLanczos3(options) {
322
+ const horizontal = buildLanczosKernelTable(options.sourceWidth, options.destinationWidth, 3);
323
+ const vertical = buildLanczosKernelTable(options.sourceHeight, options.destinationHeight, 3);
324
+ const intermediate = new Float32Array(options.destinationWidth * options.sourceHeight);
325
+ for (let component = 0; component < options.destinationSamplesPerPixel; component++) {
326
+ const sourceComponent = options.sourceSamplesPerPixel === options.destinationSamplesPerPixel
327
+ ? component
328
+ : options.sourceComponent;
329
+ for (let y = 0; y < options.sourceHeight; y++) {
330
+ const rowOffset = y * options.destinationWidth;
331
+ for (let x = 0; x < options.destinationWidth; x++) {
332
+ const start = horizontal.offsets[x];
333
+ const count = horizontal.counts[x];
334
+ let value = 0;
335
+ for (let kernelIndex = 0; kernelIndex < count; kernelIndex++) {
336
+ value += readSample(options.source, options.sourceLayout, horizontal.indices[start + kernelIndex], y, options.sourceBytesPerSample, options.sourceSamplesPerPixel, sourceComponent) * horizontal.weights[start + kernelIndex];
337
+ }
338
+ intermediate[rowOffset + x] = value;
339
+ }
340
+ }
341
+ for (let y = 0; y < options.destinationHeight; y++) {
342
+ const start = vertical.offsets[y];
343
+ const count = vertical.counts[y];
344
+ for (let x = 0; x < options.destinationWidth; x++) {
345
+ let value = 0;
346
+ for (let kernelIndex = 0; kernelIndex < count; kernelIndex++) {
347
+ value += intermediate[vertical.indices[start + kernelIndex] * options.destinationWidth + x]
348
+ * vertical.weights[start + kernelIndex];
349
+ }
350
+ writeSample(options.destination, options.destinationLayout, x, y, options.destinationBytesPerSample, options.destinationSamplesPerPixel, component, convertSampleBitDepth(Math.round(value), options.sourceBitDepth, options.destinationBitDepth));
351
+ }
352
+ }
353
+ }
354
+ }
355
+ function buildLanczosKernelTable(sourceSize, destinationSize, radius) {
356
+ const scale = destinationSize / sourceSize;
357
+ const filterScale = Math.min(1, scale);
358
+ const sourceRadius = Math.ceil(radius / filterScale);
359
+ const offsets = new Int32Array(destinationSize);
360
+ const counts = new Int32Array(destinationSize);
361
+ const indices = [];
362
+ const weights = [];
363
+ for (let destination = 0; destination < destinationSize; destination++) {
364
+ const sourceCenter = mapPixelCenter(destination, destinationSize, sourceSize);
365
+ const left = Math.ceil(sourceCenter - sourceRadius);
366
+ const right = Math.floor(sourceCenter + sourceRadius);
367
+ offsets[destination] = indices.length;
368
+ let weightTotal = 0;
369
+ for (let source = left; source <= right; source++) {
370
+ const weight = lanczosWeight((sourceCenter - source) * filterScale, radius);
371
+ if (weight === 0)
372
+ continue;
373
+ indices.push(clamp(source, 0, sourceSize - 1));
374
+ weights.push(weight);
375
+ weightTotal += weight;
376
+ }
377
+ const start = offsets[destination];
378
+ counts[destination] = indices.length - start;
379
+ if (weightTotal === 0) {
380
+ indices.push(clamp(Math.round(sourceCenter), 0, sourceSize - 1));
381
+ weights.push(1);
382
+ counts[destination] = 1;
383
+ continue;
384
+ }
385
+ for (let index = start; index < indices.length; index++) {
386
+ weights[index] /= weightTotal;
387
+ }
388
+ }
389
+ return {
390
+ offsets,
391
+ counts,
392
+ indices: Int32Array.from(indices),
393
+ weights: Float32Array.from(weights),
394
+ };
395
+ }
311
396
  function convertSampleBitDepth(value, sourceBitDepth, destinationBitDepth) {
312
397
  const sourceMax = maxSampleValue(sourceBitDepth);
313
398
  const destinationMax = maxSampleValue(destinationBitDepth);
@@ -372,11 +457,22 @@ function videoColorSpaceInit(frame) {
372
457
  };
373
458
  }
374
459
  export function sdrVideoColorSpaceInit() {
460
+ return canvasVideoColorSpaceInit('srgb');
461
+ }
462
+ export function canvasVideoColorSpaceInit(colorSpace) {
463
+ if (colorSpace === 'display-p3') {
464
+ return {
465
+ primaries: 'smpte432',
466
+ transfer: 'iec61966-2-1',
467
+ matrix: 'rgb',
468
+ fullRange: true,
469
+ };
470
+ }
375
471
  return {
376
472
  primaries: 'bt709',
377
- transfer: 'bt709',
378
- matrix: 'bt709',
379
- fullRange: false,
473
+ transfer: 'iec61966-2-1',
474
+ matrix: 'rgb',
475
+ fullRange: true,
380
476
  };
381
477
  }
382
478
  //# sourceMappingURL=index.js.map
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@browser-mc/webcodecs-color",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",