frei0r.h
Go to the documentation of this file.
#ifndef INCLUDED_FREI0R_H
#define INCLUDED_FREI0R_H
#include <inttypes.h>
#define FREI0R_MAJOR_VERSION 1
#define FREI0R_MINOR_VERSION 2
//---------------------------------------------------------------------------
int f0r_init(void);
void f0r_deinit(void);
//---------------------------------------------------------------------------
#define F0R_PLUGIN_TYPE_FILTER 0
#define F0R_PLUGIN_TYPE_SOURCE 1
#define F0R_PLUGIN_TYPE_MIXER2 2
#define F0R_PLUGIN_TYPE_MIXER3 3
//---------------------------------------------------------------------------
#define F0R_COLOR_MODEL_BGRA8888 0
#define F0R_COLOR_MODEL_RGBA8888 1
#define F0R_COLOR_MODEL_PACKED32 2
typedef struct f0r_plugin_info
{
const char* name;
const char* author;
int plugin_type;
int color_model;
int frei0r_version;
int major_version;
int minor_version;
int num_params;
const char* explanation;
} f0r_plugin_info_t;
void f0r_get_plugin_info(f0r_plugin_info_t* info);
//---------------------------------------------------------------------------
#define F0R_PARAM_BOOL 0
#define F0R_PARAM_DOUBLE 1
#define F0R_PARAM_COLOR 2
#define F0R_PARAM_POSITION 3
#define F0R_PARAM_STRING 4
typedef double f0r_param_bool;
typedef double f0r_param_double;
typedef struct f0r_param_color
{
float r;
float g;
float b;
} f0r_param_color_t;
typedef struct f0r_param_position
{
double x;
double y;
} f0r_param_position_t;
typedef char* f0r_param_string;
typedef struct f0r_param_info
{
const char* name;
int type;
const char* explanation;
} f0r_param_info_t;
void f0r_get_param_info(f0r_param_info_t* info, int param_index);
//---------------------------------------------------------------------------
typedef void* f0r_instance_t;
f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
void f0r_destruct(f0r_instance_t instance);
//---------------------------------------------------------------------------
typedef void* f0r_param_t;
void f0r_set_param_value(f0r_instance_t instance,
f0r_param_t param, int param_index);
void f0r_get_param_value(f0r_instance_t instance,
f0r_param_t param, int param_index);
//---------------------------------------------------------------------------
void f0r_update(f0r_instance_t instance,
double time, const uint32_t* inframe, uint32_t* outframe);
//---------------------------------------------------------------------------
void f0r_update2(f0r_instance_t instance,
double time,
const uint32_t* inframe1,
const uint32_t* inframe2,
const uint32_t* inframe3,
uint32_t* outframe);
//---------------------------------------------------------------------------
#endif
f0r_init
int f0r_init(void)
f0r_param_t
void * f0r_param_t
Definition frei0r.h:502
f0r_destruct
void f0r_destruct(f0r_instance_t instance)
f0r_get_param_info
void f0r_get_param_info(f0r_param_info_t *info, int param_index)
f0r_param_info_t
struct f0r_param_info f0r_param_info_t
f0r_update2
void f0r_update2(f0r_instance_t instance, double time, const uint32_t *inframe1, const uint32_t *inframe2, const uint32_t *inframe3, uint32_t *outframe)
f0r_update
void f0r_update(f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)
f0r_get_param_value
void f0r_get_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
f0r_plugin_info_t
struct f0r_plugin_info f0r_plugin_info_t
f0r_get_plugin_info
void f0r_get_plugin_info(f0r_plugin_info_t *info)
f0r_instance_t
void * f0r_instance_t
Definition frei0r.h:470
f0r_deinit
void f0r_deinit(void)
f0r_set_param_value
void f0r_set_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
f0r_construct
f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
f0r_param_double
double f0r_param_double
Definition frei0r.h:411
f0r_param_bool
double f0r_param_bool
Definition frei0r.h:406
f0r_param_position_t
struct f0r_param_position f0r_param_position_t
f0r_param_string
char * f0r_param_string
Definition frei0r.h:437
f0r_param_color_t
struct f0r_param_color f0r_param_color_t
f0r_param_color
Definition frei0r.h:417
f0r_param_color::b
float b
Definition frei0r.h:420
f0r_param_color::g
float g
Definition frei0r.h:419
f0r_param_color::r
float r
Definition frei0r.h:418
f0r_param_info
Definition frei0r.h:449
f0r_param_info::explanation
const char * explanation
Definition frei0r.h:452
f0r_param_info::type
int type
Definition frei0r.h:451
f0r_param_info::name
const char * name
Definition frei0r.h:450
f0r_param_position
Definition frei0r.h:427
f0r_param_position::y
double y
Definition frei0r.h:429
f0r_param_position::x
double x
Definition frei0r.h:428
f0r_plugin_info
Definition frei0r.h:342
f0r_plugin_info::color_model
int color_model
Definition frei0r.h:349
f0r_plugin_info::name
const char * name
Definition frei0r.h:343
f0r_plugin_info::major_version
int major_version
Definition frei0r.h:351
f0r_plugin_info::num_params
int num_params
Definition frei0r.h:353
f0r_plugin_info::explanation
const char * explanation
Definition frei0r.h:354
f0r_plugin_info::frei0r_version
int frei0r_version
Definition frei0r.h:350
f0r_plugin_info::minor_version
int minor_version
Definition frei0r.h:352
f0r_plugin_info::author
const char * author
Definition frei0r.h:344
f0r_plugin_info::plugin_type
int plugin_type
Definition frei0r.h:348