4 * Copyright (C) Georg Martius - July 2011
5 * georg dot martius at web dot de
7 * This file is part of vid.stab video stabilization library
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.
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.
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.
27 #include "frameinfo.h"
29 /** BoxBlurColor - blur also color channels,
30 BoxBlurKeepColor - copy original color channels
31 BoxBlurNoColor - do not touch color channels in dest
33 typedef enum _BoxBlurColorMode
{ BoxBlurColor
, BoxBlurKeepColor
, BoxBlurNoColor
} BoxBlurColorMode
;
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
42 void boxblurPlanar(VSFrame
* dest
, const VSFrame
* src
,
43 VSFrame
* buffer
, const VSFrameInfo
* fi
,
44 unsigned int size
, BoxBlurColorMode colormode
);