00001 #ifndef FADEENGINE_H 00002 #define FADEENGINE_H 00003 00004 #include "loadbalance.h" 00005 #include "vframe.inc" 00006 00007 00008 class FadeEngine; 00009 00010 class FadePackage : public LoadPackage 00011 { 00012 public: 00013 FadePackage(); 00014 00015 int out_row1, out_row2; 00016 }; 00017 00018 00019 00020 class FadeUnit : public LoadClient 00021 { 00022 public: 00023 FadeUnit(FadeEngine *engine); 00024 ~FadeUnit(); 00025 00026 void process_package(LoadPackage *package); 00027 00028 FadeEngine *engine; 00029 }; 00030 00031 class FadeEngine : public LoadServer 00032 { 00033 public: 00034 FadeEngine(int cpus); 00035 ~FadeEngine(); 00036 00037 // the input pointer is never different than the output pointer in any 00038 // of the callers 00039 void do_fade(VFrame *output, VFrame *input, float alpha); 00040 00041 void init_packages(); 00042 LoadClient* new_client(); 00043 LoadPackage* new_package(); 00044 00045 VFrame *output; 00046 VFrame *input; 00047 float alpha; 00048 }; 00049 00050 00051 00052 #endif
1.5.5