chromium/third_party/blink/renderer/modules/webcodecs/video_frame_copy_to_options.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 VideoFrameCopyToOptions {
  // The area to copy. If unspecified, the visible rect will be used. The coded
  // rect can be specified by passing frame.codedRect.
  DOMRectInit rect;

  // The layout of each plane in the buffer. This allows the offset and stride
  // of each plane to be specified. If unspecified, the planes will be tightly
  // packed. It is invalid to specify planes that overlap.
  sequence<PlaneLayout> layout;

  // The format to convert VideoFrame's pixel data to.
  // `layout` must agree with `format` in number of planes.
  [RuntimeEnabled=WebCodecsCopyToRGB]
  VideoPixelFormat format;

  [RuntimeEnabled=WebCodecsCopyToRGB]
  PredefinedColorSpace colorSpace; //  "srgb" or "display-p3"
};