Fixed initialisation of tf in file_open(). Without setting the memory to 0,
[cinelerra_cv/mob.git] / plugins / denoisevideo / denoisevideo.h
blob1a2c038d997a7f669bcd900bce64aad88dd68cea
1 #ifndef DENOISEVIDEO_H
2 #define DENOISEVIDEO_H
4 class DenoiseVideo;
5 class DenoiseVideoWindow;
7 #include "bcdisplayinfo.h"
8 #include "bchash.inc"
9 #include "pluginvclient.h"
10 #include "vframe.inc"
14 class DenoiseVideoConfig
16 public:
17 DenoiseVideoConfig();
19 int equivalent(DenoiseVideoConfig &that);
20 void copy_from(DenoiseVideoConfig &that);
21 void interpolate(DenoiseVideoConfig &prev,
22 DenoiseVideoConfig &next,
23 long prev_frame,
24 long next_frame,
25 long current_frame);
27 int frames;
28 float threshold;
29 int do_r, do_g, do_b, do_a;
35 class DenoiseVideoFrames : public BC_ISlider
37 public:
38 DenoiseVideoFrames(DenoiseVideo *plugin, int x, int y);
39 int handle_event();
40 DenoiseVideo *plugin;
44 class DenoiseVideoThreshold : public BC_TextBox
46 public:
47 DenoiseVideoThreshold(DenoiseVideo *plugin, int x, int y);
48 int handle_event();
49 DenoiseVideo *plugin;
52 class DenoiseVideoToggle : public BC_CheckBox
54 public:
55 DenoiseVideoToggle(DenoiseVideo *plugin,
56 DenoiseVideoWindow *gui,
57 int x,
58 int y,
59 int *output,
60 char *text);
61 int handle_event();
62 DenoiseVideo *plugin;
63 int *output;
67 class DenoiseVideoWindow : public BC_Window
69 public:
70 DenoiseVideoWindow(DenoiseVideo *plugin, int x, int y);
72 void create_objects();
73 int close_event();
75 DenoiseVideo *plugin;
76 DenoiseVideoFrames *frames;
77 DenoiseVideoThreshold *threshold;
78 DenoiseVideoToggle *do_r, *do_g, *do_b, *do_a;
82 PLUGIN_THREAD_HEADER(DenoiseVideo, DenoiseVideoThread, DenoiseVideoWindow)
84 class DenoiseVideo : public PluginVClient
86 public:
87 DenoiseVideo(PluginServer *server);
88 ~DenoiseVideo();
90 int process_realtime(VFrame *input, VFrame *output);
91 int is_realtime();
92 char* plugin_title();
93 VFrame* new_picon();
94 int show_gui();
95 int load_configuration();
96 int set_string();
97 int load_defaults();
98 int save_defaults();
99 void save_data(KeyFrame *keyframe);
100 void read_data(KeyFrame *keyframe);
101 void raise_window();
102 void update_gui();
104 float *accumulation;
105 DenoiseVideoThread *thread;
106 DenoiseVideoConfig config;
107 BC_Hash *defaults;
112 #endif