schema_version: 7.0
type: consumer
identifier: decklink
title: Blackmagic Design DeckLink Output
version: 2
copyright: Copyright (C) 2010-2018 Meltytech, LLC
license: LGPL
language: en
creator: Dan Dennedy
tags:
  - Audio
  - Video
description: >
  Output audio and video using Blackmagic Design DeckLink SDI or Intensity
  HDMI cards.
notes: >
  Please ensure that you use a MLT profile that is compatible with a broadcast
  standard which the card you are using supports.
bugs:
  - Only internal keying is supported at this time.
  - Only 8-bit Y'CbCr or RGBA (key) is supported at this time.
parameters:
  - identifier: resource
    argument: yes
    title: Card
    type: integer
    readonly: no
    required: no
    mutable: no
    default: 0
    minimum: 0
    widget: spinner

  - identifier: preroll
    title: Pre-roll Count
    type: integer
    description: >
      This controls the amount of buffering in the DeckLink driver/library.
      Increase this if you get video tearing or choppy audio. However, as
      you increase the amount, you increase the risk of audio and video
      becoming out of synchronization.
    readonly: no
    required: no
    mutable: no
    default: 3
    minimum: 2
    unit: frames
    widget: spinner

  - identifier: keyer
    title: Enable Keyer
    type: integer
    description: >
      Keying is the process of compositing MLT output over a live SDI input.
      The alpha channel of the MLT video controls the transparent areas, and
      the keyer supports alpha-blending. You can not control the compositing
      rectangle. Rather, the entire MLT output overlays the entire video
      input. Therefore, you must use MLT's compositing services to control
      the size and position. The value 1 enables the internal keyer, the
      value 2 enables the external keyer, and the value 0 disables it.
    readonly: no
    required: no
    mutable: no
    default: 0
    minimum: 0
    maximum: 2

  - identifier: keyer_level
    title: Key Opacity
    type: float
    description: >
      This controls the level of blending between the key and the input video.
      1 is fully opaque and something near 0 is transparent. However, absolute
      0 is considered as "not supplied" and also fully opaque. 0.5 is an
      evenly balanced blending of the key and input video.
    readonly: no
    required: no
    mutable: no
    minimum: 0
    maximum: 1
    default: 1
    widget: slider

  - identifier: devices
    title: Number of devices
    type: integer
    readonly: yes
    minimum: 0

  - identifier: device.*
    title: Device model
    description: The model name of each device that provides output.
    type: string
    readonly: yes

  - identifier: sliced_swab
    title: Use sliced swab operation
    description: This option enables multithreaded parallel swab frame data operation
    type: boolean
    readonly: no
    minimum: 0
    maximum: 1
    default: 0
    widget: checkbox

  - identifier: terminate_on_pause
    title: Stop automatically
    type: boolean
    description: >
      Whether to stop playback at the end of the producer or when playback
      is paused.
    default: 0
    widget: checkbox
