You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

597 lines
18KB

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