2008-02-15 22:02:51 +00:00
|
|
|
/*
|
|
|
|
* filter registration
|
2010-11-28 10:22:58 +00:00
|
|
|
* Copyright (c) 2008 Vitor Sessak
|
2008-02-15 22:02:51 +00:00
|
|
|
*
|
|
|
|
* 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
|
|
|
|
*/
|
|
|
|
|
2017-03-07 08:54:44 +00:00
|
|
|
#include "libavutil/thread.h"
|
2008-02-15 22:02:51 +00:00
|
|
|
#include "avfilter.h"
|
2012-08-06 13:49:32 +00:00
|
|
|
#include "config.h"
|
2013-04-02 12:54:22 +00:00
|
|
|
#include "opencl_allkernels.h"
|
2008-02-15 22:02:51 +00:00
|
|
|
|
|
|
|
|
2012-12-25 14:29:39 +00:00
|
|
|
#define REGISTER_FILTER(X, x, y) \
|
|
|
|
{ \
|
2013-10-28 06:44:24 +00:00
|
|
|
extern AVFilter ff_##y##_##x; \
|
2012-12-25 14:29:39 +00:00
|
|
|
if (CONFIG_##X##_FILTER) \
|
2013-10-28 06:44:24 +00:00
|
|
|
avfilter_register(&ff_##y##_##x); \
|
2012-12-25 14:29:39 +00:00
|
|
|
}
|
2008-02-15 22:02:51 +00:00
|
|
|
|
2012-12-23 18:06:35 +00:00
|
|
|
#define REGISTER_FILTER_UNCONDITIONAL(x) \
|
|
|
|
{ \
|
2013-10-28 06:44:24 +00:00
|
|
|
extern AVFilter ff_##x; \
|
|
|
|
avfilter_register(&ff_##x); \
|
2012-12-23 18:06:35 +00:00
|
|
|
}
|
|
|
|
|
2017-03-07 08:54:44 +00:00
|
|
|
static void register_all(void)
|
2008-02-15 22:02:51 +00:00
|
|
|
{
|
2016-02-29 11:19:55 +00:00
|
|
|
REGISTER_FILTER(ABENCH, abench, af);
|
2015-11-25 10:36:45 +00:00
|
|
|
REGISTER_FILTER(ACOMPRESSOR, acompressor, af);
|
2017-05-09 20:58:56 +00:00
|
|
|
REGISTER_FILTER(ACOPY, acopy, af);
|
2015-07-23 22:13:17 +00:00
|
|
|
REGISTER_FILTER(ACROSSFADE, acrossfade, af);
|
2016-08-10 14:11:37 +00:00
|
|
|
REGISTER_FILTER(ACRUSHER, acrusher, af);
|
2013-09-13 11:36:52 +00:00
|
|
|
REGISTER_FILTER(ADELAY, adelay, af);
|
2013-07-08 13:44:35 +00:00
|
|
|
REGISTER_FILTER(AECHO, aecho, af);
|
2015-11-30 12:36:58 +00:00
|
|
|
REGISTER_FILTER(AEMPHASIS, aemphasis, af);
|
2013-12-05 17:23:06 +00:00
|
|
|
REGISTER_FILTER(AEVAL, aeval, af);
|
2013-01-17 21:53:27 +00:00
|
|
|
REGISTER_FILTER(AFADE, afade, af);
|
2016-01-16 14:09:25 +00:00
|
|
|
REGISTER_FILTER(AFFTFILT, afftfilt, af);
|
2017-01-26 16:03:08 +00:00
|
|
|
REGISTER_FILTER(AFIR, afir, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(AFORMAT, aformat, af);
|
2015-09-17 09:38:23 +00:00
|
|
|
REGISTER_FILTER(AGATE, agate, af);
|
2013-04-08 13:16:06 +00:00
|
|
|
REGISTER_FILTER(AINTERLEAVE, ainterleave, af);
|
2015-09-05 19:12:58 +00:00
|
|
|
REGISTER_FILTER(ALIMITER, alimiter, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(ALLPASS, allpass, af);
|
2016-02-11 21:05:54 +00:00
|
|
|
REGISTER_FILTER(ALOOP, aloop, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(AMERGE, amerge, af);
|
2016-02-06 10:19:45 +00:00
|
|
|
REGISTER_FILTER(AMETADATA, ametadata, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(AMIX, amix, af);
|
2015-12-20 08:50:35 +00:00
|
|
|
REGISTER_FILTER(ANEQUALIZER, anequalizer, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(ANULL, anull, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(APAD, apad, af);
|
2013-03-13 04:59:20 +00:00
|
|
|
REGISTER_FILTER(APERMS, aperms, af);
|
2013-03-30 04:03:39 +00:00
|
|
|
REGISTER_FILTER(APHASER, aphaser, af);
|
2015-11-28 18:50:32 +00:00
|
|
|
REGISTER_FILTER(APULSATOR, apulsator, af);
|
2015-10-25 16:31:58 +00:00
|
|
|
REGISTER_FILTER(AREALTIME, arealtime, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(ARESAMPLE, aresample, af);
|
2015-07-21 10:43:04 +00:00
|
|
|
REGISTER_FILTER(AREVERSE, areverse, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(ASELECT, aselect, af);
|
|
|
|
REGISTER_FILTER(ASENDCMD, asendcmd, af);
|
|
|
|
REGISTER_FILTER(ASETNSAMPLES, asetnsamples, af);
|
|
|
|
REGISTER_FILTER(ASETPTS, asetpts, af);
|
2013-04-18 14:59:27 +00:00
|
|
|
REGISTER_FILTER(ASETRATE, asetrate, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(ASETTB, asettb, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(ASHOWINFO, ashowinfo, af);
|
2016-10-04 22:32:48 +00:00
|
|
|
REGISTER_FILTER(ASIDEDATA, asidedata, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(ASPLIT, asplit, af);
|
2013-04-22 12:38:24 +00:00
|
|
|
REGISTER_FILTER(ASTATS, astats, af);
|
2016-01-18 10:22:32 +00:00
|
|
|
REGISTER_FILTER(ASTREAMSELECT, astreamselect, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(ATEMPO, atempo, af);
|
2013-04-02 17:30:11 +00:00
|
|
|
REGISTER_FILTER(ATRIM, atrim, af);
|
2013-04-21 13:00:11 +00:00
|
|
|
REGISTER_FILTER(AZMQ, azmq, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(BANDPASS, bandpass, af);
|
|
|
|
REGISTER_FILTER(BANDREJECT, bandreject, af);
|
|
|
|
REGISTER_FILTER(BASS, bass, af);
|
|
|
|
REGISTER_FILTER(BIQUAD, biquad, af);
|
2014-04-29 16:53:16 +00:00
|
|
|
REGISTER_FILTER(BS2B, bs2b, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(CHANNELMAP, channelmap, af);
|
|
|
|
REGISTER_FILTER(CHANNELSPLIT, channelsplit, af);
|
2014-06-24 08:35:37 +00:00
|
|
|
REGISTER_FILTER(CHORUS, chorus, af);
|
2013-07-16 21:39:06 +00:00
|
|
|
REGISTER_FILTER(COMPAND, compand, af);
|
2015-11-24 10:14:36 +00:00
|
|
|
REGISTER_FILTER(COMPENSATIONDELAY, compensationdelay, af);
|
2017-05-14 16:30:12 +00:00
|
|
|
REGISTER_FILTER(CROSSFEED, crossfeed, af);
|
2016-08-06 07:50:35 +00:00
|
|
|
REGISTER_FILTER(CRYSTALIZER, crystalizer, af);
|
2015-01-28 15:46:58 +00:00
|
|
|
REGISTER_FILTER(DCSHIFT, dcshift, af);
|
2015-07-07 16:19:59 +00:00
|
|
|
REGISTER_FILTER(DYNAUDNORM, dynaudnorm, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(EARWAX, earwax, af);
|
|
|
|
REGISTER_FILTER(EBUR128, ebur128, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(EQUALIZER, equalizer, af);
|
2015-09-05 03:55:47 +00:00
|
|
|
REGISTER_FILTER(EXTRASTEREO, extrastereo, af);
|
2016-02-16 18:02:22 +00:00
|
|
|
REGISTER_FILTER(FIREQUALIZER, firequalizer, af);
|
2014-06-27 08:42:35 +00:00
|
|
|
REGISTER_FILTER(FLANGER, flanger, af);
|
2017-09-06 12:06:38 +00:00
|
|
|
REGISTER_FILTER(HAAS, haas, af);
|
2016-04-15 10:14:55 +00:00
|
|
|
REGISTER_FILTER(HDCD, hdcd, af);
|
2017-06-07 19:23:14 +00:00
|
|
|
REGISTER_FILTER(HEADPHONE, headphone, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(HIGHPASS, highpass, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(JOIN, join, af);
|
2013-09-20 14:01:00 +00:00
|
|
|
REGISTER_FILTER(LADSPA, ladspa, af);
|
2016-05-11 18:30:14 +00:00
|
|
|
REGISTER_FILTER(LOUDNORM, loudnorm, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(LOWPASS, lowpass, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(PAN, pan, af);
|
2013-09-26 09:41:53 +00:00
|
|
|
REGISTER_FILTER(REPLAYGAIN, replaygain, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(RESAMPLE, resample, af);
|
2015-09-18 20:22:05 +00:00
|
|
|
REGISTER_FILTER(RUBBERBAND, rubberband, af);
|
2015-07-17 18:44:16 +00:00
|
|
|
REGISTER_FILTER(SIDECHAINCOMPRESS, sidechaincompress, af);
|
2015-11-29 22:22:47 +00:00
|
|
|
REGISTER_FILTER(SIDECHAINGATE, sidechaingate, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SILENCEDETECT, silencedetect, af);
|
2014-07-02 09:39:07 +00:00
|
|
|
REGISTER_FILTER(SILENCEREMOVE, silenceremove, af);
|
2015-12-09 12:40:03 +00:00
|
|
|
REGISTER_FILTER(SOFALIZER, sofalizer, af);
|
2015-09-15 14:23:04 +00:00
|
|
|
REGISTER_FILTER(STEREOTOOLS, stereotools, af);
|
2015-09-12 04:01:18 +00:00
|
|
|
REGISTER_FILTER(STEREOWIDEN, stereowiden, af);
|
2017-06-16 12:07:01 +00:00
|
|
|
REGISTER_FILTER(SUPEREQUALIZER, superequalizer, af);
|
2017-05-19 18:12:04 +00:00
|
|
|
REGISTER_FILTER(SURROUND, surround, af);
|
2013-01-24 17:20:05 +00:00
|
|
|
REGISTER_FILTER(TREBLE, treble, af);
|
2015-09-21 15:16:43 +00:00
|
|
|
REGISTER_FILTER(TREMOLO, tremolo, af);
|
2015-10-24 05:08:19 +00:00
|
|
|
REGISTER_FILTER(VIBRATO, vibrato, af);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(VOLUME, volume, af);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(VOLUMEDETECT, volumedetect, af);
|
2010-08-20 23:16:51 +00:00
|
|
|
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(AEVALSRC, aevalsrc, asrc);
|
2015-11-08 11:39:37 +00:00
|
|
|
REGISTER_FILTER(ANOISESRC, anoisesrc, asrc);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(ANULLSRC, anullsrc, asrc);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(FLITE, flite, asrc);
|
2013-03-16 15:33:05 +00:00
|
|
|
REGISTER_FILTER(SINE, sine, asrc);
|
2010-09-25 01:56:58 +00:00
|
|
|
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(ANULLSINK, anullsink, asink);
|
2010-09-25 01:57:01 +00:00
|
|
|
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(ALPHAEXTRACT, alphaextract, vf);
|
|
|
|
REGISTER_FILTER(ALPHAMERGE, alphamerge, vf);
|
|
|
|
REGISTER_FILTER(ASS, ass, vf);
|
2016-08-17 11:37:39 +00:00
|
|
|
REGISTER_FILTER(ATADENOISE, atadenoise, vf);
|
2016-09-05 13:28:09 +00:00
|
|
|
REGISTER_FILTER(AVGBLUR, avgblur, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(BBOX, bbox, vf);
|
2016-08-17 11:37:39 +00:00
|
|
|
REGISTER_FILTER(BENCH, bench, vf);
|
2016-08-14 16:10:55 +00:00
|
|
|
REGISTER_FILTER(BITPLANENOISE, bitplanenoise, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(BLACKDETECT, blackdetect, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(BLACKFRAME, blackframe, vf);
|
2013-02-11 16:01:40 +00:00
|
|
|
REGISTER_FILTER(BLEND, blend, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(BOXBLUR, boxblur, vf);
|
2016-02-08 00:00:42 +00:00
|
|
|
REGISTER_FILTER(BWDIF, bwdif, vf);
|
2015-09-23 16:06:46 +00:00
|
|
|
REGISTER_FILTER(CHROMAKEY, chromakey, vf);
|
2016-02-01 20:05:16 +00:00
|
|
|
REGISTER_FILTER(CIESCOPE, ciescope, vf);
|
2014-08-18 14:32:26 +00:00
|
|
|
REGISTER_FILTER(CODECVIEW, codecview, vf);
|
2013-04-14 22:16:51 +00:00
|
|
|
REGISTER_FILTER(COLORBALANCE, colorbalance, vf);
|
2013-04-15 16:56:29 +00:00
|
|
|
REGISTER_FILTER(COLORCHANNELMIXER, colorchannelmixer, vf);
|
2015-06-13 13:09:07 +00:00
|
|
|
REGISTER_FILTER(COLORKEY, colorkey, vf);
|
2014-12-06 14:04:38 +00:00
|
|
|
REGISTER_FILTER(COLORLEVELS, colorlevels, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(COLORMATRIX, colormatrix, vf);
|
2016-04-06 18:08:21 +00:00
|
|
|
REGISTER_FILTER(COLORSPACE, colorspace, vf);
|
2016-01-22 10:52:58 +00:00
|
|
|
REGISTER_FILTER(CONVOLUTION, convolution, vf);
|
2017-08-31 10:07:58 +00:00
|
|
|
REGISTER_FILTER(CONVOLVE, convolve, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(COPY, copy, vf);
|
2016-03-19 15:28:40 +00:00
|
|
|
REGISTER_FILTER(COREIMAGE, coreimage, vf);
|
2015-05-02 19:00:38 +00:00
|
|
|
REGISTER_FILTER(COVER_RECT, cover_rect, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(CROP, crop, vf);
|
|
|
|
REGISTER_FILTER(CROPDETECT, cropdetect, vf);
|
2013-03-04 15:06:14 +00:00
|
|
|
REGISTER_FILTER(CURVES, curves, vf);
|
2016-02-23 21:41:07 +00:00
|
|
|
REGISTER_FILTER(DATASCOPE, datascope, vf);
|
2013-04-24 13:28:53 +00:00
|
|
|
REGISTER_FILTER(DCTDNOIZ, dctdnoiz, vf);
|
2015-07-10 16:16:53 +00:00
|
|
|
REGISTER_FILTER(DEBAND, deband, vf);
|
2012-12-10 23:53:10 +00:00
|
|
|
REGISTER_FILTER(DECIMATE, decimate, vf);
|
2015-02-25 09:34:32 +00:00
|
|
|
REGISTER_FILTER(DEFLATE, deflate, vf);
|
2017-04-18 13:18:40 +00:00
|
|
|
REGISTER_FILTER(DEFLICKER, deflicker, vf);
|
2016-07-02 10:12:36 +00:00
|
|
|
REGISTER_FILTER(DEINTERLACE_QSV,deinterlace_qsv,vf);
|
2017-02-19 17:23:07 +00:00
|
|
|
REGISTER_FILTER(DEINTERLACE_VAAPI, deinterlace_vaapi, vf);
|
2014-02-14 21:15:44 +00:00
|
|
|
REGISTER_FILTER(DEJUDDER, dejudder, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(DELOGO, delogo, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(DESHAKE, deshake, vf);
|
2017-08-28 12:32:25 +00:00
|
|
|
REGISTER_FILTER(DESPILL, despill, vf);
|
2015-03-27 14:06:05 +00:00
|
|
|
REGISTER_FILTER(DETELECINE, detelecine, vf);
|
2015-02-25 09:34:32 +00:00
|
|
|
REGISTER_FILTER(DILATION, dilation, vf);
|
2015-07-23 19:25:24 +00:00
|
|
|
REGISTER_FILTER(DISPLACE, displace, vf);
|
2017-04-22 11:07:33 +00:00
|
|
|
REGISTER_FILTER(DOUBLEWEAVE, doubleweave, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(DRAWBOX, drawbox, vf);
|
2015-06-24 15:48:57 +00:00
|
|
|
REGISTER_FILTER(DRAWGRAPH, drawgraph, vf);
|
2013-05-13 18:48:44 +00:00
|
|
|
REGISTER_FILTER(DRAWGRID, drawgrid, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(DRAWTEXT, drawtext, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(EDGEDETECT, edgedetect, vf);
|
2013-11-10 22:46:41 +00:00
|
|
|
REGISTER_FILTER(ELBG, elbg, vf);
|
2015-01-18 22:26:48 +00:00
|
|
|
REGISTER_FILTER(EQ, eq, vf);
|
2015-02-25 09:34:32 +00:00
|
|
|
REGISTER_FILTER(EROSION, erosion, vf);
|
2013-04-30 12:12:12 +00:00
|
|
|
REGISTER_FILTER(EXTRACTPLANES, extractplanes, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(FADE, fade, vf);
|
2015-02-24 06:47:30 +00:00
|
|
|
REGISTER_FILTER(FFTFILT, fftfilt, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(FIELD, field, vf);
|
2016-02-14 18:02:42 +00:00
|
|
|
REGISTER_FILTER(FIELDHINT, fieldhint, vf);
|
2012-12-10 23:53:10 +00:00
|
|
|
REGISTER_FILTER(FIELDMATCH, fieldmatch, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(FIELDORDER, fieldorder, vf);
|
2015-05-02 19:00:01 +00:00
|
|
|
REGISTER_FILTER(FIND_RECT, find_rect, vf);
|
2017-08-05 18:27:32 +00:00
|
|
|
REGISTER_FILTER(FLOODFILL, floodfill, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(FORMAT, format, vf);
|
|
|
|
REGISTER_FILTER(FPS, fps, vf);
|
2014-01-09 18:50:19 +00:00
|
|
|
REGISTER_FILTER(FRAMEPACK, framepack, vf);
|
2015-07-24 07:09:16 +00:00
|
|
|
REGISTER_FILTER(FRAMERATE, framerate, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(FRAMESTEP, framestep, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(FREI0R, frei0r, vf);
|
2014-12-23 16:54:37 +00:00
|
|
|
REGISTER_FILTER(FSPP, fspp, vf);
|
2016-08-31 23:18:45 +00:00
|
|
|
REGISTER_FILTER(GBLUR, gblur, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(GEQ, geq, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(GRADFUN, gradfun, vf);
|
2013-05-24 23:07:46 +00:00
|
|
|
REGISTER_FILTER(HALDCLUT, haldclut, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(HFLIP, hflip, vf);
|
2012-10-20 05:45:51 +00:00
|
|
|
REGISTER_FILTER(HISTEQ, histeq, vf);
|
2012-12-21 18:50:13 +00:00
|
|
|
REGISTER_FILTER(HISTOGRAM, histogram, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(HQDN3D, hqdn3d, vf);
|
2013-06-07 08:57:29 +00:00
|
|
|
REGISTER_FILTER(HQX, hqx, vf);
|
2016-08-17 11:37:39 +00:00
|
|
|
REGISTER_FILTER(HSTACK, hstack, vf);
|
|
|
|
REGISTER_FILTER(HUE, hue, vf);
|
2016-02-25 00:21:40 +00:00
|
|
|
REGISTER_FILTER(HWDOWNLOAD, hwdownload, vf);
|
2016-10-25 19:40:17 +00:00
|
|
|
REGISTER_FILTER(HWMAP, hwmap, vf);
|
2016-02-25 00:21:40 +00:00
|
|
|
REGISTER_FILTER(HWUPLOAD, hwupload, vf);
|
2016-01-15 11:42:42 +00:00
|
|
|
REGISTER_FILTER(HWUPLOAD_CUDA, hwupload_cuda, vf);
|
2016-08-22 13:45:44 +00:00
|
|
|
REGISTER_FILTER(HYSTERESIS, hysteresis, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(IDET, idet, vf);
|
2013-02-08 15:48:59 +00:00
|
|
|
REGISTER_FILTER(IL, il, vf);
|
2015-02-25 09:34:32 +00:00
|
|
|
REGISTER_FILTER(INFLATE, inflate, vf);
|
2013-03-12 10:35:21 +00:00
|
|
|
REGISTER_FILTER(INTERLACE, interlace, vf);
|
2013-04-08 13:16:06 +00:00
|
|
|
REGISTER_FILTER(INTERLEAVE, interleave, vf);
|
2012-10-18 07:50:53 +00:00
|
|
|
REGISTER_FILTER(KERNDEINT, kerndeint, vf);
|
2014-08-11 22:52:45 +00:00
|
|
|
REGISTER_FILTER(LENSCORRECTION, lenscorrection, vf);
|
2017-07-15 16:42:33 +00:00
|
|
|
REGISTER_FILTER(LIBVMAF, libvmaf, vf);
|
2017-07-03 15:42:03 +00:00
|
|
|
REGISTER_FILTER(LIMITER, limiter, vf);
|
2016-02-11 21:05:54 +00:00
|
|
|
REGISTER_FILTER(LOOP, loop, vf);
|
2017-04-23 17:59:32 +00:00
|
|
|
REGISTER_FILTER(LUMAKEY, lumakey, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(LUT, lut, vf);
|
2016-08-24 08:36:31 +00:00
|
|
|
REGISTER_FILTER(LUT2, lut2, vf);
|
2016-08-17 11:37:39 +00:00
|
|
|
REGISTER_FILTER(LUT3D, lut3d, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(LUTRGB, lutrgb, vf);
|
|
|
|
REGISTER_FILTER(LUTYUV, lutyuv, vf);
|
2016-08-22 08:02:15 +00:00
|
|
|
REGISTER_FILTER(MASKEDCLAMP, maskedclamp, vf);
|
2015-09-25 20:46:38 +00:00
|
|
|
REGISTER_FILTER(MASKEDMERGE, maskedmerge, vf);
|
2013-05-28 11:40:39 +00:00
|
|
|
REGISTER_FILTER(MCDEINT, mcdeint, vf);
|
2013-09-27 18:37:51 +00:00
|
|
|
REGISTER_FILTER(MERGEPLANES, mergeplanes, vf);
|
2016-08-23 12:20:35 +00:00
|
|
|
REGISTER_FILTER(MESTIMATE, mestimate, vf);
|
2016-02-06 10:19:45 +00:00
|
|
|
REGISTER_FILTER(METADATA, metadata, vf);
|
2017-02-02 12:10:37 +00:00
|
|
|
REGISTER_FILTER(MIDEQUALIZER, midequalizer, vf);
|
2016-08-23 12:20:35 +00:00
|
|
|
REGISTER_FILTER(MINTERPOLATE, minterpolate, vf);
|
2013-03-22 21:58:36 +00:00
|
|
|
REGISTER_FILTER(MPDECIMATE, mpdecimate, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(NEGATE, negate, vf);
|
2015-09-30 18:29:30 +00:00
|
|
|
REGISTER_FILTER(NLMEANS, nlmeans, vf);
|
2016-01-23 16:15:53 +00:00
|
|
|
REGISTER_FILTER(NNEDI, nnedi, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(NOFORMAT, noformat, vf);
|
2013-02-10 15:18:30 +00:00
|
|
|
REGISTER_FILTER(NOISE, noise, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(NULL, null, vf);
|
2015-09-09 13:43:35 +00:00
|
|
|
REGISTER_FILTER(OCR, ocr, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(OCV, ocv, vf);
|
2017-04-25 17:31:05 +00:00
|
|
|
REGISTER_FILTER(OSCILLOSCOPE, oscilloscope, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(OVERLAY, overlay, vf);
|
2017-08-18 01:40:47 +00:00
|
|
|
REGISTER_FILTER(OVERLAY_QSV, overlay_qsv, vf);
|
2013-05-10 19:27:15 +00:00
|
|
|
REGISTER_FILTER(OWDENOISE, owdenoise, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(PAD, pad, vf);
|
2015-01-24 20:37:59 +00:00
|
|
|
REGISTER_FILTER(PALETTEGEN, palettegen, vf);
|
2015-01-24 20:38:15 +00:00
|
|
|
REGISTER_FILTER(PALETTEUSE, paletteuse, vf);
|
2013-03-13 04:59:20 +00:00
|
|
|
REGISTER_FILTER(PERMS, perms, vf);
|
2013-07-12 17:50:22 +00:00
|
|
|
REGISTER_FILTER(PERSPECTIVE, perspective, vf);
|
2013-08-31 18:46:17 +00:00
|
|
|
REGISTER_FILTER(PHASE, phase, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(PIXDESCTEST, pixdesctest, vf);
|
2017-04-22 20:02:49 +00:00
|
|
|
REGISTER_FILTER(PIXSCOPE, pixscope, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(PP, pp, vf);
|
2014-12-25 04:20:24 +00:00
|
|
|
REGISTER_FILTER(PP7, pp7, vf);
|
2016-11-28 16:28:59 +00:00
|
|
|
REGISTER_FILTER(PREMULTIPLY, premultiply, vf);
|
2016-09-10 21:34:30 +00:00
|
|
|
REGISTER_FILTER(PREWITT, prewitt, vf);
|
2017-08-17 16:01:01 +00:00
|
|
|
REGISTER_FILTER(PSEUDOCOLOR, pseudocolor, vf);
|
2013-07-06 00:21:12 +00:00
|
|
|
REGISTER_FILTER(PSNR, psnr, vf);
|
2013-07-08 12:42:53 +00:00
|
|
|
REGISTER_FILTER(PULLUP, pullup, vf);
|
2013-09-18 23:57:55 +00:00
|
|
|
REGISTER_FILTER(QP, qp, vf);
|
2015-07-15 01:48:37 +00:00
|
|
|
REGISTER_FILTER(RANDOM, random, vf);
|
2017-01-14 18:04:54 +00:00
|
|
|
REGISTER_FILTER(READEIA608, readeia608, vf);
|
2016-04-06 14:25:53 +00:00
|
|
|
REGISTER_FILTER(READVITC, readvitc, vf);
|
2015-10-25 16:31:58 +00:00
|
|
|
REGISTER_FILTER(REALTIME, realtime, vf);
|
2016-04-05 07:36:37 +00:00
|
|
|
REGISTER_FILTER(REMAP, remap, vf);
|
2015-07-04 20:19:05 +00:00
|
|
|
REGISTER_FILTER(REMOVEGRAIN, removegrain, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(REMOVELOGO, removelogo, vf);
|
2015-01-28 15:13:27 +00:00
|
|
|
REGISTER_FILTER(REPEATFIELDS, repeatfields, vf);
|
2015-07-16 17:43:59 +00:00
|
|
|
REGISTER_FILTER(REVERSE, reverse, vf);
|
2017-06-19 10:54:29 +00:00
|
|
|
REGISTER_FILTER(ROBERTS, roberts, vf);
|
2013-06-11 08:31:59 +00:00
|
|
|
REGISTER_FILTER(ROTATE, rotate, vf);
|
2013-06-03 11:34:04 +00:00
|
|
|
REGISTER_FILTER(SAB, sab, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(SCALE, scale, vf);
|
2017-05-10 17:18:16 +00:00
|
|
|
REGISTER_FILTER(SCALE_CUDA, scale_cuda, vf);
|
2016-01-17 14:02:17 +00:00
|
|
|
REGISTER_FILTER(SCALE_NPP, scale_npp, vf);
|
2016-03-26 11:39:58 +00:00
|
|
|
REGISTER_FILTER(SCALE_QSV, scale_qsv, vf);
|
2016-03-21 00:03:16 +00:00
|
|
|
REGISTER_FILTER(SCALE_VAAPI, scale_vaapi, vf);
|
2016-08-17 11:37:39 +00:00
|
|
|
REGISTER_FILTER(SCALE2REF, scale2ref, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(SELECT, select, vf);
|
2015-06-07 18:21:28 +00:00
|
|
|
REGISTER_FILTER(SELECTIVECOLOR, selectivecolor, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SENDCMD, sendcmd, vf);
|
2013-04-09 15:35:23 +00:00
|
|
|
REGISTER_FILTER(SEPARATEFIELDS, separatefields, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(SETDAR, setdar, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SETFIELD, setfield, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(SETPTS, setpts, vf);
|
|
|
|
REGISTER_FILTER(SETSAR, setsar, vf);
|
|
|
|
REGISTER_FILTER(SETTB, settb, vf);
|
|
|
|
REGISTER_FILTER(SHOWINFO, showinfo, vf);
|
2015-01-15 10:39:06 +00:00
|
|
|
REGISTER_FILTER(SHOWPALETTE, showpalette, vf);
|
2015-10-20 08:26:54 +00:00
|
|
|
REGISTER_FILTER(SHUFFLEFRAMES, shuffleframes, vf);
|
2014-02-23 14:38:13 +00:00
|
|
|
REGISTER_FILTER(SHUFFLEPLANES, shuffleplanes, vf);
|
2016-10-04 22:32:48 +00:00
|
|
|
REGISTER_FILTER(SIDEDATA, sidedata, vf);
|
2014-06-11 19:14:01 +00:00
|
|
|
REGISTER_FILTER(SIGNALSTATS, signalstats, vf);
|
2017-01-02 01:08:57 +00:00
|
|
|
REGISTER_FILTER(SIGNATURE, signature, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SMARTBLUR, smartblur, vf);
|
2016-09-10 21:34:30 +00:00
|
|
|
REGISTER_FILTER(SOBEL, sobel, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(SPLIT, split, vf);
|
2013-05-11 10:03:38 +00:00
|
|
|
REGISTER_FILTER(SPP, spp, vf);
|
2015-06-21 11:27:55 +00:00
|
|
|
REGISTER_FILTER(SSIM, ssim, vf);
|
2013-03-01 17:35:52 +00:00
|
|
|
REGISTER_FILTER(STEREO3D, stereo3d, vf);
|
2016-01-18 10:22:32 +00:00
|
|
|
REGISTER_FILTER(STREAMSELECT, streamselect, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SUBTITLES, subtitles, vf);
|
|
|
|
REGISTER_FILTER(SUPER2XSAI, super2xsai, vf);
|
2015-12-07 15:45:52 +00:00
|
|
|
REGISTER_FILTER(SWAPRECT, swaprect, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SWAPUV, swapuv, vf);
|
2014-12-04 11:27:53 +00:00
|
|
|
REGISTER_FILTER(TBLEND, tblend, vf);
|
2013-04-06 13:45:52 +00:00
|
|
|
REGISTER_FILTER(TELECINE, telecine, vf);
|
2016-02-06 16:11:07 +00:00
|
|
|
REGISTER_FILTER(THRESHOLD, threshold, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(THUMBNAIL, thumbnail, vf);
|
2017-09-04 12:48:16 +00:00
|
|
|
REGISTER_FILTER(THUMBNAIL_CUDA, thumbnail_cuda, vf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(TILE, tile, vf);
|
|
|
|
REGISTER_FILTER(TINTERLACE, tinterlace, vf);
|
2017-08-04 08:29:12 +00:00
|
|
|
REGISTER_FILTER(TLUT2, tlut2, vf);
|
2017-07-10 14:34:30 +00:00
|
|
|
REGISTER_FILTER(TONEMAP, tonemap, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(TRANSPOSE, transpose, vf);
|
2013-04-02 17:30:11 +00:00
|
|
|
REGISTER_FILTER(TRIM, trim, vf);
|
2017-08-01 09:32:22 +00:00
|
|
|
REGISTER_FILTER(UNPREMULTIPLY, unpremultiply, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(UNSHARP, unsharp, vf);
|
2014-12-07 13:26:46 +00:00
|
|
|
REGISTER_FILTER(USPP, uspp, vf);
|
2016-08-24 20:13:03 +00:00
|
|
|
REGISTER_FILTER(VAGUEDENOISER, vaguedenoiser, vf);
|
2015-08-15 12:37:16 +00:00
|
|
|
REGISTER_FILTER(VECTORSCOPE, vectorscope, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(VFLIP, vflip, vf);
|
2013-04-18 23:49:27 +00:00
|
|
|
REGISTER_FILTER(VIDSTABDETECT, vidstabdetect, vf);
|
|
|
|
REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf);
|
2013-04-02 10:48:32 +00:00
|
|
|
REGISTER_FILTER(VIGNETTE, vignette, vf);
|
2017-09-15 20:47:58 +00:00
|
|
|
REGISTER_FILTER(VMAFMOTION, vmafmotion, vf);
|
2017-08-24 02:16:28 +00:00
|
|
|
REGISTER_FILTER(VPP_QSV, vpp_qsv, vf);
|
2015-08-24 20:00:59 +00:00
|
|
|
REGISTER_FILTER(VSTACK, vstack, vf);
|
2013-09-04 12:59:18 +00:00
|
|
|
REGISTER_FILTER(W3FDIF, w3fdif, vf);
|
2015-08-16 11:01:53 +00:00
|
|
|
REGISTER_FILTER(WAVEFORM, waveform, vf);
|
2013-04-18 00:26:28 +00:00
|
|
|
REGISTER_FILTER(WEAVE, weave, vf);
|
2014-10-30 16:36:20 +00:00
|
|
|
REGISTER_FILTER(XBR, xbr, vf);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(YADIF, yadif, vf);
|
2013-04-21 13:00:11 +00:00
|
|
|
REGISTER_FILTER(ZMQ, zmq, vf);
|
2013-09-16 15:31:15 +00:00
|
|
|
REGISTER_FILTER(ZOOMPAN, zoompan, vf);
|
2015-09-21 13:34:15 +00:00
|
|
|
REGISTER_FILTER(ZSCALE, zscale, vf);
|
2010-01-16 10:43:53 +00:00
|
|
|
|
2015-08-15 23:22:59 +00:00
|
|
|
REGISTER_FILTER(ALLRGB, allrgb, vsrc);
|
2015-07-23 07:07:26 +00:00
|
|
|
REGISTER_FILTER(ALLYUV, allyuv, vsrc);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(CELLAUTO, cellauto, vsrc);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(COLOR, color, vsrc);
|
2016-03-19 15:28:40 +00:00
|
|
|
REGISTER_FILTER(COREIMAGESRC, coreimagesrc, vsrc);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(FREI0R, frei0r_src, vsrc);
|
2013-05-23 08:13:35 +00:00
|
|
|
REGISTER_FILTER(HALDCLUTSRC, haldclutsrc, vsrc);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(LIFE, life, vsrc);
|
|
|
|
REGISTER_FILTER(MANDELBROT, mandelbrot, vsrc);
|
|
|
|
REGISTER_FILTER(MPTESTSRC, mptestsrc, vsrc);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(NULLSRC, nullsrc, vsrc);
|
|
|
|
REGISTER_FILTER(RGBTESTSRC, rgbtestsrc, vsrc);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SMPTEBARS, smptebars, vsrc);
|
2013-04-11 15:49:44 +00:00
|
|
|
REGISTER_FILTER(SMPTEHDBARS, smptehdbars, vsrc);
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(TESTSRC, testsrc, vsrc);
|
2015-10-25 15:31:00 +00:00
|
|
|
REGISTER_FILTER(TESTSRC2, testsrc2, vsrc);
|
2016-08-24 16:55:05 +00:00
|
|
|
REGISTER_FILTER(YUVTESTSRC, yuvtestsrc, vsrc);
|
2010-01-16 11:05:36 +00:00
|
|
|
|
2012-12-25 14:29:39 +00:00
|
|
|
REGISTER_FILTER(NULLSINK, nullsink, vsink);
|
2011-12-21 19:47:52 +00:00
|
|
|
|
2012-07-23 09:44:48 +00:00
|
|
|
/* multimedia filters */
|
2016-05-05 10:15:39 +00:00
|
|
|
REGISTER_FILTER(ABITSCOPE, abitscope, avf);
|
2015-06-24 15:48:57 +00:00
|
|
|
REGISTER_FILTER(ADRAWGRAPH, adrawgraph, avf);
|
2015-12-29 20:22:26 +00:00
|
|
|
REGISTER_FILTER(AHISTOGRAM, ahistogram, avf);
|
2015-08-11 14:37:45 +00:00
|
|
|
REGISTER_FILTER(APHASEMETER, aphasemeter, avf);
|
2013-02-21 10:32:59 +00:00
|
|
|
REGISTER_FILTER(AVECTORSCOPE, avectorscope, avf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(CONCAT, concat, avf);
|
2014-06-05 04:42:38 +00:00
|
|
|
REGISTER_FILTER(SHOWCQT, showcqt, avf);
|
2015-08-04 12:41:35 +00:00
|
|
|
REGISTER_FILTER(SHOWFREQS, showfreqs, avf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SHOWSPECTRUM, showspectrum, avf);
|
2015-12-31 19:45:37 +00:00
|
|
|
REGISTER_FILTER(SHOWSPECTRUMPIC, showspectrumpic, avf);
|
2015-02-20 10:28:36 +00:00
|
|
|
REGISTER_FILTER(SHOWVOLUME, showvolume, avf);
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(SHOWWAVES, showwaves, avf);
|
2014-12-24 14:03:26 +00:00
|
|
|
REGISTER_FILTER(SHOWWAVESPIC, showwavespic, avf);
|
2016-01-10 13:48:12 +00:00
|
|
|
REGISTER_FILTER(SPECTRUMSYNTH, spectrumsynth, vaf);
|
2011-12-25 16:37:53 +00:00
|
|
|
|
2012-07-23 21:21:33 +00:00
|
|
|
/* multimedia sources */
|
2012-12-29 13:27:38 +00:00
|
|
|
REGISTER_FILTER(AMOVIE, amovie, avsrc);
|
|
|
|
REGISTER_FILTER(MOVIE, movie, avsrc);
|
2012-07-23 21:21:33 +00:00
|
|
|
|
2012-05-05 08:22:55 +00:00
|
|
|
/* those filters are part of public or internal API => registered
|
|
|
|
* unconditionally */
|
2012-12-23 18:06:35 +00:00
|
|
|
REGISTER_FILTER_UNCONDITIONAL(asrc_abuffer);
|
|
|
|
REGISTER_FILTER_UNCONDITIONAL(vsrc_buffer);
|
2013-03-11 20:26:03 +00:00
|
|
|
REGISTER_FILTER_UNCONDITIONAL(asink_abuffer);
|
|
|
|
REGISTER_FILTER_UNCONDITIONAL(vsink_buffer);
|
2012-12-23 18:06:35 +00:00
|
|
|
REGISTER_FILTER_UNCONDITIONAL(af_afifo);
|
|
|
|
REGISTER_FILTER_UNCONDITIONAL(vf_fifo);
|
2013-04-02 12:54:22 +00:00
|
|
|
ff_opencl_register_filter_kernel_code_all();
|
2008-02-15 22:02:51 +00:00
|
|
|
}
|
2017-03-07 08:54:44 +00:00
|
|
|
|
|
|
|
void avfilter_register_all(void)
|
|
|
|
{
|
2017-05-22 10:00:23 +00:00
|
|
|
static AVOnce control = AV_ONCE_INIT;
|
2017-03-07 08:54:44 +00:00
|
|
|
|
|
|
|
ff_thread_once(&control, register_all);
|
|
|
|
}
|