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