mirror of https://github.com/FFmpeg/FFmpeg.git
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.
582 lines
18 KiB
582 lines
18 KiB
/* |
|
* 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_acue; |
|
extern AVFilter ff_af_acrossfade; |
|
extern AVFilter ff_af_acrossover; |
|
extern AVFilter ff_af_acrusher; |
|
extern AVFilter ff_af_adeclick; |
|
extern AVFilter ff_af_adeclip; |
|
extern AVFilter ff_af_adelay; |
|
extern AVFilter ff_af_adenorm; |
|
extern AVFilter ff_af_aderivative; |
|
extern AVFilter ff_af_aecho; |
|
extern AVFilter ff_af_aemphasis; |
|
extern AVFilter ff_af_aeval; |
|
extern AVFilter ff_af_afade; |
|
extern AVFilter ff_af_afftdn; |
|
extern AVFilter ff_af_afftfilt; |
|
extern AVFilter ff_af_afir; |
|
extern AVFilter ff_af_aformat; |
|
extern AVFilter ff_af_afreqshift; |
|
extern AVFilter ff_af_agate; |
|
extern AVFilter ff_af_aiir; |
|
extern AVFilter ff_af_aintegral; |
|
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_amultiply; |
|
extern AVFilter ff_af_anequalizer; |
|
extern AVFilter ff_af_anlmdn; |
|
extern AVFilter ff_af_anlms; |
|
extern AVFilter ff_af_anull; |
|
extern AVFilter ff_af_apad; |
|
extern AVFilter ff_af_aperms; |
|
extern AVFilter ff_af_aphaser; |
|
extern AVFilter ff_af_aphaseshift; |
|
extern AVFilter ff_af_apulsator; |
|
extern AVFilter ff_af_arealtime; |
|
extern AVFilter ff_af_aresample; |
|
extern AVFilter ff_af_areverse; |
|
extern AVFilter ff_af_arnndn; |
|
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_asoftclip; |
|
extern AVFilter ff_af_asplit; |
|
extern AVFilter ff_af_asr; |
|
extern AVFilter ff_af_astats; |
|
extern AVFilter ff_af_astreamselect; |
|
extern AVFilter ff_af_asubboost; |
|
extern AVFilter ff_af_asubcut; |
|
extern AVFilter ff_af_asupercut; |
|
extern AVFilter ff_af_asuperpass; |
|
extern AVFilter ff_af_asuperstop; |
|
extern AVFilter ff_af_atempo; |
|
extern AVFilter ff_af_atrim; |
|
extern AVFilter ff_af_axcorrelate; |
|
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_vf_chromaber_vulkan; |
|
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_deesser; |
|
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_speechnorm; |
|
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_afirsrc; |
|
extern AVFilter ff_asrc_anoisesrc; |
|
extern AVFilter ff_asrc_anullsrc; |
|
extern AVFilter ff_asrc_flite; |
|
extern AVFilter ff_asrc_hilbert; |
|
extern AVFilter ff_asrc_sinc; |
|
extern AVFilter ff_asrc_sine; |
|
|
|
extern AVFilter ff_asink_anullsink; |
|
|
|
extern AVFilter ff_vf_addroi; |
|
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_avgblur_vulkan; |
|
extern AVFilter ff_vf_bbox; |
|
extern AVFilter ff_vf_bench; |
|
extern AVFilter ff_vf_bilateral; |
|
extern AVFilter ff_vf_bitplanenoise; |
|
extern AVFilter ff_vf_blackdetect; |
|
extern AVFilter ff_vf_blackframe; |
|
extern AVFilter ff_vf_blend; |
|
extern AVFilter ff_vf_bm3d; |
|
extern AVFilter ff_vf_boxblur; |
|
extern AVFilter ff_vf_boxblur_opencl; |
|
extern AVFilter ff_vf_bwdif; |
|
extern AVFilter ff_vf_cas; |
|
extern AVFilter ff_vf_chromahold; |
|
extern AVFilter ff_vf_chromakey; |
|
extern AVFilter ff_vf_chromanr; |
|
extern AVFilter ff_vf_chromashift; |
|
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_colorkey_opencl; |
|
extern AVFilter ff_vf_colorhold; |
|
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_cue; |
|
extern AVFilter ff_vf_curves; |
|
extern AVFilter ff_vf_datascope; |
|
extern AVFilter ff_vf_dblur; |
|
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_dedot; |
|
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_derain; |
|
extern AVFilter ff_vf_deshake; |
|
extern AVFilter ff_vf_deshake_opencl; |
|
extern AVFilter ff_vf_despill; |
|
extern AVFilter ff_vf_detelecine; |
|
extern AVFilter ff_vf_dilation; |
|
extern AVFilter ff_vf_dilation_opencl; |
|
extern AVFilter ff_vf_displace; |
|
extern AVFilter ff_vf_dnn_processing; |
|
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_erosion_opencl; |
|
extern AVFilter ff_vf_extractplanes; |
|
extern AVFilter ff_vf_fade; |
|
extern AVFilter ff_vf_fftdnoiz; |
|
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_freezedetect; |
|
extern AVFilter ff_vf_freezeframes; |
|
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_graphmonitor; |
|
extern AVFilter ff_vf_greyedge; |
|
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_lagfun; |
|
extern AVFilter ff_vf_lenscorrection; |
|
extern AVFilter ff_vf_lensfun; |
|
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_lut1d; |
|
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_maskedmax; |
|
extern AVFilter ff_vf_maskedmerge; |
|
extern AVFilter ff_vf_maskedmin; |
|
extern AVFilter ff_vf_maskedthreshold; |
|
extern AVFilter ff_vf_maskfun; |
|
extern AVFilter ff_vf_mcdeint; |
|
extern AVFilter ff_vf_median; |
|
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_nlmeans_opencl; |
|
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_overlay_vulkan; |
|
extern AVFilter ff_vf_overlay_cuda; |
|
extern AVFilter ff_vf_owdenoise; |
|
extern AVFilter ff_vf_pad; |
|
extern AVFilter ff_vf_pad_opencl; |
|
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_photosensitivity; |
|
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_prewitt_opencl; |
|
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_rgbashift; |
|
extern AVFilter ff_vf_roberts; |
|
extern AVFilter ff_vf_roberts_opencl; |
|
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_scale_vulkan; |
|
extern AVFilter ff_vf_scale2ref; |
|
extern AVFilter ff_vf_scdet; |
|
extern AVFilter ff_vf_scroll; |
|
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_setparams; |
|
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_shufflepixels; |
|
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_sobel_opencl; |
|
extern AVFilter ff_vf_split; |
|
extern AVFilter ff_vf_spp; |
|
extern AVFilter ff_vf_sr; |
|
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_thistogram; |
|
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_tmedian; |
|
extern AVFilter ff_vf_tmidequalizer; |
|
extern AVFilter ff_vf_tmix; |
|
extern AVFilter ff_vf_tonemap; |
|
extern AVFilter ff_vf_tonemap_opencl; |
|
extern AVFilter ff_vf_tonemap_vaapi; |
|
extern AVFilter ff_vf_tpad; |
|
extern AVFilter ff_vf_transpose; |
|
extern AVFilter ff_vf_transpose_npp; |
|
extern AVFilter ff_vf_transpose_opencl; |
|
extern AVFilter ff_vf_transpose_vaapi; |
|
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_untile; |
|
extern AVFilter ff_vf_uspp; |
|
extern AVFilter ff_vf_v360; |
|
extern AVFilter ff_vf_vaguedenoiser; |
|
extern AVFilter ff_vf_vectorscope; |
|
extern AVFilter ff_vf_vflip; |
|
extern AVFilter ff_vf_vfrdet; |
|
extern AVFilter ff_vf_vibrance; |
|
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_xfade; |
|
extern AVFilter ff_vf_xfade_opencl; |
|
extern AVFilter ff_vf_xmedian; |
|
extern AVFilter ff_vf_xstack; |
|
extern AVFilter ff_vf_yadif; |
|
extern AVFilter ff_vf_yadif_cuda; |
|
extern AVFilter ff_vf_yaepblur; |
|
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_gradients; |
|
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_pal75bars; |
|
extern AVFilter ff_vsrc_pal100bars; |
|
extern AVFilter ff_vsrc_rgbtestsrc; |
|
extern AVFilter ff_vsrc_sierpinski; |
|
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_agraphmonitor; |
|
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_showspatial; |
|
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 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
|
|
|