deinterlace

deinterlace — Deinterlace Methods ported from DScaler/TvTime

Synopsis

struct              GstDeinterlace;

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GstObject
               +----GstElement
                     +----GstDeinterlace

Implemented Interfaces

GstDeinterlace implements GstChildProxy.

Properties

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

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 ]

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 ]

Details

struct GstDeinterlace

struct GstDeinterlace;

Property Details

The "fields" property

  "fields"                   GstDeinterlaceFields  : Read / Write

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

Default value: All fields


The "method" property

  "method"                   GstDeinterlaceMethods  : Read / Write

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.

Default value: Television: Full resolution


The "mode" property

  "mode"                     GstDeinterlaceModes   : Read / Write

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.

Default value: Auto detection


The "tff" property

  "tff"                      GstDeinterlaceFieldLayout  : Read / Write

Deinterlace top field first.

Default value: Auto detection


The "drop-orphans" property

  "drop-orphans"             gboolean              : Read / Write

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

Default value: TRUE

Since 0.10.31


The "ignore-obscure" property

  "ignore-obscure"           gboolean              : Read / Write

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

Default value: TRUE

Since 0.10.31


The "locking" property

  "locking"                  GstDeinterlaceLocking  : Read / Write

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

Default value: No pattern locking

Since 0.10.31