Commit | Line | Data |
---|---|---|
5c212e6f VS |
1 | /* |
2 | * filter registration | |
3fa77bde | 3 | * Copyright (c) 2008 Vitor Sessak |
5c212e6f | 4 | * |
2912e87a | 5 | * This file is part of Libav. |
5c212e6f | 6 | * |
2912e87a | 7 | * Libav is free software; you can redistribute it and/or |
5c212e6f VS |
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 | * | |
2912e87a | 12 | * Libav is distributed in the hope that it will be useful, |
5c212e6f VS |
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 | |
2912e87a | 18 | * License along with Libav; if not, write to the Free Software |
5c212e6f VS |
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | */ | |
21 | ||
22 | #include "avfilter.h" | |
1d9c2dc8 | 23 | #include "config.h" |
5c212e6f | 24 | |
5c212e6f | 25 | |
81124ba0 VS |
26 | #define REGISTER_FILTER(X,x,y) { \ |
27 | extern AVFilter avfilter_##y##_##x ; \ | |
49fb20cb | 28 | if(CONFIG_##X##_FILTER ) avfilter_register(&avfilter_##y##_##x ); } |
5c212e6f | 29 | |
69583bd3 DB |
30 | #define REGISTER_FILTER_UNCONDITIONAL(x) \ |
31 | { \ | |
32 | extern AVFilter avfilter_##x; \ | |
33 | avfilter_register(&avfilter_##x); \ | |
34 | } | |
35 | ||
5c212e6f VS |
36 | void avfilter_register_all(void) |
37 | { | |
38 | static int initialized; | |
39 | ||
40 | if (initialized) | |
41 | return; | |
42 | initialized = 1; | |
43 | ||
fb604ae8 | 44 | REGISTER_FILTER (AFORMAT, aformat, af); |
c7448c18 | 45 | REGISTER_FILTER (AMIX, amix, af); |
99046339 | 46 | REGISTER_FILTER (ANULL, anull, af); |
20dd41af | 47 | REGISTER_FILTER (ASHOWINFO, ashowinfo, af); |
afeb3590 | 48 | REGISTER_FILTER (ASPLIT, asplit, af); |
9f26421b | 49 | REGISTER_FILTER (ASYNCTS, asyncts, af); |
41e637e4 | 50 | REGISTER_FILTER (CHANNELMAP, channelmap, af); |
d6251368 | 51 | REGISTER_FILTER (CHANNELSPLIT,channelsplit,af); |
dc07fb6f | 52 | REGISTER_FILTER (JOIN, join, af); |
d371e7b9 | 53 | REGISTER_FILTER (RESAMPLE, resample, af); |
b384e031 | 54 | REGISTER_FILTER (VOLUME, volume, af); |
99046339 | 55 | |
1ee410f3 SS |
56 | REGISTER_FILTER (ANULLSRC, anullsrc, asrc); |
57 | ||
f0a55438 HM |
58 | REGISTER_FILTER (ANULLSINK, anullsink, asink); |
59 | ||
13fabd7a | 60 | REGISTER_FILTER (BLACKFRAME, blackframe, vf); |
ce6b6ef6 | 61 | REGISTER_FILTER (BOXBLUR, boxblur, vf); |
b5670209 | 62 | REGISTER_FILTER (COPY, copy, vf); |
e88c9dac | 63 | REGISTER_FILTER (CROP, crop, vf); |
68b79bfc | 64 | REGISTER_FILTER (CROPDETECT, cropdetect, vf); |
b157be1f | 65 | REGISTER_FILTER (DELOGO, delogo, vf); |
e40032e2 | 66 | REGISTER_FILTER (DRAWBOX, drawbox, vf); |
a5b64584 | 67 | REGISTER_FILTER (DRAWTEXT, drawtext, vf); |
aadfc9ee | 68 | REGISTER_FILTER (FADE, fade, vf); |
2f84bb42 | 69 | REGISTER_FILTER (FIELDORDER, fieldorder, vf); |
e88c9dac | 70 | REGISTER_FILTER (FORMAT, format, vf); |
54c5dd89 | 71 | REGISTER_FILTER (FPS, fps, vf); |
47941088 | 72 | REGISTER_FILTER (FREI0R, frei0r, vf); |
d5f187fd | 73 | REGISTER_FILTER (GRADFUN, gradfun, vf); |
a1e171df | 74 | REGISTER_FILTER (HFLIP, hflip, vf); |
a4dc7aa5 | 75 | REGISTER_FILTER (HQDN3D, hqdn3d, vf); |
8fe0c527 SS |
76 | REGISTER_FILTER (LUT, lut, vf); |
77 | REGISTER_FILTER (LUTRGB, lutrgb, vf); | |
78 | REGISTER_FILTER (LUTYUV, lutyuv, vf); | |
171868e2 | 79 | REGISTER_FILTER (NEGATE, negate, vf); |
e88c9dac BB |
80 | REGISTER_FILTER (NOFORMAT, noformat, vf); |
81 | REGISTER_FILTER (NULL, null, vf); | |
cf69ad35 | 82 | REGISTER_FILTER (OCV, ocv, vf); |
58935b25 | 83 | REGISTER_FILTER (OVERLAY, overlay, vf); |
3c940173 | 84 | REGISTER_FILTER (PAD, pad, vf); |
ce2e4ae3 | 85 | REGISTER_FILTER (PIXDESCTEST, pixdesctest, vf); |
2f296e39 | 86 | REGISTER_FILTER (SCALE, scale, vf); |
d763fb7d | 87 | REGISTER_FILTER (SELECT, select, vf); |
2fb21bf4 | 88 | REGISTER_FILTER (SETDAR, setdar, vf); |
a532bb39 | 89 | REGISTER_FILTER (SETPTS, setpts, vf); |
2fb21bf4 | 90 | REGISTER_FILTER (SETSAR, setsar, vf); |
6f2325e3 | 91 | REGISTER_FILTER (SETTB, settb, vf); |
ee42716b | 92 | REGISTER_FILTER (SHOWINFO, showinfo, vf); |
615baa13 | 93 | REGISTER_FILTER (SPLIT, split, vf); |
43945b27 | 94 | REGISTER_FILTER (TRANSPOSE, transpose, vf); |
e0728d79 | 95 | REGISTER_FILTER (UNSHARP, unsharp, vf); |
e88c9dac | 96 | REGISTER_FILTER (VFLIP, vflip, vf); |
acbac567 | 97 | REGISTER_FILTER (YADIF, yadif, vf); |
dd08b83c | 98 | |
23ccf3c7 | 99 | REGISTER_FILTER (COLOR, color, vsrc); |
f8608dca | 100 | REGISTER_FILTER (FREI0R, frei0r_src, vsrc); |
9409c381 | 101 | REGISTER_FILTER (MOVIE, movie, vsrc); |
e88c9dac | 102 | REGISTER_FILTER (NULLSRC, nullsrc, vsrc); |
ec2ac927 | 103 | REGISTER_FILTER (RGBTESTSRC, rgbtestsrc, vsrc); |
0244879f | 104 | REGISTER_FILTER (TESTSRC, testsrc, vsrc); |
006aa1a4 | 105 | |
e88c9dac | 106 | REGISTER_FILTER (NULLSINK, nullsink, vsink); |
196c9e5c | 107 | |
25b3babe AK |
108 | /* those filters are part of public or internal API => registered |
109 | * unconditionally */ | |
69583bd3 DB |
110 | REGISTER_FILTER_UNCONDITIONAL(asrc_abuffer); |
111 | REGISTER_FILTER_UNCONDITIONAL(vsrc_buffer); | |
112 | REGISTER_FILTER_UNCONDITIONAL(asink_abuffer); | |
113 | REGISTER_FILTER_UNCONDITIONAL(vsink_buffer); | |
114 | REGISTER_FILTER_UNCONDITIONAL(af_afifo); | |
115 | REGISTER_FILTER_UNCONDITIONAL(vf_fifo); | |
5c212e6f | 116 | } |