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