X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fxfer.h;h=84098b511f6563af6a6b575fb32aa26226313eaa;hb=9f917bc27389ebc36568a1f465b42208f7e8e46a;hp=ddbca7f07636e586ea81e2026d32e19edcda1b48;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/xfer.h b/cinelerra-5.1/guicast/xfer.h index ddbca7f0..84098b51 100644 --- a/cinelerra-5.1/guicast/xfer.h +++ b/cinelerra-5.1/guicast/xfer.h @@ -1,4 +1,9 @@ #include "bccmodels.h" +#include "bcresources.h" +#include "condition.h" +#include "linklist.h" +#include "mutex.h" +#include "thread.h" #include "clip.h" static inline float clp(const int n, float v) { @@ -78,7 +83,7 @@ ZTYP(float); #define xfer_flat_row_out(oty_t) \ - for( unsigned i=0; i, public Thread { + public: + Condition *init, *complete; + Slicer(BC_Xfer *xp); + ~Slicer(); + void slice(BC_Xfer *xp, unsigned y0, unsigned y1); + void run(); + BC_Xfer *xp; + int done, y0, y1; + }; + + class SlicerList : public List, public Mutex { + public: + int count; + Slicer *get_slicer(BC_Xfer *xp); + void reset(); + SlicerList(); + ~SlicerList(); + }; + static SlicerList slicers; static void init(); static class Tables { public: Tables() { init(); } } tables;