libweed  2.0.0
Data Structures | Macros | Typedefs
weed-effects.h File Reference
#include <inttypes.h>

Go to the source code of this file.

Data Structures

struct  weed_rgb_int_t
 
struct  weed_rgba_int_t
 
struct  weed_rgb_double_t
 
struct  weed_rgba_double_t
 

Macros

#define WEED_FILTER_API_VERSION   200
 
#define WEED_FILTER_API_VERSION   200
 
#define WEED_PLANT_PLUGIN_INFO   1
 
#define WEED_PLANT_FILTER_CLASS   2
 
#define WEED_PLANT_FILTER_INSTANCE   3
 
#define WEED_PLANT_CHANNEL_TEMPLATE   4
 
#define WEED_PLANT_PARAMETER_TEMPLATE   5
 
#define WEED_PLANT_CHANNEL   6
 
#define WEED_PLANT_PARAMETER   7
 
#define WEED_PLANT_GUI   8
 
#define WEED_PLANT_HOST_INFO   9
 
#define WEED_PARAM_UNSPECIFIED   0
 
#define WEED_PARAM_INTEGER   1
 
#define WEED_PARAM_FLOAT   2
 
#define WEED_PARAM_TEXT   3
 
#define WEED_PARAM_SWITCH   4
 
#define WEED_PARAM_COLOR   5
 
#define WEED_COLORSPACE_RGB   1
 
#define WEED_COLORSPACE_RGBA   2
 
#define WEED_HOST_SUPPORTS_LINEAR_GAMMA   (1 << 0)
 
#define WEED_HOST_SUPPORTS_PREMULTIPLIED_ALPHA   (1 << 1)
 
#define WEED_FILTER_NON_REALTIME   (1 << 0)
 
#define WEED_FILTER_IS_CONVERTER   (1 << 1)
 
#define WEED_FILTER_HINT_STATELESS   (1 << 2)
 
#define WEED_FILTER_PREF_LINEAR_GAMMA   (1 << 3)
 
#define WEED_FILTER_PREF_PREMULTIPLIED_ALPHA   (1 << 4)
 
#define WEED_FILTER_HINT_PROCESS_LAST   (1 << 5)
 
#define WEED_FILTER_HINT_MAY_THREAD   (1 << 6)
 
#define WEED_FILTER_HINT_MAYBE_UNSTABLE   (1 << 7)
 
#define WEED_FILTER_CHANNEL_SIZES_MAY_VARY   (1 << 8)
 
#define WEED_FILTER_PALETTES_MAY_VARY   (1 << 9)
 
#define WEED_FILTER_CHANNEL_LAYOUTS_MAY_VARY   (1 << 15)
 
#define WEED_FILTER_AUDIO_RATES_MAY_VARY   (1 << 16)
 
#define WEED_CHANNEL_REINIT_ON_SIZE_CHANGE   (1 << 0)
 
#define WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE   (1 << 1)
 
#define WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE   (1 << 2)
 
#define WEED_CHANNEL_OPTIONAL   (1 << 3)
 
#define WEED_CHANNEL_CAN_DO_INPLACE   (1 << 4)
 
#define WEED_CHANNEL_NEEDS_NATURAL_SIZE   (1 << 5)
 
#define WEED_CHANNEL_REINIT_ON_RATE_CHANGE   WEED_CHANNEL_REINIT_ON_SIZE_CHANGE
 
#define WEED_CHANNEL_REINIT_ON_LAYOUT_CHANGE   WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE
 
#define WEED_PARAMETER_REINIT_ON_VALUE_CHANGE   (1 << 0)
 
#define WEED_PARAMETER_VARIABLE_SIZE   (1 << 1)
 
#define WEED_PARAMETER_VALUE_PER_CHANNEL   (1 << 2)
 
#define WEED_PARAMETER_VALUE_IRRELEVANT   (1 << 3)
 
#define WEED_GUI_REINIT_ON_VALUE_CHANGE   (1 << 0)
 
#define WEED_GUI_CHOICES_SET_ON_INIT   (1 << 1)
 
#define WEED_INSTANCE_UPDATE_GUI_ONLY   (1 << 0)
 
#define WEED_ERROR_PLUGIN_INVALID   64
 
#define WEED_ERROR_FILTER_INVALID   65
 
#define WEED_ERROR_TOO_MANY_INSTANCES   66
 
#define WEED_ERROR_REINIT_NEEDED   67
 
#define WEED_ERROR_NOT_READY   68
 
#define WEED_VERBOSITY_SILENT   -2
 no output More...
 
#define WEED_VERBOSITY_CRITICAL   -1
 only critical errors which prevent the plugin / filter from operating AT ALL More...
 
#define WEED_VERBOSITY_ERROR   0
 default choice a (errors which prevent normal operation) More...
 
#define WEED_VERBOSITY_WARN   1
 default choice b (errors which adversly affect operation) More...
 
#define WEED_VERBOSITY_INFO   2
 info (any additional non-debug info) More...
 
#define WEED_VERBOSITY_DEBUG   3
 output to assist with debugging the plugin / filter More...
 
#define WEED_LEAF_FILTERS   "filters"
 
#define WEED_LEAF_HOST_INFO   "host_info"
 
#define WEED_LEAF_VERSION   "version"
 
#define WEED_LEAF_PACKAGE_NAME   "package_name"
 
#define WEED_LEAF_MAINTAINER   "maintainer"
 
#define WEED_LEAF_URL   "url"
 
#define WEED_LEAF_DESCRIPTION   "description"
 
#define WEED_LEAF_ERROR_NUMBER   "error_number"
 
#define WEED_LEAF_ERROR_TEXT   "error_text"
 
#define WEED_LEAF_FILTER_API_VERSION   "filter_api_version"
 
#define WEED_LEAF_GET_FUNC   "weed_leaf_get_func"
 
#define WEED_LEAF_SET_FUNC   "weed_leaf_set_func"
 
#define WEED_LEAF_DELETE_FUNC   "weed_leaf_delete_func"
 
#define WEED_PLANT_NEW_FUNC   "weed_plant_new_func"
 
#define WEED_PLANT_FREE_FUNC   "weed_plant_free_func"
 
#define WEED_PLANT_LIST_LEAVES_FUNC   "weed_plant_list_leaves_func"
 
#define WEED_LEAF_NUM_ELEMENTS_FUNC   "weed_leaf_num_elements_func"
 
#define WEED_LEAF_ELEMENT_SIZE_FUNC   "weed_leaf_element_size_func"
 
#define WEED_LEAF_SEED_TYPE_FUNC   "weed_leaf_seed_type_func"
 
#define WEED_LEAF_GET_FLAGS_FUNC   "weed_leaf_get_flags_func"
 
#define WEED_LEAF_MALLOC_FUNC   "weed_malloc_func"
 
#define WEED_LEAF_FREE_FUNC   "weed_free_func"
 
#define WEED_LEAF_MEMSET_FUNC   "weed_memset_func"
 
#define WEED_LEAF_MEMCPY_FUNC   "weed_memcpy_func"
 
#define WEED_LEAF_MEMMOVE_FUNC   "weed_memmove_func"
 
#define WEED_LEAF_CALLOC_FUNC   "weed_calloc_func"
 
#define WEED_LEAF_REALLOC_FUNC   "weed_realloc_func"
 
#define WEED_LEAF_HOST_NAME   "host_name"
 
#define WEED_LEAF_HOST_VERSION   "host_version"
 
#define WEED_LEAF_FLAGS   "flags"
 
#define WEED_LEAF_VERBOSITY   "verbosity"
 
#define WEED_LEAF_LAYOUT_SCHEMES   "layout_schemes"
 
#define WEED_LEAF_PLUGIN_INFO   "plugin_info"
 
#define WEED_LEAF_NAME   "name"
 
#define WEED_LEAF_AUTHOR   "author"
 
#define WEED_LEAF_PALETTE_LIST   "palette_list"
 
#define WEED_LEAF_INIT_FUNC   "init_func"
 
#define WEED_LEAF_DEINIT_FUNC   "deinit_func"
 
#define WEED_LEAF_PROCESS_FUNC   "process_func"
 
#define WEED_LEAF_IN_PARAMETER_TEMPLATES   "in_param_tmpls"
 
#define WEED_LEAF_OUT_PARAMETER_TEMPLATES   "out_param_tmpls"
 
#define WEED_LEAF_IN_CHANNEL_TEMPLATES   "in_chan_tmpls"
 
#define WEED_LEAF_OUT_CHANNEL_TEMPLATES   "out_chan_tmpls"
 
#define WEED_LEAF_GUI   "gui"
 
#define WEED_LEAF_EXTRA_AUTHORS   "extra_authors"
 
#define WEED_LEAF_MICRO_VERSION   "micro_version"
 
#define WEED_LEAF_ICON   "icon"
 
#define WEED_LEAF_LICENSE   "license"
 
#define WEED_LEAF_COPYRIGHT   "copyright"
 
#define WEED_LEAF_PREFERRED_FPS   "target_fps"
 
#define WEED_LEAF_HSTEP   "hstep"
 
#define WEED_LEAF_VSTEP   "vstep"
 
#define WEED_LEAF_ALIGNMENT_HINT   "alignment_hint"
 
#define WEED_LEAF_WIDTH   "width"
 
#define WEED_LEAF_HEIGHT   "height"
 
#define WEED_LEAF_MAXWIDTH   "maxwidth"
 
#define WEED_LEAF_MAXHEIGHT   "maxheight"
 
#define WEED_LEAF_MINWIDTH   "minwidth"
 
#define WEED_LEAF_MINHEIGHT   "minheight"
 
#define WEED_LEAF_YUV_CLAMPING   "YUV_clamping"
 
#define WEED_LEAF_YUV_SAMPLING   "YUV_sampling"
 
#define WEED_LEAF_YUV_SUBSPACE   "YUV_subspace"
 
#define WEED_LEAF_NATURAL_SIZE   "natural_size"
 
#define WEED_LEAF_INNER_SIZE   "inner_size"
 
#define WEED_LEAF_AUDIO_RATE   "audio_rate"
 
#define WEED_LEAF_MAX_AUDIO_CHANNELS   "max_audio_chans"
 
#define WEED_LEAF_MIN_AUDIO_LENGTH   "min_audio_len"
 
#define WEED_LEAF_MAX_AUDIO_LENGTH   "max_audio_len"
 
#define WEED_LEAF_CHANNEL_LAYOUTS   "channel_layouts"
 
#define WEED_CHANNEL_LAYOUT_TYPE   "default"
 
#define WEED_CH_FRONT_LEFT   0x00000001
 
#define WEED_CH_FRONT_RIGHT   0x00000002
 
#define WEED_CH_FRONT_CENTER   0x00000004
 
#define WEED_CH_LAYOUT_MONO   (WEED_CH_FRONT_CENTER)
 
#define WEED_CH_LAYOUT_STEREO   (WEED_CH_FRONT_LEFT | WEED_CH_FRONT_RIGHT)
 
#define WEED_CH_LAYOUT_DEFAULT_1   WEED_CH_LAYOUT_MONO
 
#define WEED_CH_LAYOUT_DEFAULT_2   WEED_CH_LAYOUT_STEREO
 
#define WEED_CH_LAYOUTS_DEFAULT   (WEED_CH_LAYOUT_DEFAULT_2, WEED_CH_LAYOUT_DEFAULT_1}
 
#define WEED_CH_LAYOUTS_DEFAULT_MIN2   (WEED_CH_LAYOUT_DEFAULT_2}
 
#define WEED_LEAF_LAYOUT_SCHEME   "layout_scheme"
 
#define WEED_LEAF_FILTER_CLASS   "filter_class"
 
#define WEED_LEAF_IN_PARAMETERS   "in_parameters"
 
#define WEED_LEAF_OUT_PARAMETERS   "out_parameters"
 
#define WEED_LEAF_IN_CHANNELS   "in_channels"
 
#define WEED_LEAF_OUT_CHANNELS   "out_channels"
 
#define WEED_LEAF_FPS   "fps"
 
#define WEED_LEAF_TARGET_FPS   "target_fps"
 
#define WEED_LEAF_EASE_IN_FRAMES   "ease_in_frames"
 
#define WEED_LEAF_EASE_OUT_FRAMES   "ease_out_frames"
 
#define WEED_LEAF_EASE_IN   "ease_in"
 
#define WEED_LEAF_EASE_OUT   "ease_out"
 
#define WEED_LEAF_IS_AUDIO   "is_audio"
 WEED_LEAF_NAME. More...
 
#define WEED_LEAF_MAX_REPEATS   "max_repeats"
 
#define WEED_LEAF_TEMPLATE   "template"
 WEED_LEAF_PALETTE_LIST. More...
 
#define WEED_LEAF_PIXEL_DATA   "pixel_data"
 WEED_LEAF_FLAGS. More...
 
#define WEED_LEAF_CURRENT_PALETTE   "current_palette"
 
#define WEED_LEAF_ROWSTRIDES   "rowstrides"
 
#define WEED_LEAF_AUDIO_DATA   "audio_data"
 
#define WEED_LEAF_AUDIO_DATA_LENGTH   "audio_data_len"
 
#define WEED_LEAF_AUDIO_RATE   "audio_rate"
 
#define WEED_LEAF_AUDIO_CHANNELS   "audio_channels"
 
#define WEED_LEAF_OFFSET   "offset"
 threading More...
 
#define WEED_LEAF_DISABLED   "disabled"
 
#define WEED_LEAF_PIXEL_ASPECT_RATIO   "par"
 
#define WEED_LEAF_GAMMA_TYPE   "gamma_type"
 
#define WEED_LEAF_ALPHA_PREMULTIPLIED   "alpha_premult"
 
#define WEED_LEAF_DEFAULT   "default"
 WEED_LEAF_NAME. More...
 
#define WEED_LEAF_MIN   "min"
 
#define WEED_LEAF_MAX   "max"
 
#define WEED_LEAF_PARAM_TYPE   "param_type"
 
#define WEED_LEAF_NEW_DEFAULT   "new_default"
 
#define WEED_LEAF_GROUP   "group"
 
#define WEED_LEAF_COLORSPACE   "colorspace"
 
#define WEED_LEAF_IS_TRANSITION   "is_transition"
 
#define WEED_LEAF_IS_VOLUME_MASTER   "is_vol_master"
 
#define WEED_LEAF_WRAP   "wrap"
 
#define WEED_LEAF_MAXCHARS   "maxchars"
 
#define WEED_LEAF_LABEL   "label"
 
#define WEED_LEAF_DECIMALS   "decimals"
 
#define WEED_LEAF_STEP_SIZE   "step_size"
 
#define WEED_LEAF_USE_MNEMONIC   "use_mnemonic"
 
#define WEED_LEAF_CHOICES   "choices"
 
#define WEED_LEAF_CHOICES_LANGUAGES   "choices_langs"
 
#define WEED_LEAF_HIDDEN   "hidden"
 
#define WEED_LEAF_COPY_VALUE_TO   "copy_value_to"
 
#define WEED_LEAF_VALUE   "value"
 
#define WEED_LEAF_CHOICES_LANGUAGE   "choices_lang"
 

Typedefs

typedef int64_t weed_timecode_t
 
typedef weed_error_t(* weed_default_getter_f) (weed_plant_t *plant, const char *key, void *value)
 
typedef weed_plant_t *(* weed_bootstrap_f) (weed_default_getter_f *, int32_t plugin_weed_min_api_version, int32_t plugin_weed_max_api_version, int32_t plugin_filter_min_api_version, int32_t plugin_filter_max_api_version)
 
typedef weed_plant_t *(* weed_setup_f) (weed_bootstrap_f weed_boot)
 
typedef void(* weed_desetup_f) (void)
 
typedef weed_error_t(* weed_process_f) (weed_plant_t *filter_instance, weed_timecode_t timestamp)
 
typedef weed_error_t(* weed_init_f) (weed_plant_t *filter_instance)
 
typedef weed_error_t(* weed_deinit_f) (weed_plant_t *filter_instance)
 
typedef void(* weed_display_f) (weed_plant_t *parameter)
 
typedef weed_error_t(* weed_interpolate_f) (weed_plant_t **in_values, weed_plant_t *out_value)
 

Macro Definition Documentation

◆ WEED_CH_FRONT_CENTER

#define WEED_CH_FRONT_CENTER   0x00000004

◆ WEED_CH_FRONT_LEFT

#define WEED_CH_FRONT_LEFT   0x00000001

◆ WEED_CH_FRONT_RIGHT

#define WEED_CH_FRONT_RIGHT   0x00000002

◆ WEED_CH_LAYOUT_DEFAULT_1

#define WEED_CH_LAYOUT_DEFAULT_1   WEED_CH_LAYOUT_MONO

◆ WEED_CH_LAYOUT_DEFAULT_2

#define WEED_CH_LAYOUT_DEFAULT_2   WEED_CH_LAYOUT_STEREO

◆ WEED_CH_LAYOUT_MONO

#define WEED_CH_LAYOUT_MONO   (WEED_CH_FRONT_CENTER)

◆ WEED_CH_LAYOUT_STEREO

#define WEED_CH_LAYOUT_STEREO   (WEED_CH_FRONT_LEFT | WEED_CH_FRONT_RIGHT)

◆ WEED_CH_LAYOUTS_DEFAULT

#define WEED_CH_LAYOUTS_DEFAULT   (WEED_CH_LAYOUT_DEFAULT_2, WEED_CH_LAYOUT_DEFAULT_1}

◆ WEED_CH_LAYOUTS_DEFAULT_MIN2

#define WEED_CH_LAYOUTS_DEFAULT_MIN2   (WEED_CH_LAYOUT_DEFAULT_2}

◆ WEED_CHANNEL_CAN_DO_INPLACE

#define WEED_CHANNEL_CAN_DO_INPLACE   (1 << 4)

◆ WEED_CHANNEL_LAYOUT_TYPE

#define WEED_CHANNEL_LAYOUT_TYPE   "default"

◆ WEED_CHANNEL_NEEDS_NATURAL_SIZE

#define WEED_CHANNEL_NEEDS_NATURAL_SIZE   (1 << 5)

◆ WEED_CHANNEL_OPTIONAL

#define WEED_CHANNEL_OPTIONAL   (1 << 3)

◆ WEED_CHANNEL_REINIT_ON_LAYOUT_CHANGE

#define WEED_CHANNEL_REINIT_ON_LAYOUT_CHANGE   WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE

◆ WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE

#define WEED_CHANNEL_REINIT_ON_PALETTE_CHANGE   (1 << 1)

◆ WEED_CHANNEL_REINIT_ON_RATE_CHANGE

#define WEED_CHANNEL_REINIT_ON_RATE_CHANGE   WEED_CHANNEL_REINIT_ON_SIZE_CHANGE

◆ WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE

#define WEED_CHANNEL_REINIT_ON_ROWSTRIDES_CHANGE   (1 << 2)

◆ WEED_CHANNEL_REINIT_ON_SIZE_CHANGE

#define WEED_CHANNEL_REINIT_ON_SIZE_CHANGE   (1 << 0)

◆ WEED_COLORSPACE_RGB

#define WEED_COLORSPACE_RGB   1

◆ WEED_COLORSPACE_RGBA

#define WEED_COLORSPACE_RGBA   2

◆ WEED_ERROR_FILTER_INVALID

#define WEED_ERROR_FILTER_INVALID   65

◆ WEED_ERROR_NOT_READY

#define WEED_ERROR_NOT_READY   68

◆ WEED_ERROR_PLUGIN_INVALID

#define WEED_ERROR_PLUGIN_INVALID   64

◆ WEED_ERROR_REINIT_NEEDED

#define WEED_ERROR_REINIT_NEEDED   67

◆ WEED_ERROR_TOO_MANY_INSTANCES

#define WEED_ERROR_TOO_MANY_INSTANCES   66

◆ WEED_FILTER_API_VERSION [1/2]

#define WEED_FILTER_API_VERSION   200

◆ WEED_FILTER_API_VERSION [2/2]

#define WEED_FILTER_API_VERSION   200

◆ WEED_FILTER_AUDIO_RATES_MAY_VARY

#define WEED_FILTER_AUDIO_RATES_MAY_VARY   (1 << 16)

◆ WEED_FILTER_CHANNEL_LAYOUTS_MAY_VARY

#define WEED_FILTER_CHANNEL_LAYOUTS_MAY_VARY   (1 << 15)

◆ WEED_FILTER_CHANNEL_SIZES_MAY_VARY

#define WEED_FILTER_CHANNEL_SIZES_MAY_VARY   (1 << 8)

◆ WEED_FILTER_HINT_MAY_THREAD

#define WEED_FILTER_HINT_MAY_THREAD   (1 << 6)

◆ WEED_FILTER_HINT_MAYBE_UNSTABLE

#define WEED_FILTER_HINT_MAYBE_UNSTABLE   (1 << 7)

◆ WEED_FILTER_HINT_PROCESS_LAST

#define WEED_FILTER_HINT_PROCESS_LAST   (1 << 5)

◆ WEED_FILTER_HINT_STATELESS

#define WEED_FILTER_HINT_STATELESS   (1 << 2)

◆ WEED_FILTER_IS_CONVERTER

#define WEED_FILTER_IS_CONVERTER   (1 << 1)

◆ WEED_FILTER_NON_REALTIME

#define WEED_FILTER_NON_REALTIME   (1 << 0)

◆ WEED_FILTER_PALETTES_MAY_VARY

#define WEED_FILTER_PALETTES_MAY_VARY   (1 << 9)

◆ WEED_FILTER_PREF_LINEAR_GAMMA

#define WEED_FILTER_PREF_LINEAR_GAMMA   (1 << 3)

◆ WEED_FILTER_PREF_PREMULTIPLIED_ALPHA

#define WEED_FILTER_PREF_PREMULTIPLIED_ALPHA   (1 << 4)

◆ WEED_GUI_CHOICES_SET_ON_INIT

#define WEED_GUI_CHOICES_SET_ON_INIT   (1 << 1)

◆ WEED_GUI_REINIT_ON_VALUE_CHANGE

#define WEED_GUI_REINIT_ON_VALUE_CHANGE   (1 << 0)

◆ WEED_HOST_SUPPORTS_LINEAR_GAMMA

#define WEED_HOST_SUPPORTS_LINEAR_GAMMA   (1 << 0)

◆ WEED_HOST_SUPPORTS_PREMULTIPLIED_ALPHA

#define WEED_HOST_SUPPORTS_PREMULTIPLIED_ALPHA   (1 << 1)

◆ WEED_INSTANCE_UPDATE_GUI_ONLY

#define WEED_INSTANCE_UPDATE_GUI_ONLY   (1 << 0)

◆ WEED_LEAF_ALIGNMENT_HINT

#define WEED_LEAF_ALIGNMENT_HINT   "alignment_hint"

◆ WEED_LEAF_ALPHA_PREMULTIPLIED

#define WEED_LEAF_ALPHA_PREMULTIPLIED   "alpha_premult"

◆ WEED_LEAF_AUDIO_CHANNELS

#define WEED_LEAF_AUDIO_CHANNELS   "audio_channels"

◆ WEED_LEAF_AUDIO_DATA

#define WEED_LEAF_AUDIO_DATA   "audio_data"

◆ WEED_LEAF_AUDIO_DATA_LENGTH

#define WEED_LEAF_AUDIO_DATA_LENGTH   "audio_data_len"

◆ WEED_LEAF_AUDIO_RATE [1/2]

#define WEED_LEAF_AUDIO_RATE   "audio_rate"

◆ WEED_LEAF_AUDIO_RATE [2/2]

#define WEED_LEAF_AUDIO_RATE   "audio_rate"

◆ WEED_LEAF_AUTHOR

#define WEED_LEAF_AUTHOR   "author"

◆ WEED_LEAF_CALLOC_FUNC

#define WEED_LEAF_CALLOC_FUNC   "weed_calloc_func"

◆ WEED_LEAF_CHANNEL_LAYOUTS

#define WEED_LEAF_CHANNEL_LAYOUTS   "channel_layouts"

◆ WEED_LEAF_CHOICES

#define WEED_LEAF_CHOICES   "choices"

◆ WEED_LEAF_CHOICES_LANGUAGE

#define WEED_LEAF_CHOICES_LANGUAGE   "choices_lang"

◆ WEED_LEAF_CHOICES_LANGUAGES

#define WEED_LEAF_CHOICES_LANGUAGES   "choices_langs"

◆ WEED_LEAF_COLORSPACE

#define WEED_LEAF_COLORSPACE   "colorspace"

◆ WEED_LEAF_COPY_VALUE_TO

#define WEED_LEAF_COPY_VALUE_TO   "copy_value_to"

◆ WEED_LEAF_COPYRIGHT

#define WEED_LEAF_COPYRIGHT   "copyright"

◆ WEED_LEAF_CURRENT_PALETTE

#define WEED_LEAF_CURRENT_PALETTE   "current_palette"

◆ WEED_LEAF_DECIMALS

#define WEED_LEAF_DECIMALS   "decimals"

◆ WEED_LEAF_DEFAULT

#define WEED_LEAF_DEFAULT   "default"

WEED_LEAF_NAME.

◆ WEED_LEAF_DEINIT_FUNC

#define WEED_LEAF_DEINIT_FUNC   "deinit_func"

◆ WEED_LEAF_DELETE_FUNC

#define WEED_LEAF_DELETE_FUNC   "weed_leaf_delete_func"

◆ WEED_LEAF_DESCRIPTION

#define WEED_LEAF_DESCRIPTION   "description"

◆ WEED_LEAF_DISABLED

#define WEED_LEAF_DISABLED   "disabled"

◆ WEED_LEAF_EASE_IN

#define WEED_LEAF_EASE_IN   "ease_in"

◆ WEED_LEAF_EASE_IN_FRAMES

#define WEED_LEAF_EASE_IN_FRAMES   "ease_in_frames"

◆ WEED_LEAF_EASE_OUT

#define WEED_LEAF_EASE_OUT   "ease_out"

◆ WEED_LEAF_EASE_OUT_FRAMES

#define WEED_LEAF_EASE_OUT_FRAMES   "ease_out_frames"

◆ WEED_LEAF_ELEMENT_SIZE_FUNC

#define WEED_LEAF_ELEMENT_SIZE_FUNC   "weed_leaf_element_size_func"

◆ WEED_LEAF_ERROR_NUMBER

#define WEED_LEAF_ERROR_NUMBER   "error_number"

◆ WEED_LEAF_ERROR_TEXT

#define WEED_LEAF_ERROR_TEXT   "error_text"

◆ WEED_LEAF_EXTRA_AUTHORS

#define WEED_LEAF_EXTRA_AUTHORS   "extra_authors"

◆ WEED_LEAF_FILTER_API_VERSION

#define WEED_LEAF_FILTER_API_VERSION   "filter_api_version"

◆ WEED_LEAF_FILTER_CLASS

#define WEED_LEAF_FILTER_CLASS   "filter_class"

◆ WEED_LEAF_FILTERS

#define WEED_LEAF_FILTERS   "filters"

◆ WEED_LEAF_FLAGS

#define WEED_LEAF_FLAGS   "flags"

◆ WEED_LEAF_FPS

#define WEED_LEAF_FPS   "fps"

◆ WEED_LEAF_FREE_FUNC

#define WEED_LEAF_FREE_FUNC   "weed_free_func"

◆ WEED_LEAF_GAMMA_TYPE

#define WEED_LEAF_GAMMA_TYPE   "gamma_type"

◆ WEED_LEAF_GET_FLAGS_FUNC

#define WEED_LEAF_GET_FLAGS_FUNC   "weed_leaf_get_flags_func"

◆ WEED_LEAF_GET_FUNC

#define WEED_LEAF_GET_FUNC   "weed_leaf_get_func"

◆ WEED_LEAF_GROUP

#define WEED_LEAF_GROUP   "group"

◆ WEED_LEAF_GUI

#define WEED_LEAF_GUI   "gui"

◆ WEED_LEAF_HEIGHT

#define WEED_LEAF_HEIGHT   "height"

◆ WEED_LEAF_HIDDEN

#define WEED_LEAF_HIDDEN   "hidden"

◆ WEED_LEAF_HOST_INFO

#define WEED_LEAF_HOST_INFO   "host_info"

◆ WEED_LEAF_HOST_NAME

#define WEED_LEAF_HOST_NAME   "host_name"

◆ WEED_LEAF_HOST_VERSION

#define WEED_LEAF_HOST_VERSION   "host_version"

◆ WEED_LEAF_HSTEP

#define WEED_LEAF_HSTEP   "hstep"

◆ WEED_LEAF_ICON

#define WEED_LEAF_ICON   "icon"

◆ WEED_LEAF_IN_CHANNEL_TEMPLATES

#define WEED_LEAF_IN_CHANNEL_TEMPLATES   "in_chan_tmpls"

◆ WEED_LEAF_IN_CHANNELS

#define WEED_LEAF_IN_CHANNELS   "in_channels"

◆ WEED_LEAF_IN_PARAMETER_TEMPLATES

#define WEED_LEAF_IN_PARAMETER_TEMPLATES   "in_param_tmpls"

◆ WEED_LEAF_IN_PARAMETERS

#define WEED_LEAF_IN_PARAMETERS   "in_parameters"

◆ WEED_LEAF_INIT_FUNC

#define WEED_LEAF_INIT_FUNC   "init_func"

◆ WEED_LEAF_INNER_SIZE

#define WEED_LEAF_INNER_SIZE   "inner_size"

◆ WEED_LEAF_IS_AUDIO

#define WEED_LEAF_IS_AUDIO   "is_audio"

WEED_LEAF_NAME.

◆ WEED_LEAF_IS_TRANSITION

#define WEED_LEAF_IS_TRANSITION   "is_transition"

◆ WEED_LEAF_IS_VOLUME_MASTER

#define WEED_LEAF_IS_VOLUME_MASTER   "is_vol_master"

◆ WEED_LEAF_LABEL

#define WEED_LEAF_LABEL   "label"

◆ WEED_LEAF_LAYOUT_SCHEME

#define WEED_LEAF_LAYOUT_SCHEME   "layout_scheme"

◆ WEED_LEAF_LAYOUT_SCHEMES

#define WEED_LEAF_LAYOUT_SCHEMES   "layout_schemes"

◆ WEED_LEAF_LICENSE

#define WEED_LEAF_LICENSE   "license"

◆ WEED_LEAF_MAINTAINER

#define WEED_LEAF_MAINTAINER   "maintainer"

◆ WEED_LEAF_MALLOC_FUNC

#define WEED_LEAF_MALLOC_FUNC   "weed_malloc_func"

◆ WEED_LEAF_MAX

#define WEED_LEAF_MAX   "max"

◆ WEED_LEAF_MAX_AUDIO_CHANNELS

#define WEED_LEAF_MAX_AUDIO_CHANNELS   "max_audio_chans"

◆ WEED_LEAF_MAX_AUDIO_LENGTH

#define WEED_LEAF_MAX_AUDIO_LENGTH   "max_audio_len"

◆ WEED_LEAF_MAX_REPEATS

#define WEED_LEAF_MAX_REPEATS   "max_repeats"

WEED_LEAF_FLAGS WEED_LEAF_DESCRIPTION

◆ WEED_LEAF_MAXCHARS

#define WEED_LEAF_MAXCHARS   "maxchars"

◆ WEED_LEAF_MAXHEIGHT

#define WEED_LEAF_MAXHEIGHT   "maxheight"

◆ WEED_LEAF_MAXWIDTH

#define WEED_LEAF_MAXWIDTH   "maxwidth"

◆ WEED_LEAF_MEMCPY_FUNC

#define WEED_LEAF_MEMCPY_FUNC   "weed_memcpy_func"

◆ WEED_LEAF_MEMMOVE_FUNC

#define WEED_LEAF_MEMMOVE_FUNC   "weed_memmove_func"

◆ WEED_LEAF_MEMSET_FUNC

#define WEED_LEAF_MEMSET_FUNC   "weed_memset_func"

◆ WEED_LEAF_MICRO_VERSION

#define WEED_LEAF_MICRO_VERSION   "micro_version"

◆ WEED_LEAF_MIN

#define WEED_LEAF_MIN   "min"

◆ WEED_LEAF_MIN_AUDIO_LENGTH

#define WEED_LEAF_MIN_AUDIO_LENGTH   "min_audio_len"

◆ WEED_LEAF_MINHEIGHT

#define WEED_LEAF_MINHEIGHT   "minheight"

◆ WEED_LEAF_MINWIDTH

#define WEED_LEAF_MINWIDTH   "minwidth"

◆ WEED_LEAF_NAME

#define WEED_LEAF_NAME   "name"

◆ WEED_LEAF_NATURAL_SIZE

#define WEED_LEAF_NATURAL_SIZE   "natural_size"

◆ WEED_LEAF_NEW_DEFAULT

#define WEED_LEAF_NEW_DEFAULT   "new_default"

WEED_LEAF_FLAGS WEED_LEAF_GUI WEED_LEAF_DESCRIPTION

◆ WEED_LEAF_NUM_ELEMENTS_FUNC

#define WEED_LEAF_NUM_ELEMENTS_FUNC   "weed_leaf_num_elements_func"

◆ WEED_LEAF_OFFSET

#define WEED_LEAF_OFFSET   "offset"

threading

◆ WEED_LEAF_OUT_CHANNEL_TEMPLATES

#define WEED_LEAF_OUT_CHANNEL_TEMPLATES   "out_chan_tmpls"

◆ WEED_LEAF_OUT_CHANNELS

#define WEED_LEAF_OUT_CHANNELS   "out_channels"

◆ WEED_LEAF_OUT_PARAMETER_TEMPLATES

#define WEED_LEAF_OUT_PARAMETER_TEMPLATES   "out_param_tmpls"

◆ WEED_LEAF_OUT_PARAMETERS

#define WEED_LEAF_OUT_PARAMETERS   "out_parameters"

◆ WEED_LEAF_PACKAGE_NAME

#define WEED_LEAF_PACKAGE_NAME   "package_name"

◆ WEED_LEAF_PALETTE_LIST

#define WEED_LEAF_PALETTE_LIST   "palette_list"

◆ WEED_LEAF_PARAM_TYPE

#define WEED_LEAF_PARAM_TYPE   "param_type"

◆ WEED_LEAF_PIXEL_ASPECT_RATIO

#define WEED_LEAF_PIXEL_ASPECT_RATIO   "par"

optional for VIDEO WEED_LEAF_YUV_CLAMPING WEED_LEAF_YUV_SAMPLING WEED_LEAF_YUV_SUBSPACE

◆ WEED_LEAF_PIXEL_DATA

#define WEED_LEAF_PIXEL_DATA   "pixel_data"

WEED_LEAF_FLAGS.

WEED_LEAF_WIDTH WEED_LEAF_HEIGHT

◆ WEED_LEAF_PLUGIN_INFO

#define WEED_LEAF_PLUGIN_INFO   "plugin_info"

◆ WEED_LEAF_PREFERRED_FPS

#define WEED_LEAF_PREFERRED_FPS   "target_fps"

◆ WEED_LEAF_PROCESS_FUNC

#define WEED_LEAF_PROCESS_FUNC   "process_func"

◆ WEED_LEAF_REALLOC_FUNC

#define WEED_LEAF_REALLOC_FUNC   "weed_realloc_func"

◆ WEED_LEAF_ROWSTRIDES

#define WEED_LEAF_ROWSTRIDES   "rowstrides"

◆ WEED_LEAF_SEED_TYPE_FUNC

#define WEED_LEAF_SEED_TYPE_FUNC   "weed_leaf_seed_type_func"

◆ WEED_LEAF_SET_FUNC

#define WEED_LEAF_SET_FUNC   "weed_leaf_set_func"

◆ WEED_LEAF_STEP_SIZE

#define WEED_LEAF_STEP_SIZE   "step_size"

◆ WEED_LEAF_TARGET_FPS

#define WEED_LEAF_TARGET_FPS   "target_fps"

◆ WEED_LEAF_TEMPLATE

#define WEED_LEAF_TEMPLATE   "template"

WEED_LEAF_PALETTE_LIST.

◆ WEED_LEAF_URL

#define WEED_LEAF_URL   "url"

◆ WEED_LEAF_USE_MNEMONIC

#define WEED_LEAF_USE_MNEMONIC   "use_mnemonic"

◆ WEED_LEAF_VALUE

#define WEED_LEAF_VALUE   "value"

◆ WEED_LEAF_VERBOSITY

#define WEED_LEAF_VERBOSITY   "verbosity"

◆ WEED_LEAF_VERSION

#define WEED_LEAF_VERSION   "version"

◆ WEED_LEAF_VSTEP

#define WEED_LEAF_VSTEP   "vstep"

◆ WEED_LEAF_WIDTH

#define WEED_LEAF_WIDTH   "width"

◆ WEED_LEAF_WRAP

#define WEED_LEAF_WRAP   "wrap"

◆ WEED_LEAF_YUV_CLAMPING

#define WEED_LEAF_YUV_CLAMPING   "YUV_clamping"

◆ WEED_LEAF_YUV_SAMPLING

#define WEED_LEAF_YUV_SAMPLING   "YUV_sampling"

◆ WEED_LEAF_YUV_SUBSPACE

#define WEED_LEAF_YUV_SUBSPACE   "YUV_subspace"

◆ WEED_PARAM_COLOR

#define WEED_PARAM_COLOR   5

◆ WEED_PARAM_FLOAT

#define WEED_PARAM_FLOAT   2

◆ WEED_PARAM_INTEGER

#define WEED_PARAM_INTEGER   1

◆ WEED_PARAM_SWITCH

#define WEED_PARAM_SWITCH   4

◆ WEED_PARAM_TEXT

#define WEED_PARAM_TEXT   3

◆ WEED_PARAM_UNSPECIFIED

#define WEED_PARAM_UNSPECIFIED   0

◆ WEED_PARAMETER_REINIT_ON_VALUE_CHANGE

#define WEED_PARAMETER_REINIT_ON_VALUE_CHANGE   (1 << 0)

◆ WEED_PARAMETER_VALUE_IRRELEVANT

#define WEED_PARAMETER_VALUE_IRRELEVANT   (1 << 3)

◆ WEED_PARAMETER_VALUE_PER_CHANNEL

#define WEED_PARAMETER_VALUE_PER_CHANNEL   (1 << 2)

◆ WEED_PARAMETER_VARIABLE_SIZE

#define WEED_PARAMETER_VARIABLE_SIZE   (1 << 1)

◆ WEED_PLANT_CHANNEL

#define WEED_PLANT_CHANNEL   6

◆ WEED_PLANT_CHANNEL_TEMPLATE

#define WEED_PLANT_CHANNEL_TEMPLATE   4

◆ WEED_PLANT_FILTER_CLASS

#define WEED_PLANT_FILTER_CLASS   2

◆ WEED_PLANT_FILTER_INSTANCE

#define WEED_PLANT_FILTER_INSTANCE   3

◆ WEED_PLANT_FREE_FUNC

#define WEED_PLANT_FREE_FUNC   "weed_plant_free_func"

◆ WEED_PLANT_GUI

#define WEED_PLANT_GUI   8

◆ WEED_PLANT_HOST_INFO

#define WEED_PLANT_HOST_INFO   9

◆ WEED_PLANT_LIST_LEAVES_FUNC

#define WEED_PLANT_LIST_LEAVES_FUNC   "weed_plant_list_leaves_func"

◆ WEED_PLANT_NEW_FUNC

#define WEED_PLANT_NEW_FUNC   "weed_plant_new_func"

◆ WEED_PLANT_PARAMETER

#define WEED_PLANT_PARAMETER   7

◆ WEED_PLANT_PARAMETER_TEMPLATE

#define WEED_PLANT_PARAMETER_TEMPLATE   5

◆ WEED_PLANT_PLUGIN_INFO

#define WEED_PLANT_PLUGIN_INFO   1

◆ WEED_VERBOSITY_CRITICAL

#define WEED_VERBOSITY_CRITICAL   -1

only critical errors which prevent the plugin / filter from operating AT ALL

◆ WEED_VERBOSITY_DEBUG

#define WEED_VERBOSITY_DEBUG   3

output to assist with debugging the plugin / filter

◆ WEED_VERBOSITY_ERROR

#define WEED_VERBOSITY_ERROR   0

default choice a (errors which prevent normal operation)

◆ WEED_VERBOSITY_INFO

#define WEED_VERBOSITY_INFO   2

info (any additional non-debug info)

◆ WEED_VERBOSITY_SILENT

#define WEED_VERBOSITY_SILENT   -2

no output

◆ WEED_VERBOSITY_WARN

#define WEED_VERBOSITY_WARN   1

default choice b (errors which adversly affect operation)

Typedef Documentation

◆ weed_bootstrap_f

typedef weed_plant_t*(* weed_bootstrap_f) (weed_default_getter_f *, int32_t plugin_weed_min_api_version, int32_t plugin_weed_max_api_version, int32_t plugin_filter_min_api_version, int32_t plugin_filter_max_api_version)

◆ weed_default_getter_f

typedef weed_error_t(* weed_default_getter_f) (weed_plant_t *plant, const char *key, void *value)

◆ weed_deinit_f

typedef weed_error_t(* weed_deinit_f) (weed_plant_t *filter_instance)

◆ weed_desetup_f

typedef void(* weed_desetup_f) (void)

◆ weed_display_f

typedef void(* weed_display_f) (weed_plant_t *parameter)

◆ weed_init_f

typedef weed_error_t(* weed_init_f) (weed_plant_t *filter_instance)

◆ weed_interpolate_f

typedef weed_error_t(* weed_interpolate_f) (weed_plant_t **in_values, weed_plant_t *out_value)

◆ weed_process_f

typedef weed_error_t(* weed_process_f) (weed_plant_t *filter_instance, weed_timecode_t timestamp)

◆ weed_setup_f

typedef weed_plant_t*(* weed_setup_f) (weed_bootstrap_f weed_boot)

◆ weed_timecode_t

typedef int64_t weed_timecode_t