frei0r
frei0r.h
Go to the documentation of this file.
1
209#ifndef INCLUDED_FREI0R_H
210#define INCLUDED_FREI0R_H
211
212#include <inttypes.h>
213
217#define FREI0R_MAJOR_VERSION 1
218
222#define FREI0R_MINOR_VERSION 2
223
224//---------------------------------------------------------------------------
225
230int f0r_init(void);
231
236void f0r_deinit(void);
237
238//---------------------------------------------------------------------------
239
247#define F0R_PLUGIN_TYPE_FILTER 0
249#define F0R_PLUGIN_TYPE_SOURCE 1
251#define F0R_PLUGIN_TYPE_MIXER2 2
253#define F0R_PLUGIN_TYPE_MIXER3 3
254
257//---------------------------------------------------------------------------
258
299#define F0R_COLOR_MODEL_BGRA8888 0
300
308#define F0R_COLOR_MODEL_RGBA8888 1
309
322#define F0R_COLOR_MODEL_PACKED32 2
341typedef struct f0r_plugin_info
342{
343 const char* name;
344 const char* author;
354 const char* explanation;
356
357
364
365//---------------------------------------------------------------------------
366
377#define F0R_PARAM_BOOL 0
378
383#define F0R_PARAM_DOUBLE 1
384
389#define F0R_PARAM_COLOR 2
394#define F0R_PARAM_POSITION 3
395
400#define F0R_PARAM_STRING 4
401
406typedef double f0r_param_bool;
407
411typedef double f0r_param_double;
412
416typedef struct f0r_param_color
417{
418 float r;
419 float g;
420 float b;
422
426typedef struct f0r_param_position
427{
428 double x;
429 double y;
431
432
437typedef char* f0r_param_string;
438
448typedef struct f0r_param_info
449{
450 const char* name;
451 int type;
452 const char* explanation;
454
463void f0r_get_param_info(f0r_param_info_t* info, int param_index);
464
465//---------------------------------------------------------------------------
466
470typedef void* f0r_instance_t;
471
486f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
487
496
497//---------------------------------------------------------------------------
498
502typedef void* f0r_param_t;
503
529 f0r_param_t param, int param_index);
530
549 f0r_param_t param, int param_index);
550
551//---------------------------------------------------------------------------
552
579 double time, const uint32_t* inframe, uint32_t* outframe);
580
581//---------------------------------------------------------------------------
582
605 double time,
606 const uint32_t* inframe1,
607 const uint32_t* inframe2,
608 const uint32_t* inframe3,
609 uint32_t* outframe);
610//---------------------------------------------------------------------------
611
612#endif
int f0r_init(void)
void * f0r_param_t
Definition: frei0r.h:502
void f0r_destruct(f0r_instance_t instance)
void f0r_get_param_info(f0r_param_info_t *info, int param_index)
struct f0r_param_info f0r_param_info_t
void f0r_update2(f0r_instance_t instance, double time, const uint32_t *inframe1, const uint32_t *inframe2, const uint32_t *inframe3, uint32_t *outframe)
void f0r_update(f0r_instance_t instance, double time, const uint32_t *inframe, uint32_t *outframe)
void f0r_get_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
struct f0r_plugin_info f0r_plugin_info_t
void f0r_get_plugin_info(f0r_plugin_info_t *info)
void * f0r_instance_t
Definition: frei0r.h:470
void f0r_deinit(void)
void f0r_set_param_value(f0r_instance_t instance, f0r_param_t param, int param_index)
f0r_instance_t f0r_construct(unsigned int width, unsigned int height)
double f0r_param_double
Definition: frei0r.h:411
double f0r_param_bool
Definition: frei0r.h:406
struct f0r_param_position f0r_param_position_t
char * f0r_param_string
Definition: frei0r.h:437
struct f0r_param_color f0r_param_color_t
const char * explanation
Definition: frei0r.h:452
const char * name
Definition: frei0r.h:450
int color_model
Definition: frei0r.h:349
const char * name
Definition: frei0r.h:343
int major_version
Definition: frei0r.h:351
int num_params
Definition: frei0r.h:353
const char * explanation
Definition: frei0r.h:354
int frei0r_version
Definition: frei0r.h:350
int minor_version
Definition: frei0r.h:352
const char * author
Definition: frei0r.h:344
int plugin_type
Definition: frei0r.h:348