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 VS |
29 | |
30 | void avfilter_register_all(void) | |
31 | { | |
32 | static int initialized; | |
33 | ||
34 | if (initialized) | |
35 | return; | |
36 | initialized = 1; | |
37 | ||
fb604ae8 | 38 | REGISTER_FILTER (AFORMAT, aformat, af); |
c7448c18 | 39 | REGISTER_FILTER (AMIX, amix, af); |
99046339 | 40 | REGISTER_FILTER (ANULL, anull, af); |
20dd41af | 41 | REGISTER_FILTER (ASHOWINFO, ashowinfo, af); |
afeb3590 | 42 | REGISTER_FILTER (ASPLIT, asplit, af); |
9f26421b | 43 | REGISTER_FILTER (ASYNCTS, asyncts, af); |
41e637e4 | 44 | REGISTER_FILTER (CHANNELMAP, channelmap, af); |
d6251368 | 45 | REGISTER_FILTER (CHANNELSPLIT,channelsplit,af); |
dc07fb6f | 46 | REGISTER_FILTER (JOIN, join, af); |
d371e7b9 | 47 | REGISTER_FILTER (RESAMPLE, resample, af); |
b384e031 | 48 | REGISTER_FILTER (VOLUME, volume, af); |
99046339 | 49 | |
1ee410f3 SS |
50 | REGISTER_FILTER (ANULLSRC, anullsrc, asrc); |
51 | ||
f0a55438 HM |
52 | REGISTER_FILTER (ANULLSINK, anullsink, asink); |
53 | ||
13fabd7a | 54 | REGISTER_FILTER (BLACKFRAME, blackframe, vf); |
ce6b6ef6 | 55 | REGISTER_FILTER (BOXBLUR, boxblur, vf); |
b5670209 | 56 | REGISTER_FILTER (COPY, copy, vf); |
e88c9dac | 57 | REGISTER_FILTER (CROP, crop, vf); |
68b79bfc | 58 | REGISTER_FILTER (CROPDETECT, cropdetect, vf); |
b157be1f | 59 | REGISTER_FILTER (DELOGO, delogo, vf); |
e40032e2 | 60 | REGISTER_FILTER (DRAWBOX, drawbox, vf); |
a5b64584 | 61 | REGISTER_FILTER (DRAWTEXT, drawtext, vf); |
aadfc9ee | 62 | REGISTER_FILTER (FADE, fade, vf); |
2f84bb42 | 63 | REGISTER_FILTER (FIELDORDER, fieldorder, vf); |
e88c9dac | 64 | REGISTER_FILTER (FORMAT, format, vf); |
54c5dd89 | 65 | REGISTER_FILTER (FPS, fps, vf); |
47941088 | 66 | REGISTER_FILTER (FREI0R, frei0r, vf); |
d5f187fd | 67 | REGISTER_FILTER (GRADFUN, gradfun, vf); |
a1e171df | 68 | REGISTER_FILTER (HFLIP, hflip, vf); |
a4dc7aa5 | 69 | REGISTER_FILTER (HQDN3D, hqdn3d, vf); |
8fe0c527 SS |
70 | REGISTER_FILTER (LUT, lut, vf); |
71 | REGISTER_FILTER (LUTRGB, lutrgb, vf); | |
72 | REGISTER_FILTER (LUTYUV, lutyuv, vf); | |
171868e2 | 73 | REGISTER_FILTER (NEGATE, negate, vf); |
e88c9dac BB |
74 | REGISTER_FILTER (NOFORMAT, noformat, vf); |
75 | REGISTER_FILTER (NULL, null, vf); | |
cf69ad35 | 76 | REGISTER_FILTER (OCV, ocv, vf); |
58935b25 | 77 | REGISTER_FILTER (OVERLAY, overlay, vf); |
3c940173 | 78 | REGISTER_FILTER (PAD, pad, vf); |
ce2e4ae3 | 79 | REGISTER_FILTER (PIXDESCTEST, pixdesctest, vf); |
2f296e39 | 80 | REGISTER_FILTER (SCALE, scale, vf); |
d763fb7d | 81 | REGISTER_FILTER (SELECT, select, vf); |
2fb21bf4 | 82 | REGISTER_FILTER (SETDAR, setdar, vf); |
a532bb39 | 83 | REGISTER_FILTER (SETPTS, setpts, vf); |
2fb21bf4 | 84 | REGISTER_FILTER (SETSAR, setsar, vf); |
6f2325e3 | 85 | REGISTER_FILTER (SETTB, settb, vf); |
ee42716b | 86 | REGISTER_FILTER (SHOWINFO, showinfo, vf); |
615baa13 | 87 | REGISTER_FILTER (SPLIT, split, vf); |
43945b27 | 88 | REGISTER_FILTER (TRANSPOSE, transpose, vf); |
e0728d79 | 89 | REGISTER_FILTER (UNSHARP, unsharp, vf); |
e88c9dac | 90 | REGISTER_FILTER (VFLIP, vflip, vf); |
acbac567 | 91 | REGISTER_FILTER (YADIF, yadif, vf); |
dd08b83c | 92 | |
23ccf3c7 | 93 | REGISTER_FILTER (COLOR, color, vsrc); |
f8608dca | 94 | REGISTER_FILTER (FREI0R, frei0r_src, vsrc); |
9409c381 | 95 | REGISTER_FILTER (MOVIE, movie, vsrc); |
e88c9dac | 96 | REGISTER_FILTER (NULLSRC, nullsrc, vsrc); |
ec2ac927 | 97 | REGISTER_FILTER (RGBTESTSRC, rgbtestsrc, vsrc); |
0244879f | 98 | REGISTER_FILTER (TESTSRC, testsrc, vsrc); |
006aa1a4 | 99 | |
e88c9dac | 100 | REGISTER_FILTER (NULLSINK, nullsink, vsink); |
196c9e5c | 101 | |
25b3babe AK |
102 | /* those filters are part of public or internal API => registered |
103 | * unconditionally */ | |
196c9e5c | 104 | { |
82d05e78 | 105 | extern AVFilter avfilter_vsrc_buffer; |
196c9e5c AK |
106 | avfilter_register(&avfilter_vsrc_buffer); |
107 | } | |
25b3babe | 108 | { |
4c66c407 AK |
109 | extern AVFilter avfilter_asrc_abuffer; |
110 | avfilter_register(&avfilter_asrc_abuffer); | |
111 | } | |
112 | { | |
ac712309 AK |
113 | extern AVFilter avfilter_vsink_buffer; |
114 | avfilter_register(&avfilter_vsink_buffer); | |
115 | } | |
116 | { | |
a2cd9be2 AK |
117 | extern AVFilter avfilter_asink_abuffer; |
118 | avfilter_register(&avfilter_asink_abuffer); | |
119 | } | |
5af53731 DB |
120 | { |
121 | extern AVFilter avfilter_af_afifo; | |
122 | avfilter_register(&avfilter_af_afifo); | |
123 | } | |
124 | { | |
125 | extern AVFilter avfilter_vf_fifo; | |
126 | avfilter_register(&avfilter_vf_fifo); | |
127 | } | |
5c212e6f | 128 | } |