Imported Debian version 1.0~trusty
[deb_vid.stab.git] / src / boxblur.h
1 /*
2 * transformtype.h
3 *
4 * Copyright (C) Georg Martius - July 2011
5 * georg dot martius at web dot de
6 *
7 * This file is part of vid.stab video stabilization library
8 *
9 * vid.stab is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License,
11 * as published by the Free Software Foundation; either version 2, or
12 * (at your option) any later version.
13 *
14 * vid.stab is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with GNU Make; see the file COPYING. If not, write to
21 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 */
24 #ifndef __BOXBLUR_H
25 #define __BOXBLUR_H
26
27 #include "frameinfo.h"
28
29 /** BoxBlurColor - blur also color channels,
30 BoxBlurKeepColor - copy original color channels
31 BoxBlurNoColor - do not touch color channels in dest
32 */
33 typedef enum _BoxBlurColorMode { BoxBlurColor, BoxBlurKeepColor, BoxBlurNoColor} BoxBlurColorMode ;
34
35 /** performs a boxblur operation on src and stores results in dest.
36 * It uses an accumulator method and separate horizontal and vertical runs
37 * @param buffer may be given for intermediate results.
38 * If 0 then it is locally malloced
39 * @param size of bluring kernel, (min 3 and it is made odd)
40 * @param onlyLumincance if true color planes stay untouched
41 */
42 void boxblurPlanar(VSFrame* dest, const VSFrame* src,
43 VSFrame* buffer, const VSFrameInfo* fi,
44 unsigned int size, BoxBlurColorMode colormode);
45
46 #endif