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