1 // from ffmpeg vf_boxblur
3 #include "loadbalance.h"
8 class BoxBlurPackage : public LoadPackage
15 class BoxBlurUnit : public LoadClient
18 BoxBlurUnit(BoxBlur*server);
19 template<class dst_t, class src_t>
20 void blurt_package(LoadPackage *package);
21 void process_package(LoadPackage *package);
24 class BoxBlur : public LoadServer
30 LoadClient* new_client();
31 LoadPackage* new_package();
32 void process(VFrame *dst, VFrame *src, int uv,
33 int radius, int power, int comp);
34 int init_box(VFrame *dst, int x, int y, int w, int h);
35 void hblur(VFrame *dst, VFrame *src, int radius, int power, int comp=-1);
36 void hblur(VFrame *dst, VFrame *src, int radius, int power, int comp,
37 int x, int y, int w, int h);
38 void vblur(VFrame *dst, VFrame *src, int radius, int power, int comp=-1);
39 void vblur(VFrame *dst, VFrame *src, int radius, int power, int comp,
40 int x, int y, int w, int h);
41 void blur(VFrame *dst, VFrame *src, int radius, int power, int comp=-1);
42 void blur(VFrame *dst, VFrame *src, int radius, int power, int comp,
43 int x, int y, int w, int h);
45 const uint8_t *src_data;
47 int src_ustep, dst_ustep;
48 int src_vstep, dst_vstep;
49 int radius, power, uv;
51 int ulen, vlen, c0, c1;