r864: Merge 2.1:
[cinelerra_cv/ct.git] / plugins / rgb601 / rgb601.h
blob051f07ec40195f75e5b10ff5037a0deebb288652
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_buffer(VFrame *frame,
32 int64_t start_position,
33 double frame_rate);
34 int is_realtime();
35 char* plugin_title();
36 int show_gui();
37 void update_gui();
38 void raise_window();
39 int set_string();
40 void load_configuration();
41 void save_data(KeyFrame *keyframe);
42 void read_data(KeyFrame *keyframe);
43 int load_defaults();
44 int save_defaults();
45 VFrame* new_picon();
47 void create_table(VFrame *input_ptr);
48 void process(int *table, VFrame *input_ptr, VFrame *output_ptr);
50 RGB601Thread *thread;
51 RGB601Config config;
52 BC_Hash *defaults;
53 int forward_table[0x10000], reverse_table[0x10000];
57 #endif