deinterlace

deinterlace

Properties

GstDeinterlaceFields fields Read / Write
GstDeinterlaceMethods method Read / Write
GstDeinterlaceModes mode Read / Write
GstDeinterlaceFieldLayout tff Read / Write
gboolean drop-orphans Read / Write
gboolean ignore-obscure Read / Write
GstDeinterlaceLocking locking Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstDeinterlace

Implemented Interfaces

GstDeinterlace implements GstChildProxy.

Description

deinterlace deinterlaces interlaced video frames to progressive video frames. For this different algorithms can be selected which will be described later.

Example launch line

1
gst-launch-1.0 -v filesrc location=/path/to/file ! decodebin ! videoconvert ! deinterlace ! videoconvert ! autovideosink
This pipeline deinterlaces a video file with the default deinterlacing options.

Synopsis

Element Information

plugin

deinterlace

author

Martin Eikermann <meiker@upb.de>, Sebastian Dröge <sebastian.droege@collabora.co.uk>

class

Filter/Effect/Video/Deinterlace

Element Pads

name

sink

direction

sink

presence

always

details

video/x-raw, format=(string){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw(ANY), 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, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

name

src

direction

source

presence

always

details

video/x-raw, format=(string){ AYUV, ARGB, ABGR, RGBA, BGRA, Y444, xRGB, xBGR, RGBx, BGRx, RGB, BGR, YUY2, YVYU, UYVY, Y42B, I420, YV12, Y41B, NV12, NV21 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw(ANY), 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, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

Functions

Types and Values

struct GstDeinterlace

struct GstDeinterlace;

enum GstDeinterlaceFields

Members

GST_DEINTERLACE_ALL

   

GST_DEINTERLACE_TF

   

GST_DEINTERLACE_BF

   

GST_DEINTERLACE_FIELDS_AUTO

   

enum GstDeinterlaceLocking

Members

GST_DEINTERLACE_LOCKING_NONE

   

GST_DEINTERLACE_LOCKING_AUTO

   

GST_DEINTERLACE_LOCKING_ACTIVE

   

GST_DEINTERLACE_LOCKING_PASSIVE

   

enum GstDeinterlaceMethods

Members

GST_DEINTERLACE_TOMSMOCOMP

   

GST_DEINTERLACE_GREEDY_H

   

GST_DEINTERLACE_GREEDY_L

   

GST_DEINTERLACE_VFIR

   

GST_DEINTERLACE_LINEAR

   

GST_DEINTERLACE_LINEAR_BLEND

   

GST_DEINTERLACE_SCALER_BOB

   

GST_DEINTERLACE_WEAVE

   

GST_DEINTERLACE_WEAVE_TFF

   

GST_DEINTERLACE_WEAVE_BFF

   

enum GstDeinterlaceFieldLayout

Members

GST_DEINTERLACE_LAYOUT_AUTO

   

GST_DEINTERLACE_LAYOUT_TFF

   

GST_DEINTERLACE_LAYOUT_BFF

   

Property Details

The “fields” property

  “fields”                   GstDeinterlaceFields

This selects which fields should be output. If "all" is selected the output framerate will be double.

Flags: Read / Write

Default value: All fields


The “method” property

  “method”                   GstDeinterlaceMethods

Selects the different deinterlacing algorithms that can be used. These provide different quality and CPU usage.

Some methods provide parameters which can be set by getting the "method" child via the GstChildProxy interface and setting the appropiate properties on it.

  • tomsmocomp Motion Adaptive: Motion Search

  • greedyh Motion Adaptive: Advanced Detection

  • greedyl Motion Adaptive: Simple Detection

  • vfir Blur vertical

  • linear Linear interpolation

  • linearblend Linear interpolation in time domain. Any motion causes significant ghosting, so this method should not be used.

  • scalerbob Double lines

  • weave Weave. Bad quality, do not use.

  • weavetff Progressive: Top Field First. Bad quality, do not use.

  • weavebff Progressive: Bottom Field First. Bad quality, do not use.

Flags: Read / Write

Default value: Linear


The “mode” property

  “mode”                     GstDeinterlaceModes

This selects whether the deinterlacing methods 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 (best effort)


The “tff” property

  “tff”                      GstDeinterlaceFieldLayout

Deinterlace top field first.

Flags: Read / Write

Default value: Auto detection


The “drop-orphans” property

  “drop-orphans”             gboolean

This selects whether to drop orphan fields at the beginning of telecine patterns in active locking mode.

Flags: Read / Write

Default value: TRUE


The “ignore-obscure” property

  “ignore-obscure”           gboolean

This selects whether to ignore obscure/rare telecine patterns. NTSC 2:3 pulldown variants are the only really common patterns.

Flags: Read / Write

Default value: TRUE


The “locking” property

  “locking”                  GstDeinterlaceLocking

This selects which approach to pattern locking is used which affects processing latency and accuracy of timestamp adjustment for telecine streams.

Flags: Read / Write

Default value: No pattern locking