![]() |
![]() |
![]() |
GStreamer Base Plugins 1.0 Plugins Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstBaseTransform +----GstVideoFilter +----GstVideoScale
"add-borders" gboolean : Read / Write "dither" gboolean : Read / Write / Construct "envelope" gdouble : Read / Write / Construct "method" GstVideoScaleMethod : Read / Write "sharpen" gdouble : Read / Write / Construct "sharpness" gdouble : Read / Write / Construct "gamma-decode" gboolean : Read / Write / Construct
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.
1 |
gst-launch-1.0 -v filesrc location=videotestsrc.ogg ! oggdemux ! theoradec ! videoconvert ! videoscale ! autovideosink |
1 |
gst-launch-1.0 -v filesrc location=videotestsrc.ogg ! oggdemux ! theoradec ! videoconvert ! videoscale ! video/x-raw,width=100 ! autovideosink |
plugin |
videoscale |
author |
Wim Taymans <wim.taymans@gmail.com> |
class |
Filter/Converter/Video/Scaler |
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, 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, 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, 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, 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, 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, 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, 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, 32767 ], height=(int)[ 1, 32767 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |
typedef enum { GST_VIDEO_SCALE_NEAREST, GST_VIDEO_SCALE_BILINEAR, GST_VIDEO_SCALE_4TAP, GST_VIDEO_SCALE_LANCZOS, GST_VIDEO_SCALE_BILINEAR2, GST_VIDEO_SCALE_SINC, GST_VIDEO_SCALE_HERMITE, GST_VIDEO_SCALE_SPLINE, GST_VIDEO_SCALE_CATROM, GST_VIDEO_SCALE_MITCHELL } GstVideoScaleMethod;
The videoscale method to use.
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 |
"add-borders"
property "add-borders" gboolean : Read / Write
Add black borders if necessary to keep the display aspect ratio.
Default value: TRUE
"dither"
property "dither" gboolean : Read / Write / Construct
Add dither (only used for Lanczos method).
Default value: FALSE
"envelope"
property "envelope" gdouble : Read / Write / Construct
Size of filter envelope.
Allowed values: [1,5]
Default value: 2
"method"
property"method" GstVideoScaleMethod : Read / Write
method.
Default value: Bilinear (2-tap)
"sharpen"
property "sharpen" gdouble : Read / Write / Construct
Sharpening.
Allowed values: [0,1]
Default value: 0
"sharpness"
property "sharpness" gdouble : Read / Write / Construct
Sharpness of filter.
Allowed values: [0.5,1.5]
Default value: 1