8f89adcb75fea932528b63b370d544cddb34d6d4
[libav.git] / libavfilter / allfilters.c
1 /*
2 * filter registration
3 * copyright (c) 2008 Vitor Sessak
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #include "avfilter.h"
23
24
25 #define REGISTER_FILTER(X,x,y) { \
26 extern AVFilter avfilter_##y##_##x ; \
27 if(CONFIG_##X##_FILTER ) avfilter_register(&avfilter_##y##_##x ); }
28
29 void avfilter_register_all(void)
30 {
31 static int initialized;
32
33 if (initialized)
34 return;
35 initialized = 1;
36
37 REGISTER_FILTER (ASPECT, aspect, vf);
38 REGISTER_FILTER (CROP, crop, vf);
39 REGISTER_FILTER (FORMAT, format, vf);
40 REGISTER_FILTER (NOFORMAT, noformat, vf);
41 REGISTER_FILTER (NULL, null, vf);
42 REGISTER_FILTER (PIXELASPECT, pixelaspect, vf);
43 REGISTER_FILTER (SCALE, scale, vf);
44 REGISTER_FILTER (SLICIFY, slicify, vf);
45 REGISTER_FILTER (UNSHARP, unsharp, vf);
46 REGISTER_FILTER (VFLIP, vflip, vf);
47
48 REGISTER_FILTER (BUFFER, buffer, vsrc);
49 REGISTER_FILTER (NULLSRC, nullsrc, vsrc);
50
51 REGISTER_FILTER (NULLSINK, nullsink, vsink);
52 }