GCC Code Coverage Report
Directory: ../../../ffmpeg/ Exec Total Coverage
File: src/libavfilter/allfilters.c Lines: 13 30 43.3 %
Date: 2021-01-22 05:18:52 Branches: 5 14 35.7 %

Line Branch Exec Source
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 "libavutil/thread.h"
23
#include "avfilter.h"
24
#include "config.h"
25
26
extern AVFilter ff_af_abench;
27
extern AVFilter ff_af_acompressor;
28
extern AVFilter ff_af_acontrast;
29
extern AVFilter ff_af_acopy;
30
extern AVFilter ff_af_acue;
31
extern AVFilter ff_af_acrossfade;
32
extern AVFilter ff_af_acrossover;
33
extern AVFilter ff_af_acrusher;
34
extern AVFilter ff_af_adeclick;
35
extern AVFilter ff_af_adeclip;
36
extern AVFilter ff_af_adelay;
37
extern AVFilter ff_af_adenorm;
38
extern AVFilter ff_af_aderivative;
39
extern AVFilter ff_af_aecho;
40
extern AVFilter ff_af_aemphasis;
41
extern AVFilter ff_af_aeval;
42
extern AVFilter ff_af_afade;
43
extern AVFilter ff_af_afftdn;
44
extern AVFilter ff_af_afftfilt;
45
extern AVFilter ff_af_afir;
46
extern AVFilter ff_af_aformat;
47
extern AVFilter ff_af_afreqshift;
48
extern AVFilter ff_af_agate;
49
extern AVFilter ff_af_aiir;
50
extern AVFilter ff_af_aintegral;
51
extern AVFilter ff_af_ainterleave;
52
extern AVFilter ff_af_alimiter;
53
extern AVFilter ff_af_allpass;
54
extern AVFilter ff_af_aloop;
55
extern AVFilter ff_af_amerge;
56
extern AVFilter ff_af_ametadata;
57
extern AVFilter ff_af_amix;
58
extern AVFilter ff_af_amultiply;
59
extern AVFilter ff_af_anequalizer;
60
extern AVFilter ff_af_anlmdn;
61
extern AVFilter ff_af_anlms;
62
extern AVFilter ff_af_anull;
63
extern AVFilter ff_af_apad;
64
extern AVFilter ff_af_aperms;
65
extern AVFilter ff_af_aphaser;
66
extern AVFilter ff_af_aphaseshift;
67
extern AVFilter ff_af_apulsator;
68
extern AVFilter ff_af_arealtime;
69
extern AVFilter ff_af_aresample;
70
extern AVFilter ff_af_areverse;
71
extern AVFilter ff_af_arnndn;
72
extern AVFilter ff_af_aselect;
73
extern AVFilter ff_af_asendcmd;
74
extern AVFilter ff_af_asetnsamples;
75
extern AVFilter ff_af_asetpts;
76
extern AVFilter ff_af_asetrate;
77
extern AVFilter ff_af_asettb;
78
extern AVFilter ff_af_ashowinfo;
79
extern AVFilter ff_af_asidedata;
80
extern AVFilter ff_af_asoftclip;
81
extern AVFilter ff_af_asplit;
82
extern AVFilter ff_af_asr;
83
extern AVFilter ff_af_astats;
84
extern AVFilter ff_af_astreamselect;
85
extern AVFilter ff_af_asubboost;
86
extern AVFilter ff_af_asubcut;
87
extern AVFilter ff_af_asupercut;
88
extern AVFilter ff_af_asuperpass;
89
extern AVFilter ff_af_asuperstop;
90
extern AVFilter ff_af_atempo;
91
extern AVFilter ff_af_atrim;
92
extern AVFilter ff_af_axcorrelate;
93
extern AVFilter ff_af_azmq;
94
extern AVFilter ff_af_bandpass;
95
extern AVFilter ff_af_bandreject;
96
extern AVFilter ff_af_bass;
97
extern AVFilter ff_af_biquad;
98
extern AVFilter ff_af_bs2b;
99
extern AVFilter ff_vf_chromaber_vulkan;
100
extern AVFilter ff_af_channelmap;
101
extern AVFilter ff_af_channelsplit;
102
extern AVFilter ff_af_chorus;
103
extern AVFilter ff_af_compand;
104
extern AVFilter ff_af_compensationdelay;
105
extern AVFilter ff_af_crossfeed;
106
extern AVFilter ff_af_crystalizer;
107
extern AVFilter ff_af_dcshift;
108
extern AVFilter ff_af_deesser;
109
extern AVFilter ff_af_drmeter;
110
extern AVFilter ff_af_dynaudnorm;
111
extern AVFilter ff_af_earwax;
112
extern AVFilter ff_af_ebur128;
113
extern AVFilter ff_af_equalizer;
114
extern AVFilter ff_af_extrastereo;
115
extern AVFilter ff_af_firequalizer;
116
extern AVFilter ff_af_flanger;
117
extern AVFilter ff_af_haas;
118
extern AVFilter ff_af_hdcd;
119
extern AVFilter ff_af_headphone;
120
extern AVFilter ff_af_highpass;
121
extern AVFilter ff_af_highshelf;
122
extern AVFilter ff_af_join;
123
extern AVFilter ff_af_ladspa;
124
extern AVFilter ff_af_loudnorm;
125
extern AVFilter ff_af_lowpass;
126
extern AVFilter ff_af_lowshelf;
127
extern AVFilter ff_af_lv2;
128
extern AVFilter ff_af_mcompand;
129
extern AVFilter ff_af_pan;
130
extern AVFilter ff_af_replaygain;
131
extern AVFilter ff_af_resample;
132
extern AVFilter ff_af_rubberband;
133
extern AVFilter ff_af_sidechaincompress;
134
extern AVFilter ff_af_sidechaingate;
135
extern AVFilter ff_af_silencedetect;
136
extern AVFilter ff_af_silenceremove;
137
extern AVFilter ff_af_sofalizer;
138
extern AVFilter ff_af_speechnorm;
139
extern AVFilter ff_af_stereotools;
140
extern AVFilter ff_af_stereowiden;
141
extern AVFilter ff_af_superequalizer;
142
extern AVFilter ff_af_surround;
143
extern AVFilter ff_af_treble;
144
extern AVFilter ff_af_tremolo;
145
extern AVFilter ff_af_vibrato;
146
extern AVFilter ff_af_volume;
147
extern AVFilter ff_af_volumedetect;
148
149
extern AVFilter ff_asrc_aevalsrc;
150
extern AVFilter ff_asrc_afirsrc;
151
extern AVFilter ff_asrc_anoisesrc;
152
extern AVFilter ff_asrc_anullsrc;
153
extern AVFilter ff_asrc_flite;
154
extern AVFilter ff_asrc_hilbert;
155
extern AVFilter ff_asrc_sinc;
156
extern AVFilter ff_asrc_sine;
157
158
extern AVFilter ff_asink_anullsink;
159
160
extern AVFilter ff_vf_addroi;
161
extern AVFilter ff_vf_alphaextract;
162
extern AVFilter ff_vf_alphamerge;
163
extern AVFilter ff_vf_amplify;
164
extern AVFilter ff_vf_ass;
165
extern AVFilter ff_vf_atadenoise;
166
extern AVFilter ff_vf_avgblur;
167
extern AVFilter ff_vf_avgblur_opencl;
168
extern AVFilter ff_vf_avgblur_vulkan;
169
extern AVFilter ff_vf_bbox;
170
extern AVFilter ff_vf_bench;
171
extern AVFilter ff_vf_bilateral;
172
extern AVFilter ff_vf_bitplanenoise;
173
extern AVFilter ff_vf_blackdetect;
174
extern AVFilter ff_vf_blackframe;
175
extern AVFilter ff_vf_blend;
176
extern AVFilter ff_vf_bm3d;
177
extern AVFilter ff_vf_boxblur;
178
extern AVFilter ff_vf_boxblur_opencl;
179
extern AVFilter ff_vf_bwdif;
180
extern AVFilter ff_vf_cas;
181
extern AVFilter ff_vf_chromahold;
182
extern AVFilter ff_vf_chromakey;
183
extern AVFilter ff_vf_chromanr;
184
extern AVFilter ff_vf_chromashift;
185
extern AVFilter ff_vf_ciescope;
186
extern AVFilter ff_vf_codecview;
187
extern AVFilter ff_vf_colorbalance;
188
extern AVFilter ff_vf_colorchannelmixer;
189
extern AVFilter ff_vf_colorkey;
190
extern AVFilter ff_vf_colorkey_opencl;
191
extern AVFilter ff_vf_colorhold;
192
extern AVFilter ff_vf_colorlevels;
193
extern AVFilter ff_vf_colormatrix;
194
extern AVFilter ff_vf_colorspace;
195
extern AVFilter ff_vf_convolution;
196
extern AVFilter ff_vf_convolution_opencl;
197
extern AVFilter ff_vf_convolve;
198
extern AVFilter ff_vf_copy;
199
extern AVFilter ff_vf_coreimage;
200
extern AVFilter ff_vf_cover_rect;
201
extern AVFilter ff_vf_crop;
202
extern AVFilter ff_vf_cropdetect;
203
extern AVFilter ff_vf_cue;
204
extern AVFilter ff_vf_curves;
205
extern AVFilter ff_vf_datascope;
206
extern AVFilter ff_vf_dblur;
207
extern AVFilter ff_vf_dctdnoiz;
208
extern AVFilter ff_vf_deband;
209
extern AVFilter ff_vf_deblock;
210
extern AVFilter ff_vf_decimate;
211
extern AVFilter ff_vf_deconvolve;
212
extern AVFilter ff_vf_dedot;
213
extern AVFilter ff_vf_deflate;
214
extern AVFilter ff_vf_deflicker;
215
extern AVFilter ff_vf_deinterlace_qsv;
216
extern AVFilter ff_vf_deinterlace_vaapi;
217
extern AVFilter ff_vf_dejudder;
218
extern AVFilter ff_vf_delogo;
219
extern AVFilter ff_vf_denoise_vaapi;
220
extern AVFilter ff_vf_derain;
221
extern AVFilter ff_vf_deshake;
222
extern AVFilter ff_vf_deshake_opencl;
223
extern AVFilter ff_vf_despill;
224
extern AVFilter ff_vf_detelecine;
225
extern AVFilter ff_vf_dilation;
226
extern AVFilter ff_vf_dilation_opencl;
227
extern AVFilter ff_vf_displace;
228
extern AVFilter ff_vf_dnn_processing;
229
extern AVFilter ff_vf_doubleweave;
230
extern AVFilter ff_vf_drawbox;
231
extern AVFilter ff_vf_drawgraph;
232
extern AVFilter ff_vf_drawgrid;
233
extern AVFilter ff_vf_drawtext;
234
extern AVFilter ff_vf_edgedetect;
235
extern AVFilter ff_vf_elbg;
236
extern AVFilter ff_vf_entropy;
237
extern AVFilter ff_vf_eq;
238
extern AVFilter ff_vf_erosion;
239
extern AVFilter ff_vf_erosion_opencl;
240
extern AVFilter ff_vf_estdif;
241
extern AVFilter ff_vf_extractplanes;
242
extern AVFilter ff_vf_fade;
243
extern AVFilter ff_vf_fftdnoiz;
244
extern AVFilter ff_vf_fftfilt;
245
extern AVFilter ff_vf_field;
246
extern AVFilter ff_vf_fieldhint;
247
extern AVFilter ff_vf_fieldmatch;
248
extern AVFilter ff_vf_fieldorder;
249
extern AVFilter ff_vf_fillborders;
250
extern AVFilter ff_vf_find_rect;
251
extern AVFilter ff_vf_floodfill;
252
extern AVFilter ff_vf_format;
253
extern AVFilter ff_vf_fps;
254
extern AVFilter ff_vf_framepack;
255
extern AVFilter ff_vf_framerate;
256
extern AVFilter ff_vf_framestep;
257
extern AVFilter ff_vf_freezedetect;
258
extern AVFilter ff_vf_freezeframes;
259
extern AVFilter ff_vf_frei0r;
260
extern AVFilter ff_vf_fspp;
261
extern AVFilter ff_vf_gblur;
262
extern AVFilter ff_vf_geq;
263
extern AVFilter ff_vf_gradfun;
264
extern AVFilter ff_vf_graphmonitor;
265
extern AVFilter ff_vf_greyedge;
266
extern AVFilter ff_vf_haldclut;
267
extern AVFilter ff_vf_hflip;
268
extern AVFilter ff_vf_histeq;
269
extern AVFilter ff_vf_histogram;
270
extern AVFilter ff_vf_hqdn3d;
271
extern AVFilter ff_vf_hqx;
272
extern AVFilter ff_vf_hstack;
273
extern AVFilter ff_vf_hue;
274
extern AVFilter ff_vf_hwdownload;
275
extern AVFilter ff_vf_hwmap;
276
extern AVFilter ff_vf_hwupload;
277
extern AVFilter ff_vf_hwupload_cuda;
278
extern AVFilter ff_vf_hysteresis;
279
extern AVFilter ff_vf_idet;
280
extern AVFilter ff_vf_il;
281
extern AVFilter ff_vf_inflate;
282
extern AVFilter ff_vf_interlace;
283
extern AVFilter ff_vf_interleave;
284
extern AVFilter ff_vf_kerndeint;
285
extern AVFilter ff_vf_lagfun;
286
extern AVFilter ff_vf_lenscorrection;
287
extern AVFilter ff_vf_lensfun;
288
extern AVFilter ff_vf_libvmaf;
289
extern AVFilter ff_vf_limiter;
290
extern AVFilter ff_vf_loop;
291
extern AVFilter ff_vf_lumakey;
292
extern AVFilter ff_vf_lut;
293
extern AVFilter ff_vf_lut1d;
294
extern AVFilter ff_vf_lut2;
295
extern AVFilter ff_vf_lut3d;
296
extern AVFilter ff_vf_lutrgb;
297
extern AVFilter ff_vf_lutyuv;
298
extern AVFilter ff_vf_maskedclamp;
299
extern AVFilter ff_vf_maskedmax;
300
extern AVFilter ff_vf_maskedmerge;
301
extern AVFilter ff_vf_maskedmin;
302
extern AVFilter ff_vf_maskedthreshold;
303
extern AVFilter ff_vf_maskfun;
304
extern AVFilter ff_vf_mcdeint;
305
extern AVFilter ff_vf_median;
306
extern AVFilter ff_vf_mergeplanes;
307
extern AVFilter ff_vf_mestimate;
308
extern AVFilter ff_vf_metadata;
309
extern AVFilter ff_vf_midequalizer;
310
extern AVFilter ff_vf_minterpolate;
311
extern AVFilter ff_vf_mix;
312
extern AVFilter ff_vf_mpdecimate;
313
extern AVFilter ff_vf_negate;
314
extern AVFilter ff_vf_nlmeans;
315
extern AVFilter ff_vf_nlmeans_opencl;
316
extern AVFilter ff_vf_nnedi;
317
extern AVFilter ff_vf_noformat;
318
extern AVFilter ff_vf_noise;
319
extern AVFilter ff_vf_normalize;
320
extern AVFilter ff_vf_null;
321
extern AVFilter ff_vf_ocr;
322
extern AVFilter ff_vf_ocv;
323
extern AVFilter ff_vf_oscilloscope;
324
extern AVFilter ff_vf_overlay;
325
extern AVFilter ff_vf_overlay_opencl;
326
extern AVFilter ff_vf_overlay_qsv;
327
extern AVFilter ff_vf_overlay_vulkan;
328
extern AVFilter ff_vf_overlay_cuda;
329
extern AVFilter ff_vf_owdenoise;
330
extern AVFilter ff_vf_pad;
331
extern AVFilter ff_vf_pad_opencl;
332
extern AVFilter ff_vf_palettegen;
333
extern AVFilter ff_vf_paletteuse;
334
extern AVFilter ff_vf_perms;
335
extern AVFilter ff_vf_perspective;
336
extern AVFilter ff_vf_phase;
337
extern AVFilter ff_vf_photosensitivity;
338
extern AVFilter ff_vf_pixdesctest;
339
extern AVFilter ff_vf_pixscope;
340
extern AVFilter ff_vf_pp;
341
extern AVFilter ff_vf_pp7;
342
extern AVFilter ff_vf_premultiply;
343
extern AVFilter ff_vf_prewitt;
344
extern AVFilter ff_vf_prewitt_opencl;
345
extern AVFilter ff_vf_procamp_vaapi;
346
extern AVFilter ff_vf_program_opencl;
347
extern AVFilter ff_vf_pseudocolor;
348
extern AVFilter ff_vf_psnr;
349
extern AVFilter ff_vf_pullup;
350
extern AVFilter ff_vf_qp;
351
extern AVFilter ff_vf_random;
352
extern AVFilter ff_vf_readeia608;
353
extern AVFilter ff_vf_readvitc;
354
extern AVFilter ff_vf_realtime;
355
extern AVFilter ff_vf_remap;
356
extern AVFilter ff_vf_removegrain;
357
extern AVFilter ff_vf_removelogo;
358
extern AVFilter ff_vf_repeatfields;
359
extern AVFilter ff_vf_reverse;
360
extern AVFilter ff_vf_rgbashift;
361
extern AVFilter ff_vf_roberts;
362
extern AVFilter ff_vf_roberts_opencl;
363
extern AVFilter ff_vf_rotate;
364
extern AVFilter ff_vf_sab;
365
extern AVFilter ff_vf_scale;
366
extern AVFilter ff_vf_scale_cuda;
367
extern AVFilter ff_vf_scale_npp;
368
extern AVFilter ff_vf_scale_qsv;
369
extern AVFilter ff_vf_scale_vaapi;
370
extern AVFilter ff_vf_scale_vulkan;
371
extern AVFilter ff_vf_scale2ref;
372
extern AVFilter ff_vf_scdet;
373
extern AVFilter ff_vf_scroll;
374
extern AVFilter ff_vf_select;
375
extern AVFilter ff_vf_selectivecolor;
376
extern AVFilter ff_vf_sendcmd;
377
extern AVFilter ff_vf_separatefields;
378
extern AVFilter ff_vf_setdar;
379
extern AVFilter ff_vf_setfield;
380
extern AVFilter ff_vf_setparams;
381
extern AVFilter ff_vf_setpts;
382
extern AVFilter ff_vf_setrange;
383
extern AVFilter ff_vf_setsar;
384
extern AVFilter ff_vf_settb;
385
extern AVFilter ff_vf_sharpness_vaapi;
386
extern AVFilter ff_vf_showinfo;
387
extern AVFilter ff_vf_showpalette;
388
extern AVFilter ff_vf_shuffleframes;
389
extern AVFilter ff_vf_shufflepixels;
390
extern AVFilter ff_vf_shuffleplanes;
391
extern AVFilter ff_vf_sidedata;
392
extern AVFilter ff_vf_signalstats;
393
extern AVFilter ff_vf_signature;
394
extern AVFilter ff_vf_smartblur;
395
extern AVFilter ff_vf_sobel;
396
extern AVFilter ff_vf_sobel_opencl;
397
extern AVFilter ff_vf_split;
398
extern AVFilter ff_vf_spp;
399
extern AVFilter ff_vf_sr;
400
extern AVFilter ff_vf_ssim;
401
extern AVFilter ff_vf_stereo3d;
402
extern AVFilter ff_vf_streamselect;
403
extern AVFilter ff_vf_subtitles;
404
extern AVFilter ff_vf_super2xsai;
405
extern AVFilter ff_vf_swaprect;
406
extern AVFilter ff_vf_swapuv;
407
extern AVFilter ff_vf_tblend;
408
extern AVFilter ff_vf_telecine;
409
extern AVFilter ff_vf_thistogram;
410
extern AVFilter ff_vf_threshold;
411
extern AVFilter ff_vf_thumbnail;
412
extern AVFilter ff_vf_thumbnail_cuda;
413
extern AVFilter ff_vf_tile;
414
extern AVFilter ff_vf_tinterlace;
415
extern AVFilter ff_vf_tlut2;
416
extern AVFilter ff_vf_tmedian;
417
extern AVFilter ff_vf_tmidequalizer;
418
extern AVFilter ff_vf_tmix;
419
extern AVFilter ff_vf_tonemap;
420
extern AVFilter ff_vf_tonemap_opencl;
421
extern AVFilter ff_vf_tonemap_vaapi;
422
extern AVFilter ff_vf_tpad;
423
extern AVFilter ff_vf_transpose;
424
extern AVFilter ff_vf_transpose_npp;
425
extern AVFilter ff_vf_transpose_opencl;
426
extern AVFilter ff_vf_transpose_vaapi;
427
extern AVFilter ff_vf_trim;
428
extern AVFilter ff_vf_unpremultiply;
429
extern AVFilter ff_vf_unsharp;
430
extern AVFilter ff_vf_unsharp_opencl;
431
extern AVFilter ff_vf_untile;
432
extern AVFilter ff_vf_uspp;
433
extern AVFilter ff_vf_v360;
434
extern AVFilter ff_vf_vaguedenoiser;
435
extern AVFilter ff_vf_vectorscope;
436
extern AVFilter ff_vf_vflip;
437
extern AVFilter ff_vf_vfrdet;
438
extern AVFilter ff_vf_vibrance;
439
extern AVFilter ff_vf_vidstabdetect;
440
extern AVFilter ff_vf_vidstabtransform;
441
extern AVFilter ff_vf_vignette;
442
extern AVFilter ff_vf_vmafmotion;
443
extern AVFilter ff_vf_vpp_qsv;
444
extern AVFilter ff_vf_vstack;
445
extern AVFilter ff_vf_w3fdif;
446
extern AVFilter ff_vf_waveform;
447
extern AVFilter ff_vf_weave;
448
extern AVFilter ff_vf_xbr;
449
extern AVFilter ff_vf_xfade;
450
extern AVFilter ff_vf_xfade_opencl;
451
extern AVFilter ff_vf_xmedian;
452
extern AVFilter ff_vf_xstack;
453
extern AVFilter ff_vf_yadif;
454
extern AVFilter ff_vf_yadif_cuda;
455
extern AVFilter ff_vf_yaepblur;
456
extern AVFilter ff_vf_zmq;
457
extern AVFilter ff_vf_zoompan;
458
extern AVFilter ff_vf_zscale;
459
460
extern AVFilter ff_vsrc_allrgb;
461
extern AVFilter ff_vsrc_allyuv;
462
extern AVFilter ff_vsrc_cellauto;
463
extern AVFilter ff_vsrc_color;
464
extern AVFilter ff_vsrc_coreimagesrc;
465
extern AVFilter ff_vsrc_frei0r_src;
466
extern AVFilter ff_vsrc_gradients;
467
extern AVFilter ff_vsrc_haldclutsrc;
468
extern AVFilter ff_vsrc_life;
469
extern AVFilter ff_vsrc_mandelbrot;
470
extern AVFilter ff_vsrc_mptestsrc;
471
extern AVFilter ff_vsrc_nullsrc;
472
extern AVFilter ff_vsrc_openclsrc;
473
extern AVFilter ff_vsrc_pal75bars;
474
extern AVFilter ff_vsrc_pal100bars;
475
extern AVFilter ff_vsrc_rgbtestsrc;
476
extern AVFilter ff_vsrc_sierpinski;
477
extern AVFilter ff_vsrc_smptebars;
478
extern AVFilter ff_vsrc_smptehdbars;
479
extern AVFilter ff_vsrc_testsrc;
480
extern AVFilter ff_vsrc_testsrc2;
481
extern AVFilter ff_vsrc_yuvtestsrc;
482
483
extern AVFilter ff_vsink_nullsink;
484
485
/* multimedia filters */
486
extern AVFilter ff_avf_abitscope;
487
extern AVFilter ff_avf_adrawgraph;
488
extern AVFilter ff_avf_agraphmonitor;
489
extern AVFilter ff_avf_ahistogram;
490
extern AVFilter ff_avf_aphasemeter;
491
extern AVFilter ff_avf_avectorscope;
492
extern AVFilter ff_avf_concat;
493
extern AVFilter ff_avf_showcqt;
494
extern AVFilter ff_avf_showfreqs;
495
extern AVFilter ff_avf_showspatial;
496
extern AVFilter ff_avf_showspectrum;
497
extern AVFilter ff_avf_showspectrumpic;
498
extern AVFilter ff_avf_showvolume;
499
extern AVFilter ff_avf_showwaves;
500
extern AVFilter ff_avf_showwavespic;
501
extern AVFilter ff_vaf_spectrumsynth;
502
503
/* multimedia sources */
504
extern AVFilter ff_avsrc_amovie;
505
extern AVFilter ff_avsrc_movie;
506
507
/* those filters are part of public or internal API,
508
 * they are formatted to not be found by the grep
509
 * as they are manually added again (due to their 'names'
510
 * being the same while having different 'types'). */
511
extern  AVFilter ff_asrc_abuffer;
512
extern  AVFilter ff_vsrc_buffer;
513
extern  AVFilter ff_asink_abuffer;
514
extern  AVFilter ff_vsink_buffer;
515
extern AVFilter ff_af_afifo;
516
extern AVFilter ff_vf_fifo;
517
518
#include "libavfilter/filter_list.c"
519
520
521
8619164
const AVFilter *av_filter_iterate(void **opaque)
522
{
523
8619164
    uintptr_t i = (uintptr_t)*opaque;
524
8619164
    const AVFilter *f = filter_list[i];
525
526
8619164
    if (f)
527
8619164
        *opaque = (void*)(i + 1);
528
529
8619164
    return f;
530
}
531
532
29812
const AVFilter *avfilter_get_by_name(const char *name)
533
{
534
29812
    const AVFilter *f = NULL;
535
29812
    void *opaque = 0;
536
537
29812
    if (!name)
538
        return NULL;
539
540
8619164
    while ((f = av_filter_iterate(&opaque)))
541
8619164
        if (!strcmp(f->name, name))
542
29812
            return f;
543
544
    return NULL;
545
}
546
547
548
#if FF_API_NEXT
549
FF_DISABLE_DEPRECATION_WARNINGS
550
static AVOnce av_filter_next_init = AV_ONCE_INIT;
551
552
static void av_filter_init_next(void)
553
{
554
    AVFilter *prev = NULL, *p;
555
    void *i = 0;
556
    while ((p = (AVFilter*)av_filter_iterate(&i))) {
557
        if (prev)
558
            prev->next = p;
559
        prev = p;
560
    }
561
}
562
563
void avfilter_register_all(void)
564
{
565
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
566
}
567
568
int avfilter_register(AVFilter *filter)
569
{
570
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
571
572
    return 0;
573
}
574
575
const AVFilter *avfilter_next(const AVFilter *prev)
576
{
577
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
578
579
    return prev ? prev->next : filter_list[0];
580
}
581
582
FF_ENABLE_DEPRECATION_WARNINGS
583
#endif