7 #define TOTAL_PATTERNS 3
9 static char *pattern_text
[] =
17 #include "loadbalance.h"
19 #include "pluginvclient.h"
20 #include "ivtcwindow.h"
21 #include <sys/types.h>
43 class IVTCMain
: public PluginVClient
46 IVTCMain(PluginServer
*server
);
49 // required for all realtime plugins
50 int process_realtime(VFrame
*input_ptr
, VFrame
*output_ptr
);
52 void save_data(KeyFrame
*keyframe
);
53 void read_data(KeyFrame
*keyframe
);
54 PLUGIN_CLASS_MEMBERS(IVTCConfig
, IVTCThread
)
60 void compare_fields(VFrame
*frame1
,
64 int64_t compare(VFrame
*current_avg
,
69 void deinterlace_avg(VFrame
*output
, VFrame
*input
, int dominance
);
72 VFrame
*temp_frame
[2];
73 VFrame
*input
, *output
;
74 int64_t even_vs_current
;
76 int64_t odd_vs_current
;
82 class IVTCPackage
: public LoadPackage
89 class IVTCUnit
: public LoadClient
92 IVTCUnit(IVTCEngine
*server
, IVTCMain
*plugin
);
93 void process_package(LoadPackage
*package
);
97 int64_t even_vs_current
;
99 int64_t odd_vs_current
;
104 class IVTCEngine
: public LoadServer
107 IVTCEngine(IVTCMain
*plugin
, int cpus
);
109 void init_packages();
110 LoadClient
* new_client();
111 LoadPackage
* new_package();