void read_data(KeyFrame *keyframe);
void update_gui();
void render_gui(void *data);
+ void do_render_gui(HistogramWindow *gui);
int calculate_use_opengl();
int handle_opengl();
// Value is only calculated for preview.
void calculate_histogram(VFrame *data, int do_value);
// Calculate the linear, smoothed, lookup curves
- void tabulate_curve(int subscript, int use_value);
-
-
+ void tabulate_curve(int **table, int idx, int use_value, int len);
+ void tabulate_curve(int **table, int use_value, int len=-1);
VFrame *input, *output;
HistogramEngine *engine;
+
+ int need_reconfigure;
int *lookup[HISTOGRAM_MODES];
// No value applied to this
int *preview_lookup[HISTOGRAM_MODES];
- int *accum[HISTOGRAM_MODES];
+ int64_t *accum[HISTOGRAM_MODES];
// Input point being dragged or edited
int current_point;
// Current channel being viewed
int point_y_offset;
int w, h;
int parade;
+ int64_t last_position;
+ int sum_frames, frames;
};
+
class HistogramPackage : public LoadPackage
{
public:
void process_package(LoadPackage *package);
HistogramEngine *server;
HistogramMain *plugin;
- int *accum[5];
+ int64_t *accum[HISTOGRAM_MODES];
};
class HistogramEngine : public LoadServer