4 class ColorBalanceMain
;
6 #include "colorbalancewindow.h"
7 #include "plugincolors.h"
10 #include "pluginvclient.h"
17 class ColorBalanceConfig
22 int equivalent(ColorBalanceConfig
&that
);
23 void copy_from(ColorBalanceConfig
&that
);
24 void interpolate(ColorBalanceConfig
&prev
,
25 ColorBalanceConfig
&next
,
28 int64_t current_frame
);
37 class ColorBalanceEngine
: public Thread
40 ColorBalanceEngine(ColorBalanceMain
*plugin
);
41 ~ColorBalanceEngine();
43 int start_process_frame(VFrame
*output
, VFrame
*input
, int row_start
, int row_end
);
44 int wait_process_frame();
47 ColorBalanceMain
*plugin
;
48 int row_start
, row_end
;
50 Mutex input_lock
, output_lock
;
51 VFrame
*input
, *output
;
55 class ColorBalanceMain
: public PluginVClient
58 ColorBalanceMain(PluginServer
*server
);
61 // required for all realtime plugins
62 int process_realtime(VFrame
*input_ptr
, VFrame
*output_ptr
);
68 int load_configuration();
69 void save_data(KeyFrame
*keyframe
);
70 void read_data(KeyFrame
*keyframe
);
75 // parameters needed for processor
77 int synchronize_params(ColorBalanceSlider
*slider
, float difference
);
78 int test_boundary(float &value
);
80 ColorBalanceConfig config
;
81 // a thread for the GUI
82 ColorBalanceThread
*thread
;
83 ColorBalanceEngine
**engine
;
88 int r_lookup_8
[0x100];
89 int g_lookup_8
[0x100];
90 int b_lookup_8
[0x100];
91 double highlights_add_8
[0x100];
92 double highlights_sub_8
[0x100];
93 int r_lookup_16
[0x10000];
94 int g_lookup_16
[0x10000];
95 int b_lookup_16
[0x10000];
96 double highlights_add_16
[0x10000];
97 double highlights_sub_16
[0x10000];