chromium/third_party/blink/renderer/modules/webcodecs/video_frame_buffer_init.idl

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://github.com/WICG/web-codecs

dictionary VideoFrameBufferInit {
  required VideoPixelFormat format;

  // Default layout is tightly-packed.
  sequence<PlaneLayout> layout;

  required [EnforceRange] long long timestamp;  // microseconds
  [EnforceRange] unsigned long long duration;  // microseconds

  required [EnforceRange] unsigned long codedWidth;
  required [EnforceRange] unsigned long codedHeight;

  DOMRectInit visibleRect;

  [EnforceRange] unsigned long displayWidth;
  [EnforceRange] unsigned long displayHeight;

  VideoColorSpaceInit colorSpace;

  sequence<ArrayBuffer> transfer = [];
};