6 #include "bcdisplayinfo.h"
7 #include "defaults.inc"
8 #include "pluginvclient.h"
13 class DenoiseMJPEGConfig
18 int equivalent(DenoiseMJPEGConfig
&that
);
19 void copy_from(DenoiseMJPEGConfig
&that
);
20 void interpolate(DenoiseMJPEGConfig
&prev
,
21 DenoiseMJPEGConfig
&next
,
38 class DenoiseMJPEGWindow
;
40 class DenoiseMJPEGRadius
: public BC_IPot
43 DenoiseMJPEGRadius(DenoiseMJPEG
*plugin
, int x
, int y
);
48 class DenoiseMJPEGThresh
: public BC_IPot
51 DenoiseMJPEGThresh(DenoiseMJPEG
*plugin
, int x
, int y
);
56 class DenoiseMJPEGThresh2
: public BC_IPot
59 DenoiseMJPEGThresh2(DenoiseMJPEG
*plugin
, int x
, int y
);
64 class DenoiseMJPEGSharp
: public BC_IPot
67 DenoiseMJPEGSharp(DenoiseMJPEG
*plugin
, int x
, int y
);
72 class DenoiseMJPEGLContrast
: public BC_IPot
75 DenoiseMJPEGLContrast(DenoiseMJPEG
*plugin
, int x
, int y
);
80 class DenoiseMJPEGCContrast
: public BC_IPot
83 DenoiseMJPEGCContrast(DenoiseMJPEG
*plugin
, int x
, int y
);
88 class DenoiseMJPEGDeinterlace
: public BC_CheckBox
91 DenoiseMJPEGDeinterlace(DenoiseMJPEG
*plugin
, int x
, int y
);
96 class DenoiseMJPEGModeInterlaced
: public BC_Radial
99 DenoiseMJPEGModeInterlaced(DenoiseMJPEG
*plugin
, DenoiseMJPEGWindow
*gui
, int x
, int y
);
101 DenoiseMJPEG
*plugin
;
102 DenoiseMJPEGWindow
*gui
;
105 class DenoiseMJPEGModeProgressive
: public BC_Radial
108 DenoiseMJPEGModeProgressive(DenoiseMJPEG
*plugin
, DenoiseMJPEGWindow
*gui
, int x
, int y
);
110 DenoiseMJPEG
*plugin
;
111 DenoiseMJPEGWindow
*gui
;
114 class DenoiseMJPEGModeFast
: public BC_Radial
117 DenoiseMJPEGModeFast(DenoiseMJPEG
*plugin
, DenoiseMJPEGWindow
*gui
, int x
, int y
);
119 DenoiseMJPEG
*plugin
;
120 DenoiseMJPEGWindow
*gui
;
123 class DenoiseMJPEGDelay
: public BC_IPot
126 DenoiseMJPEGDelay(DenoiseMJPEG
*plugin
, int x
, int y
);
128 DenoiseMJPEG
*plugin
;
132 class DenoiseMJPEGWindow
: public BC_Window
135 DenoiseMJPEGWindow(DenoiseMJPEG
*plugin
, int x
, int y
);
137 void create_objects();
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
164 DenoiseMJPEG(PluginServer
*server
);
167 int process_realtime(VFrame
*input
, VFrame
*output
);
169 char* plugin_title();
172 int load_configuration();
176 void save_data(KeyFrame
*keyframe
);
177 void read_data(KeyFrame
*keyframe
);
182 DenoiseMJPEGThread
*thread
;
183 DenoiseMJPEGConfig config
;