4 // the simplest plugin possible
8 #include "defaults.inc"
9 #include "deinterwindow.h"
10 #include "pluginvclient.h"
15 #define THRESHOLD_SCALAR 1000
24 DEINTERLACE_SWAP_EVEN
,
29 class DeInterlaceConfig
34 int equivalent(DeInterlaceConfig
&that
);
35 void copy_from(DeInterlaceConfig
&that
);
36 void interpolate(DeInterlaceConfig
&prev
,
37 DeInterlaceConfig
&next
,
40 int64_t current_frame
);
47 class DeInterlaceMain
: public PluginVClient
50 DeInterlaceMain(PluginServer
*server
);
54 PLUGIN_CLASS_MEMBERS(DeInterlaceConfig
, DeInterlaceThread
)
57 // required for all realtime plugins
58 int process_realtime(VFrame
*input
, VFrame
*output
);
62 void save_data(KeyFrame
*keyframe
);
63 void read_data(KeyFrame
*keyframe
);
66 void render_gui(void *data
);
68 void deinterlace_even(VFrame
*input
, VFrame
*output
, int dominance
);
69 void deinterlace_avg_even(VFrame
*input
, VFrame
*output
, int dominance
);
70 void deinterlace_avg(VFrame
*input
, VFrame
*output
);
71 void deinterlace_swap(VFrame
*input
, VFrame
*output
, int dominance
);