GstVideoResampler

GstVideoResampler — Utility structure for resampler information

Functions

Types and Values

Includes

#include <gst/video/video-resampler.h>

Description

GstVideoResampler is a structure which holds the information required to perform various kinds of resampling filtering.

Functions

gst_video_resampler_clear ()

void
gst_video_resampler_clear (GstVideoResampler *resampler);

Clear a previously initialized GstVideoResampler resampler .

Parameters

resampler

a GstVideoResampler

 

Since 1.6


gst_video_resampler_init ()

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);

Types and Values

struct GstVideoResampler

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.

Members

gint in_size;

the input size

 

gint out_size;

the output size

 

guint max_taps;

the maximum number of taps

 

guint n_phases;

the number of phases

 

guint32 *offset;

array with the source offset for each output element

 

guint32 *phase;

array with the phase to use for each output element

 

guint32 *n_taps;

array with new number of taps for each phase

 

gdouble *taps;

the taps for all phases

 

Since 1.6


enum GstVideoResamplerFlags

Different resampler flags.

Members

GST_VIDEO_RESAMPLER_FLAG_NONE

no flags

 

GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS

when no taps are given, half the number of calculated taps. This can be used when making scalers for the different fields of an interlaced picture. Since 1.10

 

Since 1.6


enum GstVideoResamplerMethod

Different subsampling and upsampling methods

Members

GST_VIDEO_RESAMPLER_METHOD_NEAREST

Duplicates the samples when upsampling and drops when downsampling

 

GST_VIDEO_RESAMPLER_METHOD_LINEAR

Uses linear interpolation to reconstruct missing samples and averaging to downsample

 

GST_VIDEO_RESAMPLER_METHOD_CUBIC

Uses cubic interpolation

 

GST_VIDEO_RESAMPLER_METHOD_SINC

Uses sinc interpolation

 

GST_VIDEO_RESAMPLER_METHOD_LANCZOS

Uses lanczos interpolation

 

Since 1.6


GST_VIDEO_RESAMPLER_OPT_CUBIC_B

#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


GST_VIDEO_RESAMPLER_OPT_CUBIC_C

#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


GST_VIDEO_RESAMPLER_OPT_ENVELOPE

#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.


GST_VIDEO_RESAMPLER_OPT_MAX_TAPS

#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.


GST_VIDEO_RESAMPLER_OPT_SHARPEN

#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.


GST_VIDEO_RESAMPLER_OPT_SHARPNESS

#define GST_VIDEO_RESAMPLER_OPT_SHARPNESS     "GstVideoResampler.sharpness"

G_TYPE_DOUBLE, specifies sharpness of the filter for GST_VIDEO_RESAMPLER_METHOD_LANCZOS . values are clamped between 0.5 and 1.5. 1.0 is the default.