# d3d11convert

This element resizes video frames and change color space. By default the element will try to negotiate to the same size on the source and sinkpad so that no scaling is needed. It is therefore safe to insert this element in a pipeline to get more robust behaviour without any cost if no scaling is needed.

## Example launch line

    gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12 ! d3d11upload ! d3d11convert ! d3d11videosink

This will output a test video (generated in NV12 format) in a video window. If the video sink selected does not support NV12 d3d11convert will automatically convert the video to a format understood by the video sink.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstD3D11BaseFilter
                            ╰──GstD3D11BaseConvert
                                ╰──d3d11convert

## Implemented interfaces

    GstVideoDirection

## Factory details

Authors: – Seungha Yang , Jeongki Kim

Classification: – `Filter/Converter/Scaler/Effect/Video/Hardware`

Rank – none

Plugin – d3d11

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw(memory:D3D11Memory):
             format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, 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, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 16384 ]
             height: [ 1, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]

    video/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):
             format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, 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, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 16384 ]
             height: [ 1, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw(memory:D3D11Memory):
             format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, 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, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 16384 ]
             height: [ 1, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]

    video/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):
             format: { RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, 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, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 16384 ]
             height: [ 1, 16384 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### add-borders

    “add-borders” gboolean

Add borders if necessary to keep the display aspect ratio

Flags : Read / Write

Default value : true

Since : 1.20

### border-color

    “border-color” guint64

Border color to use in ARGB64 format

Flags : Read / Write

Default value : 18446462598732840960

Since : 1.22

### dest-alpha-mode

    “dest-alpha-mode” GstD3D11AlphaMode *

Alpha mode to be applied to output stream. In case of "premultiplied", straight to premultiplied alpha conversion will be performed

Flags : Read / Write

Default value : unspecified (0)

Since : 1.24

### fov

    “fov” gfloat

Field of view angle in degrees

Flags : Read / Write

Default value : 90

Since : 1.24

### gamma-mode

    “gamma-mode” GstVideoGammaMode *

Gamma conversion mode

Flags : Read / Write

Default value : none (0)

Since : 1.22

### msaa

    “msaa” GstD3D11MSAAMode *

MSAA (Multi-Sampling Anti-Aliasing) level

Flags : Read / Write

Default value : disabled (0)

Since : 1.24

### ortho

    “ortho” gboolean

Use orthographic projection

Flags : Read / Write

Default value : false

Since : 1.24

### primaries-mode

    “primaries-mode” GstVideoPrimariesMode *

Primaries conversion mode

Flags : Read / Write

Default value : none (0)

Since : 1.22

### rotation-x

    “rotation-x” gfloat

x-axis rotation angle to be applied prior to "video-direction"

Flags : Read / Write

Default value : 0

Since : 1.24

### rotation-y

    “rotation-y” gfloat

y-axis rotation angle to be applied prior to "video-direction"

Flags : Read / Write

Default value : 0

Since : 1.24

### rotation-z

    “rotation-z” gfloat

z-axis rotation angle to be applied prior to "video-direction"

Flags : Read / Write

Default value : 0

Since : 1.24

### scale-x

    “scale-x” gfloat

Scale multiplier for x-axis

Flags : Read / Write

Default value : 1

Since : 1.24

### scale-y

    “scale-y” gfloat

Scale multiplier for y-axis

Flags : Read / Write

Default value : 1

Since : 1.24

### src-alpha-mode

    “src-alpha-mode” GstD3D11AlphaMode *

Input stream's applied alpha mode. In case of "premultiplied", premultiplied to straight alpha conversion will be performed

Flags : Read / Write

Default value : unspecified (0)

Since : 1.24

The results of the search are