r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / denoisemjpeg / denoisemjpeg.h
blob055065500a825847619e89e5f17d165ce0766e62
1 #ifndef DENOISEMJPEG_H
2 #define DENOISEMJPEG_H
4 class DenoiseMJPEG;
6 #include "bcdisplayinfo.h"
7 #include "defaults.inc"
8 #include "pluginvclient.h"
9 #include "vframe.inc"
13 class DenoiseMJPEGConfig
15 public:
16 DenoiseMJPEGConfig();
18 int equivalent(DenoiseMJPEGConfig &that);
19 void copy_from(DenoiseMJPEGConfig &that);
20 void interpolate(DenoiseMJPEGConfig &prev,
21 DenoiseMJPEGConfig &next,
22 long prev_frame,
23 long next_frame,
24 long current_frame);
26 int radius;
27 int threshold;
28 int threshold2;
29 int sharpness;
30 int lcontrast;
31 int ccontrast;
32 int deinterlace;
33 int mode;
34 int delay;
38 class DenoiseMJPEGWindow;
40 class DenoiseMJPEGRadius : public BC_IPot
42 public:
43 DenoiseMJPEGRadius(DenoiseMJPEG *plugin, int x, int y);
44 int handle_event();
45 DenoiseMJPEG *plugin;
48 class DenoiseMJPEGThresh : public BC_IPot
50 public:
51 DenoiseMJPEGThresh(DenoiseMJPEG *plugin, int x, int y);
52 int handle_event();
53 DenoiseMJPEG *plugin;
56 class DenoiseMJPEGThresh2 : public BC_IPot
58 public:
59 DenoiseMJPEGThresh2(DenoiseMJPEG *plugin, int x, int y);
60 int handle_event();
61 DenoiseMJPEG *plugin;
64 class DenoiseMJPEGSharp : public BC_IPot
66 public:
67 DenoiseMJPEGSharp(DenoiseMJPEG *plugin, int x, int y);
68 int handle_event();
69 DenoiseMJPEG *plugin;
72 class DenoiseMJPEGLContrast : public BC_IPot
74 public:
75 DenoiseMJPEGLContrast(DenoiseMJPEG *plugin, int x, int y);
76 int handle_event();
77 DenoiseMJPEG *plugin;
80 class DenoiseMJPEGCContrast : public BC_IPot
82 public:
83 DenoiseMJPEGCContrast(DenoiseMJPEG *plugin, int x, int y);
84 int handle_event();
85 DenoiseMJPEG *plugin;
88 class DenoiseMJPEGDeinterlace : public BC_CheckBox
90 public:
91 DenoiseMJPEGDeinterlace(DenoiseMJPEG *plugin, int x, int y);
92 int handle_event();
93 DenoiseMJPEG *plugin;
96 class DenoiseMJPEGModeInterlaced : public BC_Radial
98 public:
99 DenoiseMJPEGModeInterlaced(DenoiseMJPEG *plugin, DenoiseMJPEGWindow *gui, int x, int y);
100 int handle_event();
101 DenoiseMJPEG *plugin;
102 DenoiseMJPEGWindow *gui;
105 class DenoiseMJPEGModeProgressive : public BC_Radial
107 public:
108 DenoiseMJPEGModeProgressive(DenoiseMJPEG *plugin, DenoiseMJPEGWindow *gui, int x, int y);
109 int handle_event();
110 DenoiseMJPEG *plugin;
111 DenoiseMJPEGWindow *gui;
114 class DenoiseMJPEGModeFast : public BC_Radial
116 public:
117 DenoiseMJPEGModeFast(DenoiseMJPEG *plugin, DenoiseMJPEGWindow *gui, int x, int y);
118 int handle_event();
119 DenoiseMJPEG *plugin;
120 DenoiseMJPEGWindow *gui;
123 class DenoiseMJPEGDelay : public BC_IPot
125 public:
126 DenoiseMJPEGDelay(DenoiseMJPEG *plugin, int x, int y);
127 int handle_event();
128 DenoiseMJPEG *plugin;
132 class DenoiseMJPEGWindow : public BC_Window
134 public:
135 DenoiseMJPEGWindow(DenoiseMJPEG *plugin, int x, int y);
137 void create_objects();
138 int close_event();
139 void update_mode(int value);
141 DenoiseMJPEG *plugin;
142 DenoiseMJPEGRadius *radius;
143 DenoiseMJPEGThresh *threshold1;
144 DenoiseMJPEGThresh2 *threshold2;
145 DenoiseMJPEGSharp *sharpness;
146 DenoiseMJPEGLContrast *lcontrast;
147 DenoiseMJPEGCContrast *ccontrast;
148 DenoiseMJPEGDeinterlace *deinterlace;
149 DenoiseMJPEGModeInterlaced *interlaced;
150 DenoiseMJPEGModeProgressive *progressive;
151 DenoiseMJPEGModeFast *fast;
152 DenoiseMJPEGDelay *delay;
159 PLUGIN_THREAD_HEADER(DenoiseMJPEG, DenoiseMJPEGThread, DenoiseMJPEGWindow)
161 class DenoiseMJPEG : public PluginVClient
163 public:
164 DenoiseMJPEG(PluginServer *server);
165 ~DenoiseMJPEG();
167 int process_realtime(VFrame *input, VFrame *output);
168 int is_realtime();
169 char* plugin_title();
170 VFrame* new_picon();
171 int show_gui();
172 int load_configuration();
173 int set_string();
174 int load_defaults();
175 int save_defaults();
176 void save_data(KeyFrame *keyframe);
177 void read_data(KeyFrame *keyframe);
178 void raise_window();
179 void update_gui();
181 float *accumulation;
182 DenoiseMJPEGThread *thread;
183 DenoiseMJPEGConfig config;
184 Defaults *defaults;
189 #endif