add new boxblur plugin, mods to videoscope, fix segv for menu btns kfrm-tweak/kfrm...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / boxblur.h
1 #include "boxblur.inc"
2 #include "loadbalance.h"
3 #include "vframe.h"
4
5 #include <stdint.h>
6
7 class BoxBlurPackage : public LoadPackage
8 {
9 public:
10         BoxBlurPackage();
11         int u1, u2;
12 };
13
14 class BoxBlurUnit : public LoadClient
15 {
16 public:
17         BoxBlurUnit(BoxBlur*server);
18         template<class dst_t, class src_t>
19                 void blurt_package(LoadPackage *package);
20         void process_package(LoadPackage *package);
21 };
22
23 class BoxBlur : public LoadServer
24 {
25 public:
26         BoxBlur(int cpus);
27         virtual ~BoxBlur();
28         void init_packages();
29         LoadClient* new_client();
30         LoadPackage* new_package();
31         void process(VFrame *dst, VFrame *src, int uv,
32                 int radius, int power, int comp);
33         void hblur(VFrame *dst, VFrame *src,
34                 int radius, int power, int comp=-1);
35         void vblur(VFrame *dst, VFrame *src,
36                 int radius, int power, int comp=-1);
37         void blur(VFrame *dst, VFrame *src,
38                 int radius, int power, int comp=-1);
39         const uint8_t *src_data;
40         uint8_t *dst_data;
41         int src_ustep, dst_ustep;
42         int src_vstep, dst_vstep;
43         int radius, power, uv;
44         int ulen, vlen, c0, c1;
45         int src_bpp, dst_bpp;
46 };
47