gavl
|
Modules | |
Video conversion flags | |
Typedefs | |
typedef struct gavl_video_options_s | gavl_video_options_t |
Enumerations | |
enum | gavl_alpha_mode_t { GAVL_ALPHA_IGNORE = 0 , GAVL_ALPHA_BLEND_COLOR } |
enum | gavl_deinterlace_mode_t { GAVL_DEINTERLACE_NONE = 0 , GAVL_DEINTERLACE_COPY = 1 , GAVL_DEINTERLACE_SCALE = 2 , GAVL_DEINTERLACE_BLEND = 3 } |
enum | gavl_deinterlace_drop_mode_t { GAVL_DEINTERLACE_DROP_TOP , GAVL_DEINTERLACE_DROP_BOTTOM } |
Specifies which field to drop when deinterlacing. More... | |
enum | gavl_scale_mode_t { GAVL_SCALE_AUTO , GAVL_SCALE_NEAREST , GAVL_SCALE_BILINEAR , GAVL_SCALE_QUADRATIC , GAVL_SCALE_CUBIC_BSPLINE , GAVL_SCALE_CUBIC_MITCHELL , GAVL_SCALE_CUBIC_CATMULL , GAVL_SCALE_SINC_LANCZOS , GAVL_SCALE_NONE } |
enum | gavl_downscale_filter_t { GAVL_DOWNSCALE_FILTER_AUTO = 0 , GAVL_DOWNSCALE_FILTER_NONE , GAVL_DOWNSCALE_FILTER_WIDE , GAVL_DOWNSCALE_FILTER_GAUSS } |
Functions | |
GAVL_PUBLIC void | gavl_video_options_set_defaults (gavl_video_options_t *opt) |
Set all options to their defaults. More... | |
GAVL_PUBLIC gavl_video_options_t * | gavl_video_options_create () |
Create an options container. More... | |
GAVL_PUBLIC void | gavl_video_options_copy (gavl_video_options_t *dst, const gavl_video_options_t *src) |
Copy video options. More... | |
GAVL_PUBLIC void | gavl_video_options_destroy (gavl_video_options_t *opt) |
Destroy video options. More... | |
GAVL_PUBLIC void | gavl_video_options_set_rectangles (gavl_video_options_t *opt, const gavl_rectangle_f_t *src_rect, const gavl_rectangle_i_t *dst_rect) |
Set source and destination rectangles. More... | |
GAVL_PUBLIC void | gavl_video_options_get_rectangles (const gavl_video_options_t *opt, gavl_rectangle_f_t *src_rect, gavl_rectangle_i_t *dst_rect) |
Get source and destination rectangles. More... | |
GAVL_PUBLIC void | gavl_video_options_set_quality (gavl_video_options_t *opt, int quality) |
Set the quality level for the converter. More... | |
GAVL_PUBLIC int | gavl_video_options_get_quality (const gavl_video_options_t *opt) |
Get the quality level for the converter. More... | |
GAVL_PUBLIC void | gavl_video_options_set_conversion_flags (gavl_video_options_t *opt, int conversion_flags) |
Set the conversion flags. More... | |
GAVL_PUBLIC int | gavl_video_options_get_conversion_flags (const gavl_video_options_t *opt) |
Get the conversion flags. More... | |
GAVL_PUBLIC void | gavl_video_options_set_alpha_mode (gavl_video_options_t *opt, gavl_alpha_mode_t alpha_mode) |
Set the alpha mode. More... | |
GAVL_PUBLIC gavl_alpha_mode_t | gavl_video_options_get_alpha_mode (const gavl_video_options_t *opt) |
Get the alpha mode. More... | |
GAVL_PUBLIC void | gavl_video_options_set_scale_mode (gavl_video_options_t *opt, gavl_scale_mode_t scale_mode) |
Set the scale mode. More... | |
GAVL_PUBLIC gavl_scale_mode_t | gavl_video_options_get_scale_mode (const gavl_video_options_t *opt) |
Get the scale mode. More... | |
GAVL_PUBLIC void | gavl_video_options_set_scale_order (gavl_video_options_t *opt, int order) |
Set the scale order for GAVL_SCALE_SINC_LANCZOS. More... | |
GAVL_PUBLIC int | gavl_video_options_get_scale_order (const gavl_video_options_t *opt) |
Get the scale order for GAVL_SCALE_SINC_LANCZOS. More... | |
GAVL_PUBLIC void | gavl_video_options_set_background_color (gavl_video_options_t *opt, const double *color) |
Set the background color for alpha blending. More... | |
GAVL_PUBLIC void | gavl_video_options_get_background_color (const gavl_video_options_t *opt, double *color) |
Get the background color for alpha blending. More... | |
GAVL_PUBLIC void | gavl_video_options_set_deinterlace_drop_mode (gavl_video_options_t *opt, gavl_deinterlace_drop_mode_t deinterlace_drop_mode) |
Set the deinterlace drop mode. More... | |
GAVL_PUBLIC gavl_deinterlace_drop_mode_t | gavl_video_options_get_deinterlace_drop_mode (const gavl_video_options_t *opt) |
Get the deinterlace drop mode. More... | |
GAVL_PUBLIC void | gavl_video_options_set_downscale_filter (gavl_video_options_t *opt, gavl_downscale_filter_t f) |
Set antialiasing filter for downscaling. More... | |
GAVL_PUBLIC gavl_downscale_filter_t | gavl_video_options_get_downscale_filter (const gavl_video_options_t *opt) |
Get the antialiasing filter for downscaling. More... | |
GAVL_PUBLIC void | gavl_video_options_set_downscale_blur (gavl_video_options_t *opt, float f) |
Set blur factor for downscaling. More... | |
GAVL_PUBLIC float | gavl_video_options_get_downscale_blur (const gavl_video_options_t *opt) |
Get blur factor for downscaling. More... | |
GAVL_PUBLIC void | gavl_video_options_set_num_threads (gavl_video_options_t *opt, int n) |
Set number of threads. More... | |
GAVL_PUBLIC int | gavl_video_options_get_num_threads (const gavl_video_options_t *opt) |
Set number of threads. More... | |
GAVL_PUBLIC void | gavl_video_options_set_run_func (gavl_video_options_t *opt, gavl_video_run_func func, void *client_data) |
Set function to be passed to each thread. More... | |
GAVL_PUBLIC gavl_video_run_func | gavl_video_options_get_run_func (const gavl_video_options_t *opt, void **client_data) |
Get function to be passed to each thread. More... | |
GAVL_PUBLIC void | gavl_video_options_set_stop_func (gavl_video_options_t *opt, gavl_video_stop_func func, void *client_data) |
Set function to be passed to each thread. More... | |
GAVL_PUBLIC gavl_video_stop_func | gavl_video_options_get_stop_func (const gavl_video_options_t *opt, void **client_data) |
Get function to be passed to each thread. More... | |
typedef struct gavl_video_options_s gavl_video_options_t |
Opaque container for video conversion options
You don't want to know what's inside.
enum gavl_alpha_mode_t |
enum gavl_scale_mode_t |
Scaling algorithm
Enumerator | |
---|---|
GAVL_SCALE_AUTO | Take mode from conversion quality |
GAVL_SCALE_NEAREST | Nearest neighbor |
GAVL_SCALE_BILINEAR | Bilinear |
GAVL_SCALE_QUADRATIC | Quadratic |
GAVL_SCALE_CUBIC_BSPLINE | Cubic B-Spline |
GAVL_SCALE_CUBIC_MITCHELL | Cubic Mitchell-Netravali |
GAVL_SCALE_CUBIC_CATMULL | Cubic Catmull-Rom |
GAVL_SCALE_SINC_LANCZOS | Sinc with Lanczos window. Set order with gavl_video_options_set_scale_order |
GAVL_SCALE_NONE | Used internally when the scaler is used as a convolver |
Antialiasing filters
Specifies the antialiasing filter to be used when downscaling images.
Since 1.1.0
GAVL_PUBLIC void gavl_video_options_set_defaults | ( | gavl_video_options_t * | opt | ) |
Set all options to their defaults.
opt | Video options |
GAVL_PUBLIC gavl_video_options_t* gavl_video_options_create | ( | ) |
Create an options container.
Use this to store options, which will apply for more than one converter instance. Applying the options will be done by gavl_*_get_options() followed by gavl_video_options_copy().
GAVL_PUBLIC void gavl_video_options_copy | ( | gavl_video_options_t * | dst, |
const gavl_video_options_t * | src | ||
) |
Copy video options.
dst | Destination |
src | Source |
GAVL_PUBLIC void gavl_video_options_destroy | ( | gavl_video_options_t * | opt | ) |
Destroy video options.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_rectangles | ( | gavl_video_options_t * | opt, |
const gavl_rectangle_f_t * | src_rect, | ||
const gavl_rectangle_i_t * | dst_rect | ||
) |
Set source and destination rectangles.
opt | Video options |
src_rect | Rectangular area in the source frame or NULL |
dst_rect | Rectangular area in the destination frame or NULL |
Set the source and destination rectangles the converter or scaler will operate on. If you don't call this function, the rectangles will be set to the full image dimensions of the source and destination formats respectively. If one rectangle is NULL, BOTH rectangles will be cleared as if you never called this function. See Rectangles for convenience functions, which calculate the proper rectangles in some typical playback or transcoding situations.
GAVL_PUBLIC void gavl_video_options_get_rectangles | ( | const gavl_video_options_t * | opt, |
gavl_rectangle_f_t * | src_rect, | ||
gavl_rectangle_i_t * | dst_rect | ||
) |
Get source and destination rectangles.
opt | Video options |
src_rect | Returns the rectangular area in the source frame |
dst_rect | Returns the rectangular area in the destination frame |
GAVL_PUBLIC void gavl_video_options_set_quality | ( | gavl_video_options_t * | opt, |
int | quality | ||
) |
Set the quality level for the converter.
opt | Video options |
quality | Quality level (see Quality settings) |
GAVL_PUBLIC int gavl_video_options_get_quality | ( | const gavl_video_options_t * | opt | ) |
Get the quality level for the converter.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_conversion_flags | ( | gavl_video_options_t * | opt, |
int | conversion_flags | ||
) |
Set the conversion flags.
opt | Video options |
conversion_flags | Conversion flags (see Video conversion flags) |
GAVL_PUBLIC int gavl_video_options_get_conversion_flags | ( | const gavl_video_options_t * | opt | ) |
GAVL_PUBLIC void gavl_video_options_set_alpha_mode | ( | gavl_video_options_t * | opt, |
gavl_alpha_mode_t | alpha_mode | ||
) |
Set the alpha mode.
opt | Video options |
alpha_mode | Alpha mode |
GAVL_PUBLIC gavl_alpha_mode_t gavl_video_options_get_alpha_mode | ( | const gavl_video_options_t * | opt | ) |
Get the alpha mode.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_scale_mode | ( | gavl_video_options_t * | opt, |
gavl_scale_mode_t | scale_mode | ||
) |
Set the scale mode.
opt | Video options |
scale_mode | Scale mode |
GAVL_PUBLIC gavl_scale_mode_t gavl_video_options_get_scale_mode | ( | const gavl_video_options_t * | opt | ) |
Get the scale mode.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_scale_order | ( | gavl_video_options_t * | opt, |
int | order | ||
) |
Set the scale order for GAVL_SCALE_SINC_LANCZOS.
opt | Video options |
order | Order (must be at least 4) |
GAVL_PUBLIC int gavl_video_options_get_scale_order | ( | const gavl_video_options_t * | opt | ) |
Get the scale order for GAVL_SCALE_SINC_LANCZOS.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_background_color | ( | gavl_video_options_t * | opt, |
const double * | color | ||
) |
Set the background color for alpha blending.
opt | Video options |
color | Array of 3 float values (0.0 .. 1.0) in RGB order |
GAVL_PUBLIC void gavl_video_options_get_background_color | ( | const gavl_video_options_t * | opt, |
double * | color | ||
) |
Get the background color for alpha blending.
opt | Video options |
color | Returns 3 float values (0.0 .. 1.0) in RGB order |
GAVL_PUBLIC void gavl_video_options_set_deinterlace_drop_mode | ( | gavl_video_options_t * | opt, |
gavl_deinterlace_drop_mode_t | deinterlace_drop_mode | ||
) |
Set the deinterlace drop mode.
opt | Video options |
deinterlace_drop_mode | Deinterlace drop mode |
GAVL_PUBLIC gavl_deinterlace_drop_mode_t gavl_video_options_get_deinterlace_drop_mode | ( | const gavl_video_options_t * | opt | ) |
Get the deinterlace drop mode.
opt | Video options |
GAVL_PUBLIC void gavl_video_options_set_downscale_filter | ( | gavl_video_options_t * | opt, |
gavl_downscale_filter_t | f | ||
) |
Set antialiasing filter for downscaling.
opt | Video options |
f | Filter type (see gavl_downscale_filter_t) |
Since 1.1.0
GAVL_PUBLIC gavl_downscale_filter_t gavl_video_options_get_downscale_filter | ( | const gavl_video_options_t * | opt | ) |
Get the antialiasing filter for downscaling.
opt | Video options |
Since 1.1.0
GAVL_PUBLIC void gavl_video_options_set_downscale_blur | ( | gavl_video_options_t * | opt, |
float | f | ||
) |
Set blur factor for downscaling.
opt | Video options |
f | Factor |
Specifies an additional blur-factor for downscaling. The default value of 1.0 calculates the preblur coefficients according the the downsample factor. Larger values mean more blurring (and slower scaling), smaller values mean less blurring (and probably more aliasing artifacts), 0 is equivalent to calling gavl_video_options_set_downscale_filter with GAVL_DOWNSCALE_FILTER_NONE as argument.
Since 1.1.0
GAVL_PUBLIC float gavl_video_options_get_downscale_blur | ( | const gavl_video_options_t * | opt | ) |
Get blur factor for downscaling.
opt | Video options |
Since 1.1.0
GAVL_PUBLIC void gavl_video_options_set_num_threads | ( | gavl_video_options_t * | opt, |
int | n | ||
) |
Set number of threads.
opt | Video options |
n | Number of threads |
Since 1.1.1
GAVL_PUBLIC int gavl_video_options_get_num_threads | ( | const gavl_video_options_t * | opt | ) |
Set number of threads.
opt | Video options |
Since 1.1.1
GAVL_PUBLIC void gavl_video_options_set_run_func | ( | gavl_video_options_t * | opt, |
gavl_video_run_func | func, | ||
void * | client_data | ||
) |
Set function to be passed to each thread.
opt | Video options |
func | Function to be passed to each thread |
client_data | Client data to be passed to the run function |
Since 1.1.1
GAVL_PUBLIC gavl_video_run_func gavl_video_options_get_run_func | ( | const gavl_video_options_t * | opt, |
void ** | client_data | ||
) |
Get function to be passed to each thread.
opt | Video options |
client_data | Returns client data |
Since 1.1.1
GAVL_PUBLIC void gavl_video_options_set_stop_func | ( | gavl_video_options_t * | opt, |
gavl_video_stop_func | func, | ||
void * | client_data | ||
) |
Set function to be passed to each thread.
opt | Video options |
func | Function to be passed to each thread |
client_data | Client data to be passed to the run function |
Since 1.1.1
GAVL_PUBLIC gavl_video_stop_func gavl_video_options_get_stop_func | ( | const gavl_video_options_t * | opt, |
void ** | client_data | ||
) |
Get function to be passed to each thread.
opt | Video options |
client_data | Returns client data |
Since 1.1.1