Top |
Properties
gboolean | add-borders | Read / Write |
gboolean | dither | Read / Write / Construct |
gdouble | envelope | Read / Write / Construct |
GstVideoScaleMethod | method | Read / Write |
gdouble | sharpen | Read / Write / Construct |
gdouble | sharpness | Read / Write / Construct |
gboolean | gamma-decode | Read / Write / Construct |
guint | n-threads | Read / Write / Construct |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseTransform ╰── GstVideoFilter ╰── GstVideoScale
Description
This element resizes video frames. By default the element will try to negotiate to the same size on the source and sinkpad so that no scaling is needed. It is therefore safe to insert this element in a pipeline to get more robust behaviour without any cost if no scaling is needed.
This element supports a wide range of color spaces including various YUV and RGB formats and is therefore generally able to operate anywhere in a pipeline.
Example pipelines
1 |
gst-launch-1.0 -v filesrc location=videotestsrc.ogg ! oggdemux ! theoradec ! videoconvert ! videoscale ! autovideosink |
Decode an Ogg/Theora and display the video. If the video sink chosen cannot perform scaling, the video scaling will be performed by videoscale when you resize the video window. To create the test Ogg/Theora file refer to the documentation of theoraenc.
1 |
gst-launch-1.0 -v filesrc location=videotestsrc.ogg ! oggdemux ! theoradec ! videoconvert ! videoscale ! video/x-raw,width=100 ! autovideosink |
Decode an Ogg/Theora and display the video with a width of 100.
Synopsis
Element Information
plugin |
videoscale |
author |
Wim Taymans <wim.taymans@gmail.com> |
class |
Filter/Converter/Video/Scaler |
Element Pads
name |
sink |
direction |
sink |
presence |
always |
details |
video/x-raw, 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, 32767 ], height=(int)[ 1, 32767 ], 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, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
name |
src |
direction |
source |
presence |
always |
details |
video/x-raw, 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, 32767 ], height=(int)[ 1, 32767 ], 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, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
Types and Values
enum GstVideoScaleMethod
The videoscale method to use.
Members
use nearest neighbour scaling (fast and ugly) |
||
use 2-tap bilinear scaling (slower but prettier). |
||
use a 4-tap sinc filter for scaling (slow). |
||
use a multitap Lanczos filter for scaling (slow). |
||
use a multitap bilinear filter |
||
use a multitap sinc filter |
||
use a multitap bicubic Hermite filter |
||
use a multitap bicubic spline filter |
||
use a multitap bicubic Catmull-Rom filter |
||
use a multitap bicubic Mitchell filter |
Property Details
The “add-borders”
property
“add-borders” gboolean
Add black borders if necessary to keep the display aspect ratio.
Flags: Read / Write
Default value: TRUE
The “dither”
property
“dither” gboolean
Add dither (only used for Lanczos method).
Flags: Read / Write / Construct
Default value: FALSE
The “envelope”
property
“envelope” gdouble
Size of filter envelope.
Flags: Read / Write / Construct
Allowed values: [1,5]
Default value: 2
The “method”
property
“method” GstVideoScaleMethod
method.
Flags: Read / Write
Default value: Bilinear (2-tap)
The “sharpen”
property
“sharpen” gdouble
Sharpening.
Flags: Read / Write / Construct
Allowed values: [0,1]
Default value: 0
The “sharpness”
property
“sharpness” gdouble
Sharpness of filter.
Flags: Read / Write / Construct
Allowed values: [0.5,1.5]
Default value: 1
The “gamma-decode”
property
“gamma-decode” gboolean
Decode gamma before scaling.
Flags: Read / Write / Construct
Default value: FALSE
The “n-threads”
property
“n-threads” guint
Maximum number of threads to use.
Flags: Read / Write / Construct
Default value: 1