| Top |  |  |  |  | 
| void | gst_video_scaler_2d () | 
| GstVideoScaler * | gst_video_scaler_combine_packed_YUV () | 
| void | gst_video_scaler_free () | 
| const gdouble * | gst_video_scaler_get_coeff () | 
| void | gst_video_scaler_horizontal () | 
| GstVideoScaler * | gst_video_scaler_new () | 
| void | gst_video_scaler_vertical () | 
| guint | gst_video_scaler_get_max_taps () | 
GstVideoScaler is a utility object for rescaling and resampling video frames using various interpolation / sampling methods.
void gst_video_scaler_2d (GstVideoScaler *hscale,GstVideoScaler *vscale,GstVideoFormat format,gpointer src,gint src_stride,gpointer dest,gint dest_stride,guint x,guint y,guint width,guint height);
Scale a rectangle of pixels in src
 with src_stride
 to dest
 with
dest_stride
 using the horizontal scaler hscaler
 and the vertical
scaler vscale
.
One or both of hscale
 and vscale
 can be NULL to only perform scaling in
one dimension or do a copy without scaling.
x
 and y
 are the coordinates in the destination image to process.
| hscale | a horzontal GstVideoScaler | |
| vscale | a vertical GstVideoScaler | |
| format | a GstVideoFormat for  | |
| src | source pixels | |
| src_stride | source pixels stride | |
| dest | destination pixels | |
| dest_stride | destination pixels stride | |
| x | the horizontal destination offset | |
| y | the vertical destination offset | |
| width | the number of output pixels to scale | |
| height | the number of output lines to scale | 
GstVideoScaler * gst_video_scaler_combine_packed_YUV (GstVideoScaler *y_scale,GstVideoScaler *uv_scale,GstVideoFormat in_format,GstVideoFormat out_format);
Combine a scaler for Y and UV into one scaler for the packed format
.
[skip]
| y_scale | a scaler for the Y component | |
| uv_scale | a scaler for the U and V components | |
| in_format | the input video format | |
| out_format | the output video format | 
Since: 1.6
void
gst_video_scaler_free (GstVideoScaler *scale);
Free a previously allocated GstVideoScaler scale
.
const gdouble * gst_video_scaler_get_coeff (GstVideoScaler *scale,guint out_offset,guint *in_offset,guint *n_taps);
For a given pixel at out_offset
, get the first required input pixel at
in_offset
 and the n_taps
 filter coefficients.
Note that for interlaced content, in_offset
 needs to be incremented with
2 to get the next input line.
void gst_video_scaler_horizontal (GstVideoScaler *scale,GstVideoFormat format,gpointer src,gpointer dest,guint dest_offset,guint width);
Horizontally scale the pixels in src
 to dest
, starting from dest_offset
for width
 samples.
| scale | ||
| format | a GstVideoFormat for  | |
| src | source pixels | |
| dest | destination pixels | |
| dest_offset | the horizontal destination offset | |
| width | the number of pixels to scale | 
GstVideoScaler * gst_video_scaler_new (GstVideoResamplerMethod method,GstVideoScalerFlags flags,guint n_taps,guint in_size,guint out_size,GstStructure *options);
Make a new method
 video scaler. in_size
 source lines/pixels will
be scaled to out_size
 destination lines/pixels.
n_taps
 specifies the amount of pixels to use from the source for one output
pixel. If n_taps is 0, this function chooses a good value automatically based
on the method
 and in_size
/out_size
.
[skip]
void gst_video_scaler_vertical (GstVideoScaler *scale,GstVideoFormat format,gpointer src_lines[],gpointer dest,guint dest_offset,guint width);
Vertically combine width
 pixels in the lines in src_lines
 to dest
.
dest
 is the location of the target line at dest_offset
 and
srcs
 are the input lines for dest_offset
, as obtained with
gst_video_scaler_get_info().
| scale | ||
| format | a GstVideoFormat for  | |
| src_lines | source pixels lines | |
| dest | destination pixels | |
| dest_offset | the vertical destination offset | |
| width | the number of pixels to scale | 
guint
gst_video_scaler_get_max_taps (GstVideoScaler *scale);
Get the maximum number of taps for scale
.