## GstVideoAffineTransformationMeta

GstVideoAffineTransformationMeta — GstMeta for video affine transformation

## Functions

gboolean | (*GstVideoAffineTransformationGetMatrix) ()
GstVideoAffineTransformationMeta * | gst_buffer_add_video_affine_transformation_meta ()
#define | gst_buffer_get_video_affine_transformation_meta()
void | gst_video_affine_transformation_meta_apply_matrix ()

## Types and Values

struct | GstVideoAffineTransformationMeta
#define | GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META

## Includes

    #include <gst/video/video.h>

## Description

## Functions

### GstVideoAffineTransformationGetMatrix ()

    gboolean
    (*GstVideoAffineTransformationGetMatrix)
                                   (GstVideoAffineTransformationMeta *meta,
                                    gfloat *matrix);

### gst_buffer_add_video_affine_transformation_meta ()

    GstVideoAffineTransformationMeta *
    gst_buffer_add_video_affine_transformation_meta
                                   (GstBuffer *buffer);

Attaches GstVideoAffineTransformationMeta metadata to `buffer` with the given parameters.

#### Parameters

buffer | a GstBuffer |

#### Returns

the GstVideoAffineTransformationMeta on `buffer` .

[transfer none]

Since: 1.8

### gst_buffer_get_video_affine_transformation_meta()

    #define             gst_buffer_get_video_affine_transformation_meta(b)

### gst_video_affine_transformation_meta_apply_matrix ()

    void
    gst_video_affine_transformation_meta_apply_matrix
                                   (GstVideoAffineTransformationMeta *meta,
                                    const gfloat matrix[16]);

Apply a transformation using the given 4x4 transformation matrix. Performs the multiplication, meta->matrix X matrix.

#### Parameters

meta | a GstVideoAffineTransformationMeta |
matrix | a 4x4 transformation matrix to be applied. | [array fixed-size=16]

Since: 1.8

## Types and Values

### struct GstVideoAffineTransformationMeta

    struct GstVideoAffineTransformationMeta {
      GstMeta meta;

      gfloat matrix[16];
    };

Extra buffer metadata for performing an affine transformation using a 4x4 matrix. The transformation matrix can be composed with `gst_video_affine_transformation_meta_apply_matrix()`.

The vertices operated on are all in the range 0 to 1, not in Normalized Device Coordinates (-1 to +1). Transforming points in this space are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate system with the x-axis moving horizontally (positive values to the right), the y-axis moving vertically (positive values up the screen) and the z-axis perpendicular to the screen (positive values into the screen).

#### Members

GstMeta `meta`; | parent GstMeta |
gfloat `matrix`[16]; | the column-major 4x4 transformation matrix |

Since: 1.8

### GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META

    #define GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META "GstBufferPoolOptionVideoAffineTransformation"