# d3d12compositor

A Direct3D12 based video compositing element.

## Example launch line

    gst-launch-1.0 d3d12compositor name=c ! d3d12videosink \
        videotestsrc ! video/x-raw,width=320,height=240 ! c. \
        videotestsrc pattern=ball ! video/x-raw,width=100,height=100 ! c.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstAggregator
                        ╰──GstVideoAggregator
                            ╰──d3d12compositor

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Seungha Yang

Classification: – `Filter/Editor/Video/Compositor`

Rank – none

Plugin – d3d12

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink_%u`

    video/x-raw(memory:D3D12Memory):
             format: { RGBA64_LE, RGB10A2_LE, Y410, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    video/x-raw:
             format: { RGBA64_LE, RGB10A2_LE, Y410, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, NV12, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, GBR_16LE, Y444_12LE, GBR_12LE, I422_12LE, I420_12LE, Y444_10LE, GBR_10LE, I422_10LE, I420_10LE, Y444, BGRP, GBR, RGBP, xBGR, xRGB, Y42B, NV21, I420, YV12, GRAY16_LE, GRAY8 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – request

Direction – sink

Object type – GstD3D12CompositorPad

### `src`

    video/x-raw(memory:D3D12Memory):
             format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, Y42B, Y444, Y444_16LE, GRAY8, GRAY16_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    video/x-raw:
             format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, Y42B, Y444, Y444_16LE, GRAY8, GRAY16_LE }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstAggregatorPad

## Properties

### adapter

    “adapter” gint

Adapter index for creating device (-1 for default)

Flags : Read / Write

Default value : -1

### background

    “background” D3d12compositor-background *

Background type

Flags : Read / Write

Default value : checker (0)

### ignore-inactive-pads

    “ignore-inactive-pads” gboolean

Avoid timing out waiting for inactive pads

Flags : Read / Write

Default value : false

## Named constants

### D3d12compositor-background

#### Members

`checker` (0) – Checker pattern
`black` (1) – Black
`white` (2) – White
`transparent` (3) – Transparent Background to enable further compositing

The results of the search are