# vacompositor

A video compositing element that uses VA-API VPP to accelerate the compose, blending, and scaling of multiple inputs into one output.

## Example launch line

     gst-launch-1.0 videotestsrc                                 \
       ! "video/x-raw,format=(string)NV12,width=640,height=480"  \
       ! tee name=testsrc ! queue ! vacompositor name=comp       \
         sink_1::width=160 sink_1::height=120 sink_1::xpos=480   \
         sink_1::ypos=360 sink_1::alpha=0.75                     \
       ! autovideosink testsrc. ! queue ! comp.

## Hierarchy

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

## Implemented interfaces

    GstChildProxy

## Factory details

Authors: – U. Artie Eoff

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

Rank – none

Plugin – va

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink_%u`

    video/x-raw(memory:VAMemory):
             format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    video/x-raw:
             format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – request

Direction – sink

Object type – GstVaCompositorPad

### `src`

    video/x-raw(memory:VAMemory):
             format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
    video/x-raw:
             format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstAggregatorPad

## Properties

### device-path

    “device-path” gchararray

It shows the DRM device path used for the VA operation, if any.

Flags : Read

Default value : NULL

### interpolation-method

    “interpolation-method” GstVaInterpolationMethod *

Sets the interpolation method algorithm to use when resizing.

Flags : Read / Write

Default value : default (0)

Since : 1.26

### scale-method

    “scale-method” GstVaScaleMethod *

Sets the scale method algorithm to use when resizing.

Flags : Read / Write

Default value : default (0)

The results of the search are