Top |
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
struct | GstDeinterlace |
enum | GstDeinterlaceFields |
enum | GstDeinterlaceLocking |
enum | GstDeinterlaceMethods |
enum | GstDeinterlaceFieldLayout |
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 |
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, 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 ] |
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, 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 ] |
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