486 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			486 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * filter registration
 | 
						|
 * Copyright (c) 2008 Vitor Sessak
 | 
						|
 *
 | 
						|
 * This file is part of FFmpeg.
 | 
						|
 *
 | 
						|
 * FFmpeg is free software; you can redistribute it and/or
 | 
						|
 * modify it under the terms of the GNU Lesser General Public
 | 
						|
 * License as published by the Free Software Foundation; either
 | 
						|
 * version 2.1 of the License, or (at your option) any later version.
 | 
						|
 *
 | 
						|
 * FFmpeg is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
 * Lesser General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU Lesser General Public
 | 
						|
 * License along with FFmpeg; if not, write to the Free Software
 | 
						|
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
						|
 */
 | 
						|
 | 
						|
#include "libavutil/thread.h"
 | 
						|
#include "avfilter.h"
 | 
						|
#include "config.h"
 | 
						|
 | 
						|
extern AVFilter ff_af_abench;
 | 
						|
extern AVFilter ff_af_acompressor;
 | 
						|
extern AVFilter ff_af_acontrast;
 | 
						|
extern AVFilter ff_af_acopy;
 | 
						|
extern AVFilter ff_af_acrossfade;
 | 
						|
extern AVFilter ff_af_acrusher;
 | 
						|
extern AVFilter ff_af_adelay;
 | 
						|
extern AVFilter ff_af_aecho;
 | 
						|
extern AVFilter ff_af_aemphasis;
 | 
						|
extern AVFilter ff_af_aeval;
 | 
						|
extern AVFilter ff_af_afade;
 | 
						|
extern AVFilter ff_af_afftfilt;
 | 
						|
extern AVFilter ff_af_afir;
 | 
						|
extern AVFilter ff_af_aformat;
 | 
						|
extern AVFilter ff_af_agate;
 | 
						|
extern AVFilter ff_af_aiir;
 | 
						|
extern AVFilter ff_af_ainterleave;
 | 
						|
extern AVFilter ff_af_alimiter;
 | 
						|
extern AVFilter ff_af_allpass;
 | 
						|
extern AVFilter ff_af_aloop;
 | 
						|
extern AVFilter ff_af_amerge;
 | 
						|
extern AVFilter ff_af_ametadata;
 | 
						|
extern AVFilter ff_af_amix;
 | 
						|
extern AVFilter ff_af_anequalizer;
 | 
						|
extern AVFilter ff_af_anull;
 | 
						|
extern AVFilter ff_af_apad;
 | 
						|
extern AVFilter ff_af_aperms;
 | 
						|
extern AVFilter ff_af_aphaser;
 | 
						|
extern AVFilter ff_af_apulsator;
 | 
						|
extern AVFilter ff_af_arealtime;
 | 
						|
extern AVFilter ff_af_aresample;
 | 
						|
extern AVFilter ff_af_areverse;
 | 
						|
extern AVFilter ff_af_aselect;
 | 
						|
extern AVFilter ff_af_asendcmd;
 | 
						|
extern AVFilter ff_af_asetnsamples;
 | 
						|
extern AVFilter ff_af_asetpts;
 | 
						|
extern AVFilter ff_af_asetrate;
 | 
						|
extern AVFilter ff_af_asettb;
 | 
						|
extern AVFilter ff_af_ashowinfo;
 | 
						|
extern AVFilter ff_af_asidedata;
 | 
						|
extern AVFilter ff_af_asplit;
 | 
						|
extern AVFilter ff_af_astats;
 | 
						|
extern AVFilter ff_af_astreamselect;
 | 
						|
extern AVFilter ff_af_atempo;
 | 
						|
extern AVFilter ff_af_atrim;
 | 
						|
extern AVFilter ff_af_azmq;
 | 
						|
extern AVFilter ff_af_bandpass;
 | 
						|
extern AVFilter ff_af_bandreject;
 | 
						|
extern AVFilter ff_af_bass;
 | 
						|
extern AVFilter ff_af_biquad;
 | 
						|
extern AVFilter ff_af_bs2b;
 | 
						|
extern AVFilter ff_af_channelmap;
 | 
						|
extern AVFilter ff_af_channelsplit;
 | 
						|
extern AVFilter ff_af_chorus;
 | 
						|
extern AVFilter ff_af_compand;
 | 
						|
extern AVFilter ff_af_compensationdelay;
 | 
						|
extern AVFilter ff_af_crossfeed;
 | 
						|
extern AVFilter ff_af_crystalizer;
 | 
						|
extern AVFilter ff_af_dcshift;
 | 
						|
extern AVFilter ff_af_drmeter;
 | 
						|
extern AVFilter ff_af_dynaudnorm;
 | 
						|
extern AVFilter ff_af_earwax;
 | 
						|
extern AVFilter ff_af_ebur128;
 | 
						|
extern AVFilter ff_af_equalizer;
 | 
						|
extern AVFilter ff_af_extrastereo;
 | 
						|
extern AVFilter ff_af_firequalizer;
 | 
						|
extern AVFilter ff_af_flanger;
 | 
						|
extern AVFilter ff_af_haas;
 | 
						|
extern AVFilter ff_af_hdcd;
 | 
						|
extern AVFilter ff_af_headphone;
 | 
						|
extern AVFilter ff_af_highpass;
 | 
						|
extern AVFilter ff_af_highshelf;
 | 
						|
extern AVFilter ff_af_join;
 | 
						|
extern AVFilter ff_af_ladspa;
 | 
						|
extern AVFilter ff_af_loudnorm;
 | 
						|
extern AVFilter ff_af_lowpass;
 | 
						|
extern AVFilter ff_af_lowshelf;
 | 
						|
extern AVFilter ff_af_lv2;
 | 
						|
extern AVFilter ff_af_mcompand;
 | 
						|
extern AVFilter ff_af_pan;
 | 
						|
extern AVFilter ff_af_replaygain;
 | 
						|
extern AVFilter ff_af_resample;
 | 
						|
extern AVFilter ff_af_rubberband;
 | 
						|
extern AVFilter ff_af_sidechaincompress;
 | 
						|
extern AVFilter ff_af_sidechaingate;
 | 
						|
extern AVFilter ff_af_silencedetect;
 | 
						|
extern AVFilter ff_af_silenceremove;
 | 
						|
extern AVFilter ff_af_sofalizer;
 | 
						|
extern AVFilter ff_af_stereotools;
 | 
						|
extern AVFilter ff_af_stereowiden;
 | 
						|
extern AVFilter ff_af_superequalizer;
 | 
						|
extern AVFilter ff_af_surround;
 | 
						|
extern AVFilter ff_af_treble;
 | 
						|
extern AVFilter ff_af_tremolo;
 | 
						|
extern AVFilter ff_af_vibrato;
 | 
						|
extern AVFilter ff_af_volume;
 | 
						|
extern AVFilter ff_af_volumedetect;
 | 
						|
 | 
						|
extern AVFilter ff_asrc_aevalsrc;
 | 
						|
extern AVFilter ff_asrc_anoisesrc;
 | 
						|
extern AVFilter ff_asrc_anullsrc;
 | 
						|
extern AVFilter ff_asrc_flite;
 | 
						|
extern AVFilter ff_asrc_hilbert;
 | 
						|
extern AVFilter ff_asrc_sine;
 | 
						|
 | 
						|
extern AVFilter ff_asink_anullsink;
 | 
						|
 | 
						|
extern AVFilter ff_vf_alphaextract;
 | 
						|
extern AVFilter ff_vf_alphamerge;
 | 
						|
extern AVFilter ff_vf_amplify;
 | 
						|
extern AVFilter ff_vf_ass;
 | 
						|
extern AVFilter ff_vf_atadenoise;
 | 
						|
extern AVFilter ff_vf_avgblur;
 | 
						|
extern AVFilter ff_vf_avgblur_opencl;
 | 
						|
extern AVFilter ff_vf_bbox;
 | 
						|
extern AVFilter ff_vf_bench;
 | 
						|
extern AVFilter ff_vf_bitplanenoise;
 | 
						|
extern AVFilter ff_vf_blackdetect;
 | 
						|
extern AVFilter ff_vf_blackframe;
 | 
						|
extern AVFilter ff_vf_blend;
 | 
						|
extern AVFilter ff_vf_boxblur;
 | 
						|
extern AVFilter ff_vf_bwdif;
 | 
						|
extern AVFilter ff_vf_chromakey;
 | 
						|
extern AVFilter ff_vf_ciescope;
 | 
						|
extern AVFilter ff_vf_codecview;
 | 
						|
extern AVFilter ff_vf_colorbalance;
 | 
						|
extern AVFilter ff_vf_colorchannelmixer;
 | 
						|
extern AVFilter ff_vf_colorkey;
 | 
						|
extern AVFilter ff_vf_colorlevels;
 | 
						|
extern AVFilter ff_vf_colormatrix;
 | 
						|
extern AVFilter ff_vf_colorspace;
 | 
						|
extern AVFilter ff_vf_convolution;
 | 
						|
extern AVFilter ff_vf_convolution_opencl;
 | 
						|
extern AVFilter ff_vf_convolve;
 | 
						|
extern AVFilter ff_vf_copy;
 | 
						|
extern AVFilter ff_vf_coreimage;
 | 
						|
extern AVFilter ff_vf_cover_rect;
 | 
						|
extern AVFilter ff_vf_crop;
 | 
						|
extern AVFilter ff_vf_cropdetect;
 | 
						|
extern AVFilter ff_vf_curves;
 | 
						|
extern AVFilter ff_vf_datascope;
 | 
						|
extern AVFilter ff_vf_dctdnoiz;
 | 
						|
extern AVFilter ff_vf_deband;
 | 
						|
extern AVFilter ff_vf_deblock;
 | 
						|
extern AVFilter ff_vf_decimate;
 | 
						|
extern AVFilter ff_vf_deconvolve;
 | 
						|
extern AVFilter ff_vf_deflate;
 | 
						|
extern AVFilter ff_vf_deflicker;
 | 
						|
extern AVFilter ff_vf_deinterlace_qsv;
 | 
						|
extern AVFilter ff_vf_deinterlace_vaapi;
 | 
						|
extern AVFilter ff_vf_dejudder;
 | 
						|
extern AVFilter ff_vf_delogo;
 | 
						|
extern AVFilter ff_vf_denoise_vaapi;
 | 
						|
extern AVFilter ff_vf_deshake;
 | 
						|
extern AVFilter ff_vf_despill;
 | 
						|
extern AVFilter ff_vf_detelecine;
 | 
						|
extern AVFilter ff_vf_dilation;
 | 
						|
extern AVFilter ff_vf_displace;
 | 
						|
extern AVFilter ff_vf_doubleweave;
 | 
						|
extern AVFilter ff_vf_drawbox;
 | 
						|
extern AVFilter ff_vf_drawgraph;
 | 
						|
extern AVFilter ff_vf_drawgrid;
 | 
						|
extern AVFilter ff_vf_drawtext;
 | 
						|
extern AVFilter ff_vf_edgedetect;
 | 
						|
extern AVFilter ff_vf_elbg;
 | 
						|
extern AVFilter ff_vf_entropy;
 | 
						|
extern AVFilter ff_vf_eq;
 | 
						|
extern AVFilter ff_vf_erosion;
 | 
						|
extern AVFilter ff_vf_extractplanes;
 | 
						|
extern AVFilter ff_vf_fade;
 | 
						|
extern AVFilter ff_vf_fftfilt;
 | 
						|
extern AVFilter ff_vf_field;
 | 
						|
extern AVFilter ff_vf_fieldhint;
 | 
						|
extern AVFilter ff_vf_fieldmatch;
 | 
						|
extern AVFilter ff_vf_fieldorder;
 | 
						|
extern AVFilter ff_vf_fillborders;
 | 
						|
extern AVFilter ff_vf_find_rect;
 | 
						|
extern AVFilter ff_vf_floodfill;
 | 
						|
extern AVFilter ff_vf_format;
 | 
						|
extern AVFilter ff_vf_fps;
 | 
						|
extern AVFilter ff_vf_framepack;
 | 
						|
extern AVFilter ff_vf_framerate;
 | 
						|
extern AVFilter ff_vf_framestep;
 | 
						|
extern AVFilter ff_vf_frei0r;
 | 
						|
extern AVFilter ff_vf_fspp;
 | 
						|
extern AVFilter ff_vf_gblur;
 | 
						|
extern AVFilter ff_vf_geq;
 | 
						|
extern AVFilter ff_vf_gradfun;
 | 
						|
extern AVFilter ff_vf_haldclut;
 | 
						|
extern AVFilter ff_vf_hflip;
 | 
						|
extern AVFilter ff_vf_histeq;
 | 
						|
extern AVFilter ff_vf_histogram;
 | 
						|
extern AVFilter ff_vf_hqdn3d;
 | 
						|
extern AVFilter ff_vf_hqx;
 | 
						|
extern AVFilter ff_vf_hstack;
 | 
						|
extern AVFilter ff_vf_hue;
 | 
						|
extern AVFilter ff_vf_hwdownload;
 | 
						|
extern AVFilter ff_vf_hwmap;
 | 
						|
extern AVFilter ff_vf_hwupload;
 | 
						|
extern AVFilter ff_vf_hwupload_cuda;
 | 
						|
extern AVFilter ff_vf_hysteresis;
 | 
						|
extern AVFilter ff_vf_idet;
 | 
						|
extern AVFilter ff_vf_il;
 | 
						|
extern AVFilter ff_vf_inflate;
 | 
						|
extern AVFilter ff_vf_interlace;
 | 
						|
extern AVFilter ff_vf_interleave;
 | 
						|
extern AVFilter ff_vf_kerndeint;
 | 
						|
extern AVFilter ff_vf_lenscorrection;
 | 
						|
extern AVFilter ff_vf_libvmaf;
 | 
						|
extern AVFilter ff_vf_limiter;
 | 
						|
extern AVFilter ff_vf_loop;
 | 
						|
extern AVFilter ff_vf_lumakey;
 | 
						|
extern AVFilter ff_vf_lut;
 | 
						|
extern AVFilter ff_vf_lut2;
 | 
						|
extern AVFilter ff_vf_lut3d;
 | 
						|
extern AVFilter ff_vf_lutrgb;
 | 
						|
extern AVFilter ff_vf_lutyuv;
 | 
						|
extern AVFilter ff_vf_maskedclamp;
 | 
						|
extern AVFilter ff_vf_maskedmerge;
 | 
						|
extern AVFilter ff_vf_mcdeint;
 | 
						|
extern AVFilter ff_vf_mergeplanes;
 | 
						|
extern AVFilter ff_vf_mestimate;
 | 
						|
extern AVFilter ff_vf_metadata;
 | 
						|
extern AVFilter ff_vf_midequalizer;
 | 
						|
extern AVFilter ff_vf_minterpolate;
 | 
						|
extern AVFilter ff_vf_mix;
 | 
						|
extern AVFilter ff_vf_mpdecimate;
 | 
						|
extern AVFilter ff_vf_negate;
 | 
						|
extern AVFilter ff_vf_nlmeans;
 | 
						|
extern AVFilter ff_vf_nnedi;
 | 
						|
extern AVFilter ff_vf_noformat;
 | 
						|
extern AVFilter ff_vf_noise;
 | 
						|
extern AVFilter ff_vf_normalize;
 | 
						|
extern AVFilter ff_vf_null;
 | 
						|
extern AVFilter ff_vf_ocr;
 | 
						|
extern AVFilter ff_vf_ocv;
 | 
						|
extern AVFilter ff_vf_oscilloscope;
 | 
						|
extern AVFilter ff_vf_overlay;
 | 
						|
extern AVFilter ff_vf_overlay_opencl;
 | 
						|
extern AVFilter ff_vf_overlay_qsv;
 | 
						|
extern AVFilter ff_vf_owdenoise;
 | 
						|
extern AVFilter ff_vf_pad;
 | 
						|
extern AVFilter ff_vf_palettegen;
 | 
						|
extern AVFilter ff_vf_paletteuse;
 | 
						|
extern AVFilter ff_vf_perms;
 | 
						|
extern AVFilter ff_vf_perspective;
 | 
						|
extern AVFilter ff_vf_phase;
 | 
						|
extern AVFilter ff_vf_pixdesctest;
 | 
						|
extern AVFilter ff_vf_pixscope;
 | 
						|
extern AVFilter ff_vf_pp;
 | 
						|
extern AVFilter ff_vf_pp7;
 | 
						|
extern AVFilter ff_vf_premultiply;
 | 
						|
extern AVFilter ff_vf_prewitt;
 | 
						|
extern AVFilter ff_vf_procamp_vaapi;
 | 
						|
extern AVFilter ff_vf_program_opencl;
 | 
						|
extern AVFilter ff_vf_pseudocolor;
 | 
						|
extern AVFilter ff_vf_psnr;
 | 
						|
extern AVFilter ff_vf_pullup;
 | 
						|
extern AVFilter ff_vf_qp;
 | 
						|
extern AVFilter ff_vf_random;
 | 
						|
extern AVFilter ff_vf_readeia608;
 | 
						|
extern AVFilter ff_vf_readvitc;
 | 
						|
extern AVFilter ff_vf_realtime;
 | 
						|
extern AVFilter ff_vf_remap;
 | 
						|
extern AVFilter ff_vf_removegrain;
 | 
						|
extern AVFilter ff_vf_removelogo;
 | 
						|
extern AVFilter ff_vf_repeatfields;
 | 
						|
extern AVFilter ff_vf_reverse;
 | 
						|
extern AVFilter ff_vf_roberts;
 | 
						|
extern AVFilter ff_vf_rotate;
 | 
						|
extern AVFilter ff_vf_sab;
 | 
						|
extern AVFilter ff_vf_scale;
 | 
						|
extern AVFilter ff_vf_scale_cuda;
 | 
						|
extern AVFilter ff_vf_scale_npp;
 | 
						|
extern AVFilter ff_vf_scale_qsv;
 | 
						|
extern AVFilter ff_vf_scale_vaapi;
 | 
						|
extern AVFilter ff_vf_scale2ref;
 | 
						|
extern AVFilter ff_vf_select;
 | 
						|
extern AVFilter ff_vf_selectivecolor;
 | 
						|
extern AVFilter ff_vf_sendcmd;
 | 
						|
extern AVFilter ff_vf_separatefields;
 | 
						|
extern AVFilter ff_vf_setdar;
 | 
						|
extern AVFilter ff_vf_setfield;
 | 
						|
extern AVFilter ff_vf_setpts;
 | 
						|
extern AVFilter ff_vf_setrange;
 | 
						|
extern AVFilter ff_vf_setsar;
 | 
						|
extern AVFilter ff_vf_settb;
 | 
						|
extern AVFilter ff_vf_sharpness_vaapi;
 | 
						|
extern AVFilter ff_vf_showinfo;
 | 
						|
extern AVFilter ff_vf_showpalette;
 | 
						|
extern AVFilter ff_vf_shuffleframes;
 | 
						|
extern AVFilter ff_vf_shuffleplanes;
 | 
						|
extern AVFilter ff_vf_sidedata;
 | 
						|
extern AVFilter ff_vf_signalstats;
 | 
						|
extern AVFilter ff_vf_signature;
 | 
						|
extern AVFilter ff_vf_smartblur;
 | 
						|
extern AVFilter ff_vf_sobel;
 | 
						|
extern AVFilter ff_vf_split;
 | 
						|
extern AVFilter ff_vf_spp;
 | 
						|
extern AVFilter ff_vf_srcnn;
 | 
						|
extern AVFilter ff_vf_ssim;
 | 
						|
extern AVFilter ff_vf_stereo3d;
 | 
						|
extern AVFilter ff_vf_streamselect;
 | 
						|
extern AVFilter ff_vf_subtitles;
 | 
						|
extern AVFilter ff_vf_super2xsai;
 | 
						|
extern AVFilter ff_vf_swaprect;
 | 
						|
extern AVFilter ff_vf_swapuv;
 | 
						|
extern AVFilter ff_vf_tblend;
 | 
						|
extern AVFilter ff_vf_telecine;
 | 
						|
extern AVFilter ff_vf_threshold;
 | 
						|
extern AVFilter ff_vf_thumbnail;
 | 
						|
extern AVFilter ff_vf_thumbnail_cuda;
 | 
						|
extern AVFilter ff_vf_tile;
 | 
						|
extern AVFilter ff_vf_tinterlace;
 | 
						|
extern AVFilter ff_vf_tlut2;
 | 
						|
extern AVFilter ff_vf_tmix;
 | 
						|
extern AVFilter ff_vf_tonemap;
 | 
						|
extern AVFilter ff_vf_transpose;
 | 
						|
extern AVFilter ff_vf_trim;
 | 
						|
extern AVFilter ff_vf_unpremultiply;
 | 
						|
extern AVFilter ff_vf_unsharp;
 | 
						|
extern AVFilter ff_vf_unsharp_opencl;
 | 
						|
extern AVFilter ff_vf_uspp;
 | 
						|
extern AVFilter ff_vf_vaguedenoiser;
 | 
						|
extern AVFilter ff_vf_vectorscope;
 | 
						|
extern AVFilter ff_vf_vflip;
 | 
						|
extern AVFilter ff_vf_vfrdet;
 | 
						|
extern AVFilter ff_vf_vidstabdetect;
 | 
						|
extern AVFilter ff_vf_vidstabtransform;
 | 
						|
extern AVFilter ff_vf_vignette;
 | 
						|
extern AVFilter ff_vf_vmafmotion;
 | 
						|
extern AVFilter ff_vf_vpp_qsv;
 | 
						|
extern AVFilter ff_vf_vstack;
 | 
						|
extern AVFilter ff_vf_w3fdif;
 | 
						|
extern AVFilter ff_vf_waveform;
 | 
						|
extern AVFilter ff_vf_weave;
 | 
						|
extern AVFilter ff_vf_xbr;
 | 
						|
extern AVFilter ff_vf_yadif;
 | 
						|
extern AVFilter ff_vf_zmq;
 | 
						|
extern AVFilter ff_vf_zoompan;
 | 
						|
extern AVFilter ff_vf_zscale;
 | 
						|
 | 
						|
extern AVFilter ff_vsrc_allrgb;
 | 
						|
extern AVFilter ff_vsrc_allyuv;
 | 
						|
extern AVFilter ff_vsrc_cellauto;
 | 
						|
extern AVFilter ff_vsrc_color;
 | 
						|
extern AVFilter ff_vsrc_coreimagesrc;
 | 
						|
extern AVFilter ff_vsrc_frei0r_src;
 | 
						|
extern AVFilter ff_vsrc_haldclutsrc;
 | 
						|
extern AVFilter ff_vsrc_life;
 | 
						|
extern AVFilter ff_vsrc_mandelbrot;
 | 
						|
extern AVFilter ff_vsrc_mptestsrc;
 | 
						|
extern AVFilter ff_vsrc_nullsrc;
 | 
						|
extern AVFilter ff_vsrc_openclsrc;
 | 
						|
extern AVFilter ff_vsrc_rgbtestsrc;
 | 
						|
extern AVFilter ff_vsrc_smptebars;
 | 
						|
extern AVFilter ff_vsrc_smptehdbars;
 | 
						|
extern AVFilter ff_vsrc_testsrc;
 | 
						|
extern AVFilter ff_vsrc_testsrc2;
 | 
						|
extern AVFilter ff_vsrc_yuvtestsrc;
 | 
						|
 | 
						|
extern AVFilter ff_vsink_nullsink;
 | 
						|
 | 
						|
/* multimedia filters */
 | 
						|
extern AVFilter ff_avf_abitscope;
 | 
						|
extern AVFilter ff_avf_adrawgraph;
 | 
						|
extern AVFilter ff_avf_ahistogram;
 | 
						|
extern AVFilter ff_avf_aphasemeter;
 | 
						|
extern AVFilter ff_avf_avectorscope;
 | 
						|
extern AVFilter ff_avf_concat;
 | 
						|
extern AVFilter ff_avf_showcqt;
 | 
						|
extern AVFilter ff_avf_showfreqs;
 | 
						|
extern AVFilter ff_avf_showspectrum;
 | 
						|
extern AVFilter ff_avf_showspectrumpic;
 | 
						|
extern AVFilter ff_avf_showvolume;
 | 
						|
extern AVFilter ff_avf_showwaves;
 | 
						|
extern AVFilter ff_avf_showwavespic;
 | 
						|
extern AVFilter ff_vaf_spectrumsynth;
 | 
						|
 | 
						|
/* multimedia sources */
 | 
						|
extern AVFilter ff_avsrc_amovie;
 | 
						|
extern AVFilter ff_avsrc_movie;
 | 
						|
 | 
						|
/* those filters are part of public or internal API,
 | 
						|
 * they are formatted to not be found by the grep
 | 
						|
 * as they are manually added again (due to their 'names'
 | 
						|
 * being the same while having different 'types'). */
 | 
						|
extern  AVFilter ff_asrc_abuffer;
 | 
						|
extern  AVFilter ff_vsrc_buffer;
 | 
						|
extern  AVFilter ff_asink_abuffer;
 | 
						|
extern  AVFilter ff_vsink_buffer;
 | 
						|
extern AVFilter ff_af_afifo;
 | 
						|
extern AVFilter ff_vf_fifo;
 | 
						|
 | 
						|
#include "libavfilter/filter_list.c"
 | 
						|
 | 
						|
 | 
						|
const AVFilter *av_filter_iterate(void **opaque)
 | 
						|
{
 | 
						|
    uintptr_t i = (uintptr_t)*opaque;
 | 
						|
    const AVFilter *f = filter_list[i];
 | 
						|
 | 
						|
    if (f)
 | 
						|
        *opaque = (void*)(i + 1);
 | 
						|
 | 
						|
    return f;
 | 
						|
}
 | 
						|
 | 
						|
const AVFilter *avfilter_get_by_name(const char *name)
 | 
						|
{
 | 
						|
    const AVFilter *f = NULL;
 | 
						|
    void *opaque = 0;
 | 
						|
 | 
						|
    if (!name)
 | 
						|
        return NULL;
 | 
						|
 | 
						|
    while ((f = av_filter_iterate(&opaque)))
 | 
						|
        if (!strcmp(f->name, name))
 | 
						|
            return (AVFilter *)f;
 | 
						|
 | 
						|
    return NULL;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
#if FF_API_NEXT
 | 
						|
FF_DISABLE_DEPRECATION_WARNINGS
 | 
						|
static AVOnce av_filter_next_init = AV_ONCE_INIT;
 | 
						|
 | 
						|
static void av_filter_init_next(void)
 | 
						|
{
 | 
						|
    AVFilter *prev = NULL, *p;
 | 
						|
    void *i = 0;
 | 
						|
    while ((p = (AVFilter*)av_filter_iterate(&i))) {
 | 
						|
        if (prev)
 | 
						|
            prev->next = p;
 | 
						|
        prev = p;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void avfilter_register_all(void)
 | 
						|
{
 | 
						|
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
 | 
						|
}
 | 
						|
 | 
						|
int avfilter_register(AVFilter *filter)
 | 
						|
{
 | 
						|
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
 | 
						|
 | 
						|
    return 0;
 | 
						|
}
 | 
						|
 | 
						|
const AVFilter *avfilter_next(const AVFilter *prev)
 | 
						|
{
 | 
						|
    ff_thread_once(&av_filter_next_init, av_filter_init_next);
 | 
						|
 | 
						|
    return prev ? prev->next : filter_list[0];
 | 
						|
}
 | 
						|
 | 
						|
FF_ENABLE_DEPRECATION_WARNINGS
 | 
						|
#endif
 |