# gltransformation

Transforms video on the GPU.

## Examples

     gst-launch-1.0 gltestsrc ! gltransformation rotation-z=45 ! glimagesink

A pipeline to rotate by 45 degrees

     gst-launch-1.0 gltestsrc ! gltransformation translation-x=0.5 ! glimagesink

Translate the video by 0.5

     gst-launch-1.0 gltestsrc ! gltransformation scale-y=0.5 scale-x=0.5 ! glimagesink

Resize the video by 0.5

     gst-launch-1.0 gltestsrc ! gltransformation rotation-x=-45 ortho=True ! glimagesink

Rotate the video around the X-Axis by -45° with an orthographic projection

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstGLBaseFilter
                            ╰──GstGLFilter
                                ╰──gltransformation

## Factory details

Authors: – Lubosz Sarnecki Matthew Waters

Classification: – `Filter/Effect/Video`

Rank – none

Plugin – opengl

Package – GStreamer Base Plug-ins

## Pad Templates

### `sink`

    video/x-raw(ANY):
             format: RGBA
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     texture-target: 2D

    video/x-raw(memory:GLMemory):
             format: RGBA
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     texture-target: 2D

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw(memory:GLMemory):
             format: RGBA
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     texture-target: 2D

    video/x-raw(ANY):
             format: RGBA
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]
     texture-target: 2D

Presence – always

Direction – src

Object type – GstPad

## Properties

### fov

    “fov” gfloat

Field of view angle in degrees

Flags : Read / Write

Default value : 90

### mvp-matrix

    “mvp-matrix” GrapheneMatrix *

The final Graphene 4x4 Matrix for transformation

Flags : Read / Write

### ortho

    “ortho” gboolean

Use orthographic projection

Flags : Read / Write

Default value : false

### pivot-x

    “pivot-x” gfloat

Rotation pivot point X coordinate, where 0 is the center, -1 the left border, +1 the right border and <-1, >1 outside.

Flags : Read / Write

Default value : 0

### pivot-y

    “pivot-y” gfloat

Rotation pivot point X coordinate, where 0 is the center, -1 the left border, +1 the right border and <-1, >1 outside.

Flags : Read / Write

Default value : 0

### pivot-z

    “pivot-z” gfloat

Relevant for rotation in 3D space. You look into the negative Z axis direction

Flags : Read / Write

Default value : 0

### rotation-x

    “rotation-x” gfloat

Rotates the video around the X-Axis in degrees.

Flags : Read / Write

Default value : 0

### rotation-y

    “rotation-y” gfloat

Rotates the video around the Y-Axis in degrees.

Flags : Read / Write

Default value : 0

### rotation-z

    “rotation-z” gfloat

Rotates the video around the Z-Axis in degrees.

Flags : Read / Write

Default value : 0

### scale-x

    “scale-x” gfloat

Scale multiplier for the X-Axis.

Flags : Read / Write

Default value : 1

### scale-y

    “scale-y” gfloat

Scale multiplier for the Y-Axis.

Flags : Read / Write

Default value : 1

### translation-x

    “translation-x” gfloat

Translates the video at the X-Axis, in universal [0-1] coordinate.

Flags : Read / Write

Default value : 0

### translation-y

    “translation-y” gfloat

Translates the video at the Y-Axis, in universal [0-1] coordinate.

Flags : Read / Write

Default value : 0

### translation-z

    “translation-z” gfloat

Translates the video at the Z-Axis, in universal [0-1] coordinate.

Flags : Read / Write

Default value : 0

The results of the search are