# cudacompositor

A CUDA based video compositing element.

## Example launch line

    gst-launch-1.0 cudacompositor name=c ! cudadownload ! autovideosink \
        videotestsrc ! video/x-raw,width=320,height=240 ! cudaupload ! c. \
        videotestsrc pattern=ball ! video/x-raw,width=100,height=100 ! cudaupload ! c.

## Hierarchy

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

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – Seungha Yang

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

Rank – none

Plugin – nvcodec

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink_%u`

    video/x-raw(memory:CUDAMemory):
             format: { I420, YV12, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420_10LE, I420_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE, Y42B, I422_10LE, I422_12LE, RGBP, BGRP, GBR, GBRA, GBR_10LE, GBR_12LE, GBR_16LE, VUYA }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – request

Direction – sink

Object type – GstCudaCompositorPad

### `src`

    video/x-raw(memory:CUDAMemory):
             format: { I420, YV12, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420_10LE, I420_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE, Y42B, I422_10LE, I422_12LE, RGBP, BGRP, GBR, GBRA, GBR_10LE, GBR_12LE, GBR_16LE, VUYA }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstAggregatorPad

## Properties

### cuda-device-id

    “cuda-device-id” gint

Set the GPU device to use for operations (-1 = auto)

Flags : Read / Write

Default value : -1

### ignore-inactive-pads

    “ignore-inactive-pads” gboolean

Avoid timing out waiting for inactive pads

Flags : Read / Write

Default value : false

The results of the search are