Top |
struct | GstVideoResampler |
enum | GstVideoResamplerFlags |
enum | GstVideoResamplerMethod |
#define | GST_VIDEO_RESAMPLER_OPT_CUBIC_B |
#define | GST_VIDEO_RESAMPLER_OPT_CUBIC_C |
#define | GST_VIDEO_RESAMPLER_OPT_ENVELOPE |
#define | GST_VIDEO_RESAMPLER_OPT_MAX_TAPS |
#define | GST_VIDEO_RESAMPLER_OPT_SHARPEN |
#define | GST_VIDEO_RESAMPLER_OPT_SHARPNESS |
GstVideoResampler is a structure which holds the information required to perform various kinds of resampling filtering.
void
gst_video_resampler_clear (GstVideoResampler *resampler
);
Clear a previously initialized GstVideoResampler resampler
.
Since: 1.6
gboolean gst_video_resampler_init (GstVideoResampler *resampler
,GstVideoResamplerMethod method
,GstVideoResamplerFlags flags
,guint n_phases
,guint n_taps
,gdouble shift
,guint in_size
,guint out_size
,GstStructure *options
);
struct GstVideoResampler { gint in_size; gint out_size; guint max_taps; guint n_phases; guint32 *offset; guint32 *phase; guint32 *n_taps; gdouble *taps; };
A structure holding resampler information.
gint |
the input size |
|
gint |
the output size |
|
guint |
the maximum number of taps |
|
guint |
the number of phases |
|
guint32 * |
array with the source offset for each output element |
|
guint32 * |
array with the phase to use for each output element |
|
guint32 * |
array with new number of taps for each phase |
|
gdouble * |
the taps for all phases |
Since: 1.6
Different subsampling and upsampling methods
Duplicates the samples when upsampling and drops when downsampling |
||
Uses linear interpolation to reconstruct missing samples and averaging to downsample |
||
Uses cubic interpolation |
||
Uses sinc interpolation |
||
Uses lanczos interpolation |
Since: 1.6
#define GST_VIDEO_RESAMPLER_OPT_CUBIC_B "GstVideoResampler.cubic-b"
G_TYPE_DOUBLE, B parameter of the cubic filter. The B parameter controls the bluriness. Values between 0.0 and 2.0 are accepted. 1/3 is the default.
Below are some values of popular filters: B C Hermite 0.0 0.0 Spline 1.0 0.0 Catmull-Rom 0.0 1/2 Mitchell 1/3 1/3 Robidoux 0.3782 0.3109 Robidoux Sharp 0.2620 0.3690 Robidoux Soft 0.6796 0.1602
#define GST_VIDEO_RESAMPLER_OPT_CUBIC_C "GstVideoResampler.cubic-c"
G_TYPE_DOUBLE, C parameter of the cubic filter. The C parameter controls the Keys alpha value. Values between 0.0 and 2.0 are accepted. 1/3 is the default.
See GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values
#define GST_VIDEO_RESAMPLER_OPT_ENVELOPE "GstVideoResampler.envelope"
G_TYPE_DOUBLE, specifies the size of filter envelope for
GST_VIDEO_RESAMPLER_METHOD_LANCZOS
. values are clamped between
1.0 and 5.0. 2.0 is the default.
#define GST_VIDEO_RESAMPLER_OPT_MAX_TAPS "GstVideoResampler.max-taps"
G_TYPE_INT, limits the maximum number of taps to use. 16 is the default.
#define GST_VIDEO_RESAMPLER_OPT_SHARPEN "GstVideoResampler.sharpen"
G_TYPE_DOUBLE, specifies sharpening of the filter for
GST_VIDEO_RESAMPLER_METHOD_LANCZOS
. values are clamped between
0.0 and 1.0. 0.0 is the default.