![]() |
![]() |
![]() |
GStreamer Base Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#include <gst/video/video-resampler.h> struct GstVideoResampler; enum GstVideoResamplerFlags; enum GstVideoResamplerMethod; void gst_video_resampler_clear (GstVideoResampler *resampler
); 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
); #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.
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.
the input size | |
the output size | |
the maximum number of taps | |
the number of phases | |
array with the source offset for each output element | |
array with the phase to use for each output element | |
array with new number of taps for each phase | |
the taps for all phases |
Since 1.6
typedef enum { GST_VIDEO_RESAMPLER_FLAG_NONE = (0), } GstVideoResamplerFlags;
Different resampler flags.
Since 1.6
typedef enum { GST_VIDEO_RESAMPLER_METHOD_NEAREST, GST_VIDEO_RESAMPLER_METHOD_LINEAR, GST_VIDEO_RESAMPLER_METHOD_CUBIC, GST_VIDEO_RESAMPLER_METHOD_SINC, GST_VIDEO_RESAMPLER_METHOD_LANCZOS } GstVideoResamplerMethod;
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
void gst_video_resampler_clear (GstVideoResampler *resampler
);
Clear a previously initialized GstVideoResampler resampler
.
|
a GstVideoResampler |
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
);
#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.