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

// Copyright 2020 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/w3c/webcodecs

dictionary VideoEncoderEncodeOptions {
  boolean keyFrame = false;
  VideoEncoderEncodeOptionsForVp9 vp9;
  VideoEncoderEncodeOptionsForAv1 av1;
  VideoEncoderEncodeOptionsForAvc avc;

  // Buffers that can be used for inter-frame prediction while encoding a given
  // frame. If this array is empty we basically ask for an intra-frame.
  sequence<VideoEncoderBuffer> referenceBuffers;

  // A buffer where the encoded frame should be saved after encoding.
  VideoEncoderBuffer updateBuffer;
};