00001 #ifndef _720TO480_H
00002 #define _720TO480_H
00003
00004
00005 #include "pluginvclient.h"
00006
00007 class _720to480Main;
00008 class _720to480Order;
00009 class _720to480Direction;
00010
00011 class _720to480Window : public BC_Window
00012 {
00013 public:
00014 _720to480Window(_720to480Main *client, int x, int y);
00015 ~_720to480Window();
00016
00017 int create_objects();
00018 int close_event();
00019 int set_first_field(int first_field);
00020 int set_direction(int direction);
00021
00022 _720to480Main *client;
00023 _720to480Order *odd_first;
00024 _720to480Order *even_first;
00025 _720to480Direction *forward;
00026 _720to480Direction *reverse;
00027 };
00028
00029
00030 class _720to480Order : public BC_Radial
00031 {
00032 public:
00033 _720to480Order(_720to480Main *client,
00034 _720to480Window *window,
00035 int output,
00036 int x,
00037 int y,
00038 char *text);
00039 int handle_event();
00040
00041 _720to480Main *client;
00042 _720to480Window *window;
00043 int output;
00044 };
00045
00046 class _720to480Direction : public BC_Radial
00047 {
00048 public:
00049 _720to480Direction(_720to480Main *client,
00050 _720to480Window *window,
00051 int output,
00052 int x,
00053 int y,
00054 char *text);
00055 int handle_event();
00056
00057 _720to480Main *client;
00058 _720to480Window *window;
00059 int output;
00060 };
00061
00062 class _720to480Config
00063 {
00064 public:
00065 _720to480Config();
00066
00067 int first_field;
00068 int direction;
00069 };
00070
00071 class _720to480Main : public PluginVClient
00072 {
00073 public:
00074 _720to480Main(PluginServer *server);
00075 ~_720to480Main();
00076
00077
00078
00079
00080
00081 char* plugin_title();
00082 int get_parameters();
00083 int start_loop();
00084 int stop_loop();
00085 int is_realtime();
00086 void save_data(KeyFrame *keyframe);
00087 void read_data(KeyFrame *keyframe);
00088 int load_defaults();
00089 int save_defaults();
00090 double get_framerate();
00091 int process_loop(VFrame *output);
00092
00093 void reduce_field(VFrame *output, VFrame *input, int dest_row);
00094
00095
00096 BC_Hash *defaults;
00097 MainProgressBar *progress;
00098
00099 _720to480Config config;
00100 VFrame *temp;
00101 int input_position;
00102 };
00103
00104
00105 #endif