deinterlace

deinterlace — Deinterlace Methods ported from DScaler/TvTime

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 ! decodebin2 ! 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, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, 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 }, 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, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, 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 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

Functions

Types and Values

struct GstDeinterlace

struct GstDeinterlace;

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: Television: Full resolution


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


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