VideoFrame: allocationSize() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Dedicated Web Workers.

The allocationSize() method of the VideoFrame interface returns the number of bytes required to hold the video as filtered by options passed into the method.

Syntax

js
allocationSize()
allocationSize(options)

Parameters

options Optional

An object containing the following:

rect Optional

The rectangle of pixels to copy from the VideoFrame. If unspecified the visibleRect will be used. This is in the format of a dictionary object containing:

  • x: The x-coordinate.
  • y: The y-coordinate.
  • width: The width of the frame.
  • height: The height of the frame.
layout Optional

A list containing the following values for each plane in the VideoFrame. Planes may not overlap. If unspecified the planes will be tightly packed:

offset

An integer representing the offset in bytes where the given plane begins.

stride

An integer representing the number of bytes, including padding, used by each row of the plane.

format Optional

A pixel format for the pixel data in the destination. Can be set to "RGBA", "RGBX", "BGRA", "BGRX". If unspecified, the format will be used.

colorSpace Optional

Specifies the color space of the pixel data in the destination. Can be set to "srgb" for the sRGB color space or "display-p3" for the display-p3 color space. Only applicable for RGB pixel formats. If unspecified, "srgb will be used.

Return value

An integer containing the number of bytes needed to hold the frame as specified by options.

Examples

In the following example the allocationSize is returned for the rectangle at top left with dimensions of 800 by 600.

js
const videoRect = {
  x: 0,
  y: 0,
  width: 800,
  height: 600,
};
let size = VideoFrame.allocationSize({ rect: videoRect });

Specifications

Specification
WebCodecs
# dom-videoframe-allocationsize

Browser compatibility

BCD tables only load in the browser