vaapipostproc: GStreamer VA-API Plugins 1.0 Plugins Reference Manual

## vaapipostproc vaapipostproc — A VA-API base video postprocessing filter |

## Properties

gfloat | brightness | Read / Write
gfloat | contrast | Read / Write
GstVaapiDeinterlaceMethod | deinterlace-method | Read / Write
GstVaapiDeinterlaceMode | deinterlace-mode | Read / Write
gfloat | denoise | Read / Write
gboolean | force-aspect-ratio | Read / Write
GstVideoFormat | format | Read / Write
guint | height | Read / Write
gfloat | hue | Read / Write
gfloat | saturation | Read / Write
GstVaapiScaleMethod | scale-method | Read / Write
gfloat | sharpen | Read / Write
gboolean | skin-tone-enhancement | Read / Write
guint | width | Read / Write

## Types and Values

enum | GstVaapiDeinterlaceMode

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseTransform
                        ╰── GstVaapiPostproc

## Description

vaapipostproc consists in various postprocessing algorithms to be applied to VA surfaces.

### Example launch line

    1
    gst-launch-1.0 videotestsrc ! vaapipostproc ! video/x-raw width=1920, height=1080 ! vaapisink

## Synopsis

### Element Information

plugin | vaapi
author | Gwenole Beauchesne <gwenole.beauchesne@intel.com>
class | Filter/Converter/Video;Filter/Converter/Video/Scaler;Filter/Effect/Video;Filter/Effect/Video/Deinterlace

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, P010_10LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }
| video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }

name | src
direction | source
presence | always
details | video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, P010_10LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive
| video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
| video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }
| video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Functions

## Types and Values

### enum GstVaapiDeinterlaceMode

#### Members

GST_VAAPI_DEINTERLACE_MODE_AUTO | Auto detect needs for deinterlacing. |
GST_VAAPI_DEINTERLACE_MODE_INTERLACED | Force deinterlacing. |
GST_VAAPI_DEINTERLACE_MODE_DISABLED | Never perform deinterlacing. |

## Property Details

### The `“brightness”` property

      “brightness”               gfloat

The color brightness, expressed as a float value. Range is -1.0 to 1.0. Default value is 0.0 and represents no modification.

Flags: Read / Write

Allowed values: [-1,1]

Default value: 0

### The `“contrast”` property

      “contrast”                 gfloat

The color contrast, expressed as a float value. Range is 0.0 to 2.0. Default value is 1.0 and represents no modification.

Flags: Read / Write

Allowed values: [0,2]

Default value: 1

### The `“deinterlace-method”` property

      “deinterlace-method”       GstVaapiDeinterlaceMethod

This selects the deinterlacing method to apply.

Flags: Read / Write

Default value: Bob deinterlacing

### The `“deinterlace-mode”` property

      “deinterlace-mode”         GstVaapiDeinterlaceMode

This selects whether the deinterlacing should always be applied or if they should only be applied on content that has the "interlaced" flag on the caps.

Flags: Read / Write

Default value: Auto detection

### The `“denoise”` property

      “denoise”                  gfloat

The level of noise reduction to apply.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0

### The `“force-aspect-ratio”` property

      “force-aspect-ratio”       gboolean

When enabled, scaling respects video aspect ratio; when disabled, the video is distorted to fit the width and height properties.

Flags: Read / Write

Default value: TRUE

### The `“format”` property

      “format”                   GstVideoFormat

The forced output pixel format, expressed as a GstVideoFormat.

Flags: Read / Write

Default value: GST_VIDEO_FORMAT_UNKNOWN

### The `“height”` property

      “height”                   guint

The forced output height in pixels. If set to zero, the height is calculated from the width if aspect ration is preserved, or inherited from the sink caps height

Flags: Read / Write

Allowed values: <= G_MAXINT

Default value: 0

### The `“hue”` property

      “hue”                      gfloat

The color hue, expressed as a float value. Range is -180.0 to 180.0. Default value is 0.0 and represents no modification.

Flags: Read / Write

Allowed values: [-180,180]

Default value: 0

### The `“saturation”` property

      “saturation”               gfloat

The color saturation, expressed as a float value. Range is 0.0 to 2.0. Default value is 1.0 and represents no modification.

Flags: Read / Write

Allowed values: [0,2]

Default value: 1

### The `“scale-method”` property

      “scale-method”             GstVaapiScaleMethod

The scaling method to use, expressed as an enum value. See GstVaapiScaleMethod.

Flags: Read / Write

Default value: Default scaling mode

### The `“sharpen”` property

      “sharpen”                  gfloat

The level of sharpening to apply for positive values, or the level of blurring for negative values.

Flags: Read / Write

Allowed values: [-1,1]

Default value: 0

### The `“skin-tone-enhancement”` property

      “skin-tone-enhancement”    gboolean

Apply the skin tone enhancement algorithm.

Flags: Read / Write

Default value: FALSE

### The `“width”` property

      “width”                    guint

The forced output width in pixels. If set to zero, the width is calculated from the height if aspect ration is preserved, or inherited from the sink caps width

Flags: Read / Write

Allowed values: <= G_MAXINT

Default value: 0