initial commit
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / yuv411 / yuv411.h
1 #ifndef YUV411_H
2 #define YUV411_H
3
4
5 class yuv411Main;
6 class yuv411Window;
7
8 #include "filexml.h"
9 #include "yuv411win.h"
10 #include "guicast.h"
11 #include "pluginvclient.h"
12
13 class yuv411Config
14 {
15 public:
16         yuv411Config();
17         void copy_from(yuv411Config &that);
18         int equivalent(yuv411Config &that);
19         void interpolate(yuv411Config &prev, yuv411Config &next,
20                 long prev_frame, long next_frame, long current_frame);
21         int int_horizontal;
22         int avg_vertical;
23         int inpainting;
24         int offset;
25         int thresh;
26         int bias;
27 };
28
29 class yuv411Main : public PluginVClient
30 {
31         VFrame *temp_frame;
32         int colormodel;
33         friend class yuv411Window;
34 public:
35         yuv411Main(PluginServer *server);
36         ~yuv411Main();
37
38 // required for all realtime plugins
39         PLUGIN_CLASS_MEMBERS(yuv411Config)
40
41         int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
42         int is_realtime();
43         void update_gui();
44         void render_gui(void *data);
45         void save_data(KeyFrame *keyframe);
46         void read_data(KeyFrame *keyframe);
47 };
48
49
50 #endif