frei0r.h
Go to the documentation of this file.00001
00200 #ifndef INCLUDED_FREI0R_H
00201 #define INCLUDED_FREI0R_H
00202
00203 #include <inttypes.h>
00204
00208 #define FREI0R_MAJOR_VERSION 1
00209
00213 #define FREI0R_MINOR_VERSION 2
00214
00215
00216
00221 int f0r_init();
00222
00227 void f0r_deinit();
00228
00229
00230
00238 #define F0R_PLUGIN_TYPE_FILTER 0
00239
00240 #define F0R_PLUGIN_TYPE_SOURCE 1
00241
00242 #define F0R_PLUGIN_TYPE_MIXER2 2
00243
00244 #define F0R_PLUGIN_TYPE_MIXER3 3
00245
00248
00249
00290 #define F0R_COLOR_MODEL_BGRA8888 0
00291
00299 #define F0R_COLOR_MODEL_RGBA8888 1
00300
00313 #define F0R_COLOR_MODEL_PACKED32 2
00314
00332 typedef struct f0r_plugin_info
00333 {
00334 const char* name;
00335 const char* author;
00339 int plugin_type;
00340 int color_model;
00341 int frei0r_version;
00342 int major_version;
00343 int minor_version;
00344 int num_params;
00345 const char* explanation;
00346 } f0r_plugin_info_t;
00347
00348
00354 void f0r_get_plugin_info(f0r_plugin_info_t* info);
00355
00356
00357
00368 #define F0R_PARAM_BOOL 0
00369
00374 #define F0R_PARAM_DOUBLE 1
00375
00380 #define F0R_PARAM_COLOR 2
00381
00385 #define F0R_PARAM_POSITION 3
00386
00391 #define F0R_PARAM_STRING 4
00392
00397 typedef double f0r_param_bool;
00398
00402 typedef double f0r_param_double;
00403
00407 typedef struct f0r_param_color
00408 {
00409 float r;
00410 float g;
00411 float b;
00412 } f0r_param_color_t;
00413
00417 typedef struct f0r_param_position
00418 {
00419 double x;
00420 double y;
00421 } f0r_param_position_t;
00422
00423
00428 typedef char f0r_param_string;
00429
00439 typedef struct f0r_param_info
00440 {
00441 const char* name;
00442 int type;
00443 const char* explanation;
00444 } f0r_param_info_t;
00445
00454 void f0r_get_param_info(f0r_param_info_t* info, int param_index);
00455
00456
00457
00461 typedef void* f0r_instance_t;
00462
00477 f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
00478
00486 void f0r_destruct(f0r_instance_t instance);
00487
00488
00489
00493 typedef void* f0r_param_t;
00494
00513 void f0r_set_param_value(f0r_instance_t instance,
00514 f0r_param_t param, int param_index);
00515
00526 void f0r_get_param_value(f0r_instance_t instance,
00527 f0r_param_t param, int param_index);
00528
00529
00530
00556 void f0r_update(f0r_instance_t instance,
00557 double time, const uint32_t* inframe, uint32_t* outframe);
00558
00559
00560
00582 void f0r_update2(f0r_instance_t instance,
00583 double time,
00584 const uint32_t* inframe1,
00585 const uint32_t* inframe2,
00586 const uint32_t* inframe3,
00587 uint32_t* outframe);
00588
00589
00590 #endif