r860: Merge 2.1:
[cinelerra_cv.git] / plugins / rgb601 / rgb601.h
bloba2ecec6564609f85243962bbd886706e95d482ad
1 #ifndef RGB601_H
2 #define RGB601_H
4 class RGB601Main;
6 #define TOTAL_PATTERNS 2
8 #include "bchash.h"
9 #include "mutex.h"
10 #include "pluginvclient.h"
11 #include "rgb601window.h"
12 #include <sys/types.h>
14 class RGB601Config
16 public:
17 RGB601Config();
18 // 0 -> none
19 // 1 -> RGB -> 601
20 // 2 -> 601 -> RGB
21 int direction;
24 class RGB601Main : public PluginVClient
26 public:
27 RGB601Main(PluginServer *server);
28 ~RGB601Main();
30 // required for all realtime plugins
31 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
32 int is_realtime();
33 char* plugin_title();
34 int show_gui();
35 void update_gui();
36 void raise_window();
37 int set_string();
38 void load_configuration();
39 void save_data(KeyFrame *keyframe);
40 void read_data(KeyFrame *keyframe);
41 int load_defaults();
42 int save_defaults();
43 VFrame* new_picon();
45 void create_table(VFrame *input_ptr);
46 void process(int *table, VFrame *input_ptr, VFrame *output_ptr);
48 RGB601Thread *thread;
49 RGB601Config config;
50 BC_Hash *defaults;
51 int forward_table[0x10000], reverse_table[0x10000];
55 #endif