# d3d12fisheyedewarp

A Direct3D12-based fisheye dewarping element

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstD3D12BaseFilter
                            ╰──d3d12fisheyedewarp

## Factory details

Authors: – Seungha Yang <seungha@centricular.com></seungha@centricular.com>

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

Rank – none

Plugin – d3d12

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw(memory:D3D12Memory):
             format: { RGBA64_LE, BGRA64_LE, Y416_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y216_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, ARGB64_LE, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, A444_16LE, A444_12LE, A444_10LE, A444, A422_16LE, A422_12LE, A422_10LE, A422, A420_16LE, A420_12LE, A420_10LE, A420, AV12, 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, NV24, NV16, NV61, NV21, I420, YV12, Y41B, YUV9, YVU9, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

    video/x-raw(memory:D3D12Memory, meta:GstVideoOverlayComposition):
             format: { RGBA64_LE, BGRA64_LE, Y416_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y216_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, ARGB64_LE, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, A444_16LE, A444_12LE, A444_10LE, A444, A422_16LE, A422_12LE, A422_10LE, A422, A420_16LE, A420_12LE, A420_10LE, A420, AV12, 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, NV24, NV16, NV61, NV21, I420, YV12, Y41B, YUV9, YVU9, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw(memory:D3D12Memory):
             format: { RGBA64_LE, BGRA64_LE, Y416_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y216_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, ARGB64_LE, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, A444_16LE, A444_12LE, A444_10LE, A444, A422_16LE, A422_12LE, A422_10LE, A422, A420_16LE, A420_12LE, A420_10LE, A420, AV12, 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, NV24, NV16, NV61, NV21, I420, YV12, Y41B, YUV9, YVU9, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

    video/x-raw(memory:D3D12Memory, meta:GstVideoOverlayComposition):
             format: { RGBA64_LE, BGRA64_LE, Y416_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y216_LE, Y212_LE, Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, YUY2, NV12, ARGB64_LE, AYUV64, GBRA_12LE, GBRA_10LE, AYUV, ABGR, ARGB, GBRA, Y444_16LE, A444_16LE, A444_12LE, A444_10LE, A444, A422_16LE, A422_12LE, A422_10LE, A422, A420_16LE, A420_12LE, A420_10LE, A420, AV12, 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, NV24, NV16, NV61, NV21, I420, YV12, Y41B, YUV9, YVU9, GRAY16_LE, GRAY8, v216, v210, r210, v308, IYU2, RGB, BGR, UYVY, VYUY, YVYU, RGB16, BGR16, RGB15, BGR15 }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### center-x

    “center-x” gdouble

Normalized X position of fisheye circle

Flags : Read / Write

Default value : 0.5

### center-y

    “center-y” gdouble

Normalized Y position of fisheye circle

Flags : Read / Write

Default value : 0.5

### fisheye-fov

    “fisheye-fov” gdouble

Fisheye image field-of-view angle, in degrees

Flags : Read / Write

Default value : 180

### horizontal-fov

    “horizontal-fov” gdouble

Horizontal field-of-view angle of output, in degrees; ignored in 'panorama' projection

Flags : Read / Write

Default value : 90

### inner-radius

    “inner-radius” gdouble

Normalized inner radius for cropping central area (0.0 = center, 1.0 = full crop). Only used in 'panorama' projection

Flags : Read / Write

Default value : 0.3

### projection-type

    “projection-type” D3d12fisheye-dewarp-projection-type *

Projection type to use

Flags : Read / Write

Default value : equirect (1)

### radius-x

    “radius-x” gdouble

Normalized horizontal radius of fisheye circle

Flags : Read / Write

Default value : 0.5

### radius-y

    “radius-y” gdouble

Normalized vertical radius of fisheye circle

Flags : Read / Write

Default value : 0.5

### roi-height

    “roi-height” gdouble

Normalized ROI height, in output image space

Flags : Read / Write

Default value : 1

### roi-width

    “roi-width” gdouble

Normalized ROI width, in output image space

Flags : Read / Write

Default value : 1

### roi-x

    “roi-x” gdouble

Normalized horizontal ROI offset (top-left), in output image space

Flags : Read / Write

Default value : 0

### roi-y

    “roi-y” gdouble

Normalized vertical ROI offset (top-left), in output image space

Flags : Read / Write

Default value : 0

### rotation-order

    “rotation-order” D3d12fisheye-dewarp-rotation-order *

Rotation axis order to apply, ignored in 'panorama' projection

Flags : Read / Write

Default value : zxy (4)

### rotation-space

    “rotation-space” D3d12fisheye-dewarp-rotation-space *

Controls whether rotations are applied in local (intrinsic, camera-relative) or world (extrinsic, fixed-axis) space

Flags : Read / Write

Default value : local (0)

### rotation-x

    “rotation-x” gdouble

Pitch (X-axis rotation) angle, in degrees; ignored in 'panorama' projection

Flags : Read / Write

Default value : 0

### rotation-y

    “rotation-y” gdouble

Yaw (Y-axis rotation) angle, in degrees; ignored in 'panorama' projection

Flags : Read / Write

Default value : 0

### rotation-z

    “rotation-z” gdouble

Roll (Z-axis rotation) angle, in degrees

Flags : Read / Write

Default value : 0

### vertical-fov

    “vertical-fov” gdouble

Vertical field-of-view angle of output, in degrees; ignored in 'panorama' projection

Flags : Read / Write

Default value : 90

### viewport-height

    “viewport-height” gdouble

Normalized viewport height

Flags : Read / Write

Default value : 1

### viewport-width

    “viewport-width” gdouble

Normalized viewport width

Flags : Read / Write

Default value : 1

### viewport-x

    “viewport-x” gdouble

Normalized top-left viewport X position

Flags : Read / Write

Default value : 0

### viewport-y

    “viewport-y” gdouble

Normalized top-left viewport Y position

Flags : Read / Write

Default value : 0

## Named constants

### D3d12fisheye-dewarp-projection-type

#### Members

`passthrough` (0) – Passthrough
`equirect` (1) – Equirectangular
`panorama` (2) – Panorama
`perspective` (3) – Perspective

Since : 1.28

### D3d12fisheye-dewarp-rotation-order

#### Members

`xyz` (0) – XYZ
`xzy` (1) – XZY
`yxz` (2) – YXZ
`yzx` (3) – YZX
`zxy` (4) – ZXY
`zyx` (5) – ZYX

Since : 1.28

### D3d12fisheye-dewarp-rotation-space

#### Members

`local` (0) – Local
`world` (1) – World

Since : 1.28

The results of the search are