-#include <stdint.h>
-#include <string.h>
-
-
-
-
-
-
-
-class ShiftInterlaceWindow;
-class ShiftInterlaceMain;
-
-class ShiftInterlaceConfig
-{
-public:
- ShiftInterlaceConfig();
-
- int equivalent(ShiftInterlaceConfig &that);
- void copy_from(ShiftInterlaceConfig &that);
- void interpolate(ShiftInterlaceConfig &prev,
- ShiftInterlaceConfig &next,
- long prev_frame,
- long next_frame,
- long current_frame);
-
-
- int odd_offset;
- int even_offset;
-};
-
-
-class ShiftInterlaceOdd : public BC_ISlider
-{
-public:
- ShiftInterlaceOdd(ShiftInterlaceMain *plugin, int x, int y);
- int handle_event();
- ShiftInterlaceMain *plugin;
-};
-
-class ShiftInterlaceEven : public BC_ISlider
-{
-public:
- ShiftInterlaceEven(ShiftInterlaceMain *plugin, int x, int y);
- int handle_event();
- ShiftInterlaceMain *plugin;
-};
-
-class ShiftInterlaceWindow : public PluginClientWindow
-{
-public:
- ShiftInterlaceWindow(ShiftInterlaceMain *plugin);
-
- void create_objects();
-
- ShiftInterlaceOdd *odd_offset;
- ShiftInterlaceEven *even_offset;
- ShiftInterlaceMain *plugin;
-};
-
-
-
-
-
-
-class ShiftInterlaceMain : public PluginVClient
-{
-public:
- ShiftInterlaceMain(PluginServer *server);
- ~ShiftInterlaceMain();
-
-// required for all realtime plugins
- PLUGIN_CLASS_MEMBERS(ShiftInterlaceConfig)
- int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
- int is_realtime();
- void update_gui();
- void save_data(KeyFrame *keyframe);
- void read_data(KeyFrame *keyframe);
-
-
- void shift_row(VFrame *input_frame,
- VFrame *output_frame,
- int offset,
- int row);
-
-
-};
-
-