![]() |
![]() |
![]() |
GStreamer Good Plugins 1.0 Plugins Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
struct GstDeinterlace; enum GstDeinterlaceFields; enum GstDeinterlaceLocking; enum GstDeinterlaceMethods; enum GstDeinterlaceFieldLayout;
"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
deinterlace deinterlaces interlaced video frames to progressive video frames. For this different algorithms can be selected which will be described later.
1 |
gst-launch-1.0 -v filesrc location=/path/to/file ! decodebin ! videoconvert ! deinterlace ! videoconvert ! autovideosink |
plugin |
deinterlace |
author |
Martin Eikermann <meiker@upb.de>, Sebastian Dröge <sebastian.droege@collabora.co.uk> |
class |
Filter/Effect/Video/Deinterlace |
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 ] |
typedef enum { GST_DEINTERLACE_ALL, /* All (missing data is interp.) */ GST_DEINTERLACE_TF, /* Top Fields Only */ GST_DEINTERLACE_BF, /* Bottom Fields Only */ GST_DEINTERLACE_FIELDS_AUTO /* Automatically detect */ } GstDeinterlaceFields;
typedef enum { GST_DEINTERLACE_LOCKING_NONE, GST_DEINTERLACE_LOCKING_AUTO, GST_DEINTERLACE_LOCKING_ACTIVE, GST_DEINTERLACE_LOCKING_PASSIVE, } GstDeinterlaceLocking;
typedef enum { 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 } GstDeinterlaceMethods;
"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
"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: Linear
"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 (best effort)
"tff"
property"tff" GstDeinterlaceFieldLayout : Read / Write
Deinterlace top field first.
Default value: Auto detection
"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
"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
"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