5 #include "histogramengine.inc"
6 #include "loadbalance.h"
7 #include "thresholdwindow.inc"
8 #include "plugincolors.inc"
9 #include "pluginvclient.h"
12 class ThresholdEngine
;
18 int equivalent(ThresholdConfig
&that
);
19 void copy_from(ThresholdConfig
&that
);
20 void interpolate(ThresholdConfig
&prev
,
21 ThresholdConfig
&next
,
24 int64_t current_frame
);
35 class ThresholdMain
: public PluginVClient
38 ThresholdMain(PluginServer
*server
);
41 int process_buffer(VFrame
*frame
,
42 int64_t start_position
,
47 void save_data(KeyFrame
*keyframe
);
48 void read_data(KeyFrame
*keyframe
);
50 void render_gui(void *data
);
51 void calculate_histogram(VFrame
*frame
);
54 PLUGIN_CLASS_MEMBERS(ThresholdConfig
, ThresholdThread
);
55 HistogramEngine
*engine
;
56 ThresholdEngine
*threshold_engine
;
64 class ThresholdPackage
: public LoadPackage
73 class ThresholdUnit
: public LoadClient
76 ThresholdUnit(ThresholdEngine
*server
);
77 void process_package(LoadPackage
*package
);
79 ThresholdEngine
*server
;
83 class ThresholdEngine
: public LoadServer
86 ThresholdEngine(ThresholdMain
*plugin
);
89 void process_packages(VFrame
*data
);
91 LoadClient
* new_client();
92 LoadPackage
* new_package();
95 ThresholdMain
*plugin
;