This is possible now that the next-API is gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Signed-off-by: James Almer <jamrial@gmail.com>
find_filters_extern(){
file=$source_path/$1
- sed -n 's/^extern AVFilter ff_[avfsinkrc]\{2,5\}_\([[:alnum:]_]\{1,\}\);/\1_filter/p' $file
+ sed -n 's/^extern const AVFilter ff_[avfsinkrc]\{2,5\}_\([[:alnum:]_]\{1,\}\);/\1_filter/p' $file
}
FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c)
# full_filter_name_foo=vf_foo
# full_filter_name_bar=asrc_bar
# ...
-eval "$(sed -n "s/^extern AVFilter ff_\([avfsinkrc]\{2,5\}\)_\(.*\);/full_filter_name_\2=\1_\2/p" $source_path/libavfilter/allfilters.c)"
+eval "$(sed -n "s/^extern const AVFilter ff_\([avfsinkrc]\{2,5\}\)_\(.*\);/full_filter_name_\2=\1_\2/p" $source_path/libavfilter/allfilters.c)"
# generate the lists of enabled components
print_enabled_components(){
{ NULL }
};
-AVFilter ff_asrc_aevalsrc = {
+const AVFilter ff_asrc_aevalsrc = {
.name = "aevalsrc",
.description = NULL_IF_CONFIG_SMALL("Generate an audio signal generated by an expression."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_aeval = {
+const AVFilter ff_af_aeval = {
.name = "aeval",
.description = NULL_IF_CONFIG_SMALL("Filter audio signal according to a specified expression."),
.query_formats = aeval_query_formats,
{ NULL }
};
-AVFilter ff_af_acontrast = {
+const AVFilter ff_af_acontrast = {
.name = "acontrast",
.description = NULL_IF_CONFIG_SMALL("Simple audio dynamic range compression/expansion filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_acopy = {
+const AVFilter ff_af_acopy = {
.name = "acopy",
.description = NULL_IF_CONFIG_SMALL("Copy the input audio unchanged to the output."),
.inputs = acopy_inputs,
{ NULL }
};
-AVFilter ff_af_acrossover = {
+const AVFilter ff_af_acrossover = {
.name = "acrossover",
.description = NULL_IF_CONFIG_SMALL("Split audio into per-bands streams."),
.priv_size = sizeof(AudioCrossoverContext),
{ NULL }
};
-AVFilter ff_af_acrusher = {
+const AVFilter ff_af_acrusher = {
.name = "acrusher",
.description = NULL_IF_CONFIG_SMALL("Reduce audio bit resolution."),
.priv_size = sizeof(ACrusherContext),
{ NULL }
};
-AVFilter ff_af_adeclick = {
+const AVFilter ff_af_adeclick = {
.name = "adeclick",
.description = NULL_IF_CONFIG_SMALL("Remove impulsive noise from input audio."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(adeclip);
-AVFilter ff_af_adeclip = {
+const AVFilter ff_af_adeclip = {
.name = "adeclip",
.description = NULL_IF_CONFIG_SMALL("Remove clipping from input audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_adelay = {
+const AVFilter ff_af_adelay = {
.name = "adelay",
.description = NULL_IF_CONFIG_SMALL("Delay one or more audio channels."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(adenorm);
-AVFilter ff_af_adenorm = {
+const AVFilter ff_af_adenorm = {
.name = "adenorm",
.description = NULL_IF_CONFIG_SMALL("Remedy denormals by adding extremely low-level noise."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_aderivative = {
+const AVFilter ff_af_aderivative = {
.name = "aderivative",
.description = NULL_IF_CONFIG_SMALL("Compute derivative of input audio."),
.query_formats = query_formats,
.outputs = aderivative_outputs,
};
-AVFilter ff_af_aintegral = {
+const AVFilter ff_af_aintegral = {
.name = "aintegral",
.description = NULL_IF_CONFIG_SMALL("Compute integral of input audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_aecho = {
+const AVFilter ff_af_aecho = {
.name = "aecho",
.description = NULL_IF_CONFIG_SMALL("Add echoing to the audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_aemphasis = {
+const AVFilter ff_af_aemphasis = {
.name = "aemphasis",
.description = NULL_IF_CONFIG_SMALL("Audio emphasis."),
.priv_size = sizeof(AudioEmphasisContext),
{ NULL }
};
-AVFilter ff_af_aexciter = {
+const AVFilter ff_af_aexciter = {
.name = "aexciter",
.description = NULL_IF_CONFIG_SMALL("Enhance high frequency part of audio."),
.priv_size = sizeof(AExciterContext),
{ NULL }
};
-AVFilter ff_af_afade = {
+const AVFilter ff_af_afade = {
.name = "afade",
.description = NULL_IF_CONFIG_SMALL("Fade in/out input audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_acrossfade = {
+const AVFilter ff_af_acrossfade = {
.name = "acrossfade",
.description = NULL_IF_CONFIG_SMALL("Cross fade two input audio streams."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_afftdn = {
+const AVFilter ff_af_afftdn = {
.name = "afftdn",
.description = NULL_IF_CONFIG_SMALL("Denoise audio samples using FFT."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_afftfilt = {
+const AVFilter ff_af_afftfilt = {
.name = "afftfilt",
.description = NULL_IF_CONFIG_SMALL("Apply arbitrary expressions to samples in frequency domain."),
.priv_size = sizeof(AFFTFiltContext),
AVFILTER_DEFINE_CLASS(afir);
-AVFilter ff_af_afir = {
+const AVFilter ff_af_afir = {
.name = "afir",
.description = NULL_IF_CONFIG_SMALL("Apply Finite Impulse Response filter with supplied coefficients in additional stream(s)."),
.priv_size = sizeof(AudioFIRContext),
{ NULL }
};
-AVFilter ff_af_aformat = {
+const AVFilter ff_af_aformat = {
.name = "aformat",
.description = NULL_IF_CONFIG_SMALL("Convert the input audio to one of the specified formats."),
.init = init,
{ NULL }
};
-AVFilter ff_af_afreqshift = {
+const AVFilter ff_af_afreqshift = {
.name = "afreqshift",
.description = NULL_IF_CONFIG_SMALL("Apply frequency shifting to input audio."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(aphaseshift);
-AVFilter ff_af_aphaseshift = {
+const AVFilter ff_af_aphaseshift = {
.name = "aphaseshift",
.description = NULL_IF_CONFIG_SMALL("Apply phase shifting to input audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_agate = {
+const AVFilter ff_af_agate = {
.name = "agate",
.description = NULL_IF_CONFIG_SMALL("Audio gate."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_sidechaingate = {
+const AVFilter ff_af_sidechaingate = {
.name = "sidechaingate",
.description = NULL_IF_CONFIG_SMALL("Audio sidechain gate."),
.priv_size = sizeof(AudioGateContext),
AVFILTER_DEFINE_CLASS(aiir);
-AVFilter ff_af_aiir = {
+const AVFilter ff_af_aiir = {
.name = "aiir",
.description = NULL_IF_CONFIG_SMALL("Apply Infinite Impulse Response filter with supplied coefficients."),
.priv_size = sizeof(AudioIIRContext),
{ NULL }
};
-AVFilter ff_af_alimiter = {
+const AVFilter ff_af_alimiter = {
.name = "alimiter",
.description = NULL_IF_CONFIG_SMALL("Audio lookahead limiter."),
.priv_size = sizeof(AudioLimiterContext),
{ NULL }
};
-AVFilter ff_af_amerge = {
+const AVFilter ff_af_amerge = {
.name = "amerge",
.description = NULL_IF_CONFIG_SMALL("Merge two or more audio streams into "
"a single multi-channel stream."),
{ NULL }
};
-AVFilter ff_af_amix = {
+const AVFilter ff_af_amix = {
.name = "amix",
.description = NULL_IF_CONFIG_SMALL("Audio mixing."),
.priv_size = sizeof(MixContext),
{ NULL }
};
-AVFilter ff_af_amultiply = {
+const AVFilter ff_af_amultiply = {
.name = "amultiply",
.description = NULL_IF_CONFIG_SMALL("Multiply two audio streams."),
.priv_size = sizeof(AudioMultiplyContext),
{ NULL }
};
-AVFilter ff_af_anequalizer = {
+const AVFilter ff_af_anequalizer = {
.name = "anequalizer",
.description = NULL_IF_CONFIG_SMALL("Apply high-order audio parametric multi band equalizer."),
.priv_size = sizeof(AudioNEqualizerContext),
{ NULL }
};
-AVFilter ff_af_anlmdn = {
+const AVFilter ff_af_anlmdn = {
.name = "anlmdn",
.description = NULL_IF_CONFIG_SMALL("Reduce broadband noise from stream using Non-Local Means."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_anlms = {
+const AVFilter ff_af_anlms = {
.name = "anlms",
.description = NULL_IF_CONFIG_SMALL("Apply Normalized Least-Mean-Squares algorithm to first audio stream."),
.priv_size = sizeof(AudioNLMSContext),
{ NULL }
};
-AVFilter ff_af_anull = {
+const AVFilter ff_af_anull = {
.name = "anull",
.description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."),
.inputs = avfilter_af_anull_inputs,
{ NULL }
};
-AVFilter ff_af_apad = {
+const AVFilter ff_af_apad = {
.name = "apad",
.description = NULL_IF_CONFIG_SMALL("Pad audio with silence."),
.init = init,
{ NULL }
};
-AVFilter ff_af_aphaser = {
+const AVFilter ff_af_aphaser = {
.name = "aphaser",
.description = NULL_IF_CONFIG_SMALL("Add a phasing effect to the audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_apulsator = {
+const AVFilter ff_af_apulsator = {
.name = "apulsator",
.description = NULL_IF_CONFIG_SMALL("Audio pulsator."),
.priv_size = sizeof(AudioPulsatorContext),
{ NULL }
};
-AVFilter ff_af_aresample = {
+const AVFilter ff_af_aresample = {
.name = "aresample",
.description = NULL_IF_CONFIG_SMALL("Resample audio data."),
.init_dict = init_dict,
AVFILTER_DEFINE_CLASS(arnndn);
-AVFilter ff_af_arnndn = {
+const AVFilter ff_af_arnndn = {
.name = "arnndn",
.description = NULL_IF_CONFIG_SMALL("Reduce noise from speech using Recurrent Neural Networks."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_asetnsamples = {
+const AVFilter ff_af_asetnsamples = {
.name = "asetnsamples",
.description = NULL_IF_CONFIG_SMALL("Set the number of samples for each output audio frames."),
.priv_size = sizeof(ASNSContext),
{ NULL }
};
-AVFilter ff_af_asetrate = {
+const AVFilter ff_af_asetrate = {
.name = "asetrate",
.description = NULL_IF_CONFIG_SMALL("Change the sample rate without "
"altering the data."),
{ NULL }
};
-AVFilter ff_af_ashowinfo = {
+const AVFilter ff_af_ashowinfo = {
.name = "ashowinfo",
.description = NULL_IF_CONFIG_SMALL("Show textual information for each audio frame."),
.priv_size = sizeof(AShowInfoContext),
{ NULL }
};
-AVFilter ff_af_asoftclip = {
+const AVFilter ff_af_asoftclip = {
.name = "asoftclip",
.description = NULL_IF_CONFIG_SMALL("Audio Soft Clipper."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_asr = {
+const AVFilter ff_af_asr = {
.name = "asr",
.description = NULL_IF_CONFIG_SMALL("Automatic Speech Recognition."),
.priv_size = sizeof(ASRContext),
{ NULL }
};
-AVFilter ff_af_astats = {
+const AVFilter ff_af_astats = {
.name = "astats",
.description = NULL_IF_CONFIG_SMALL("Show time domain statistics about audio frames."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_asubboost = {
+const AVFilter ff_af_asubboost = {
.name = "asubboost",
.description = NULL_IF_CONFIG_SMALL("Boost subwoofer frequencies."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_asupercut = {
+const AVFilter ff_af_asupercut = {
.name = "asupercut",
.description = NULL_IF_CONFIG_SMALL("Cut super frequencies."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(asubcut);
-AVFilter ff_af_asubcut = {
+const AVFilter ff_af_asubcut = {
.name = "asubcut",
.description = NULL_IF_CONFIG_SMALL("Cut subwoofer frequencies."),
.query_formats = query_formats,
#define asuperpass_options asuperpass_asuperstop_options
AVFILTER_DEFINE_CLASS(asuperpass);
-AVFilter ff_af_asuperpass = {
+const AVFilter ff_af_asuperpass = {
.name = "asuperpass",
.description = NULL_IF_CONFIG_SMALL("Apply high order Butterworth band-pass filter."),
.query_formats = query_formats,
#define asuperstop_options asuperpass_asuperstop_options
AVFILTER_DEFINE_CLASS(asuperstop);
-AVFilter ff_af_asuperstop = {
+const AVFilter ff_af_asuperstop = {
.name = "asuperstop",
.description = NULL_IF_CONFIG_SMALL("Apply high order Butterworth band-stop filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_atempo = {
+const AVFilter ff_af_atempo = {
.name = "atempo",
.description = NULL_IF_CONFIG_SMALL("Adjust audio tempo."),
.init = init,
AVFILTER_DEFINE_CLASS(axcorrelate);
-AVFilter ff_af_axcorrelate = {
+const AVFilter ff_af_axcorrelate = {
.name = "axcorrelate",
.description = NULL_IF_CONFIG_SMALL("Cross-correlate two audio streams."),
.priv_size = sizeof(AudioXCorrelateContext),
return 0; \
} \
\
-AVFilter ff_af_##name_ = { \
+const AVFilter ff_af_##name_ = { \
.name = #name_, \
.description = NULL_IF_CONFIG_SMALL(description_), \
.priv_size = sizeof(BiquadsContext), \
{ NULL }
};
-AVFilter ff_af_bs2b = {
+const AVFilter ff_af_bs2b = {
.name = "bs2b",
.description = NULL_IF_CONFIG_SMALL("Bauer stereo-to-binaural filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_channelmap = {
+const AVFilter ff_af_channelmap = {
.name = "channelmap",
.description = NULL_IF_CONFIG_SMALL("Remap audio channels."),
.init = channelmap_init,
{ NULL }
};
-AVFilter ff_af_channelsplit = {
+const AVFilter ff_af_channelsplit = {
.name = "channelsplit",
.description = NULL_IF_CONFIG_SMALL("Split audio into per-channel streams."),
.priv_size = sizeof(ChannelSplitContext),
{ NULL }
};
-AVFilter ff_af_chorus = {
+const AVFilter ff_af_chorus = {
.name = "chorus",
.description = NULL_IF_CONFIG_SMALL("Add a chorus effect to the audio."),
.query_formats = query_formats,
};
-AVFilter ff_af_compand = {
+const AVFilter ff_af_compand = {
.name = "compand",
.description = NULL_IF_CONFIG_SMALL(
"Compress or expand audio dynamic range."),
{ NULL }
};
-AVFilter ff_af_compensationdelay = {
+const AVFilter ff_af_compensationdelay = {
.name = "compensationdelay",
.description = NULL_IF_CONFIG_SMALL("Audio Compensation Delay Line."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_crossfeed = {
+const AVFilter ff_af_crossfeed = {
.name = "crossfeed",
.description = NULL_IF_CONFIG_SMALL("Apply headphone crossfeed filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_crystalizer = {
+const AVFilter ff_af_crystalizer = {
.name = "crystalizer",
.description = NULL_IF_CONFIG_SMALL("Simple audio noise sharpening filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_dcshift = {
+const AVFilter ff_af_dcshift = {
.name = "dcshift",
.description = NULL_IF_CONFIG_SMALL("Apply a DC shift to the audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_deesser = {
+const AVFilter ff_af_deesser = {
.name = "deesser",
.description = NULL_IF_CONFIG_SMALL("Apply de-essing to the audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_drmeter = {
+const AVFilter ff_af_drmeter = {
.name = "drmeter",
.description = NULL_IF_CONFIG_SMALL("Measure audio dynamic range."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_dynaudnorm = {
+const AVFilter ff_af_dynaudnorm = {
.name = "dynaudnorm",
.description = NULL_IF_CONFIG_SMALL("Dynamic Audio Normalizer."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_earwax = {
+const AVFilter ff_af_earwax = {
.name = "earwax",
.description = NULL_IF_CONFIG_SMALL("Widen the stereo image."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_extrastereo = {
+const AVFilter ff_af_extrastereo = {
.name = "extrastereo",
.description = NULL_IF_CONFIG_SMALL("Increase difference between stereo audio channels."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_firequalizer = {
+const AVFilter ff_af_firequalizer = {
.name = "firequalizer",
.description = NULL_IF_CONFIG_SMALL("Finite Impulse Response Equalizer."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_af_flanger = {
+const AVFilter ff_af_flanger = {
.name = "flanger",
.description = NULL_IF_CONFIG_SMALL("Apply a flanging effect to the audio."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_haas = {
+const AVFilter ff_af_haas = {
.name = "haas",
.description = NULL_IF_CONFIG_SMALL("Apply Haas Stereo Enhancer."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_hdcd = {
+const AVFilter ff_af_hdcd = {
.name = "hdcd",
.description = NULL_IF_CONFIG_SMALL("Apply High Definition Compatible Digital (HDCD) decoding."),
.priv_size = sizeof(HDCDContext),
{ NULL }
};
-AVFilter ff_af_headphone = {
+const AVFilter ff_af_headphone = {
.name = "headphone",
.description = NULL_IF_CONFIG_SMALL("Apply headphone binaural spatialization with HRTFs in additional streams."),
.priv_size = sizeof(HeadphoneContext),
{ NULL }
};
-AVFilter ff_af_join = {
+const AVFilter ff_af_join = {
.name = "join",
.description = NULL_IF_CONFIG_SMALL("Join multiple audio streams into "
"multi-channel output."),
{ NULL }
};
-AVFilter ff_af_ladspa = {
+const AVFilter ff_af_ladspa = {
.name = "ladspa",
.description = NULL_IF_CONFIG_SMALL("Apply LADSPA effect."),
.priv_size = sizeof(LADSPAContext),
{ NULL }
};
-AVFilter ff_af_loudnorm = {
+const AVFilter ff_af_loudnorm = {
.name = "loudnorm",
.description = NULL_IF_CONFIG_SMALL("EBU R128 loudness normalization"),
.priv_size = sizeof(LoudNormContext),
{ NULL }
};
-AVFilter ff_af_lv2 = {
+const AVFilter ff_af_lv2 = {
.name = "lv2",
.description = NULL_IF_CONFIG_SMALL("Apply LV2 effect."),
.priv_size = sizeof(LV2Context),
};
-AVFilter ff_af_mcompand = {
+const AVFilter ff_af_mcompand = {
.name = "mcompand",
.description = NULL_IF_CONFIG_SMALL(
"Multiband Compress or expand audio dynamic range."),
{ NULL }
};
-AVFilter ff_af_pan = {
+const AVFilter ff_af_pan = {
.name = "pan",
.description = NULL_IF_CONFIG_SMALL("Remix channels with coefficients (panning)."),
.priv_size = sizeof(PanContext),
{ NULL }
};
-AVFilter ff_af_replaygain = {
+const AVFilter ff_af_replaygain = {
.name = "replaygain",
.description = NULL_IF_CONFIG_SMALL("ReplayGain scanner."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_rubberband = {
+const AVFilter ff_af_rubberband = {
.name = "rubberband",
.description = NULL_IF_CONFIG_SMALL("Apply time-stretching and pitch-shifting."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_sidechaincompress = {
+const AVFilter ff_af_sidechaincompress = {
.name = "sidechaincompress",
.description = NULL_IF_CONFIG_SMALL("Sidechain compressor."),
.priv_size = sizeof(SidechainCompressContext),
{ NULL }
};
-AVFilter ff_af_acompressor = {
+const AVFilter ff_af_acompressor = {
.name = "acompressor",
.description = NULL_IF_CONFIG_SMALL("Audio compressor."),
.priv_size = sizeof(SidechainCompressContext),
{ NULL }
};
-AVFilter ff_af_silencedetect = {
+const AVFilter ff_af_silencedetect = {
.name = "silencedetect",
.description = NULL_IF_CONFIG_SMALL("Detect silence."),
.priv_size = sizeof(SilenceDetectContext),
{ NULL }
};
-AVFilter ff_af_silenceremove = {
+const AVFilter ff_af_silenceremove = {
.name = "silenceremove",
.description = NULL_IF_CONFIG_SMALL("Remove silence."),
.priv_size = sizeof(SilenceRemoveContext),
{ NULL }
};
-AVFilter ff_af_sofalizer = {
+const AVFilter ff_af_sofalizer = {
.name = "sofalizer",
.description = NULL_IF_CONFIG_SMALL("SOFAlizer (Spatially Oriented Format for Acoustics)."),
.priv_size = sizeof(SOFAlizerContext),
{ NULL }
};
-AVFilter ff_af_speechnorm = {
+const AVFilter ff_af_speechnorm = {
.name = "speechnorm",
.description = NULL_IF_CONFIG_SMALL("Speech Normalizer."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_stereotools = {
+const AVFilter ff_af_stereotools = {
.name = "stereotools",
.description = NULL_IF_CONFIG_SMALL("Apply various stereo tools."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_stereowiden = {
+const AVFilter ff_af_stereowiden = {
.name = "stereowiden",
.description = NULL_IF_CONFIG_SMALL("Apply stereo widening effect."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(superequalizer);
-AVFilter ff_af_superequalizer = {
+const AVFilter ff_af_superequalizer = {
.name = "superequalizer",
.description = NULL_IF_CONFIG_SMALL("Apply 18 band equalization filter."),
.priv_size = sizeof(SuperEqualizerContext),
{ NULL }
};
-AVFilter ff_af_surround = {
+const AVFilter ff_af_surround = {
.name = "surround",
.description = NULL_IF_CONFIG_SMALL("Apply audio surround upmix filter."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_tremolo = {
+const AVFilter ff_af_tremolo = {
.name = "tremolo",
.description = NULL_IF_CONFIG_SMALL("Apply tremolo effect."),
.priv_size = sizeof(TremoloContext),
{ NULL }
};
-AVFilter ff_af_vibrato = {
+const AVFilter ff_af_vibrato = {
.name = "vibrato",
.description = NULL_IF_CONFIG_SMALL("Apply vibrato effect."),
.priv_size = sizeof(VibratoContext),
{ NULL }
};
-AVFilter ff_af_volume = {
+const AVFilter ff_af_volume = {
.name = "volume",
.description = NULL_IF_CONFIG_SMALL("Change input volume."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_volumedetect = {
+const AVFilter ff_af_volumedetect = {
.name = "volumedetect",
.description = NULL_IF_CONFIG_SMALL("Detect audio volume."),
.priv_size = sizeof(VolDetectContext),
#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_aexciter;
-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_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 const AVFilter ff_af_abench;
+extern const AVFilter ff_af_acompressor;
+extern const AVFilter ff_af_acontrast;
+extern const AVFilter ff_af_acopy;
+extern const AVFilter ff_af_acue;
+extern const AVFilter ff_af_acrossfade;
+extern const AVFilter ff_af_acrossover;
+extern const AVFilter ff_af_acrusher;
+extern const AVFilter ff_af_adeclick;
+extern const AVFilter ff_af_adeclip;
+extern const AVFilter ff_af_adelay;
+extern const AVFilter ff_af_adenorm;
+extern const AVFilter ff_af_aderivative;
+extern const AVFilter ff_af_aecho;
+extern const AVFilter ff_af_aemphasis;
+extern const AVFilter ff_af_aeval;
+extern const AVFilter ff_af_aexciter;
+extern const AVFilter ff_af_afade;
+extern const AVFilter ff_af_afftdn;
+extern const AVFilter ff_af_afftfilt;
+extern const AVFilter ff_af_afir;
+extern const AVFilter ff_af_aformat;
+extern const AVFilter ff_af_afreqshift;
+extern const AVFilter ff_af_agate;
+extern const AVFilter ff_af_aiir;
+extern const AVFilter ff_af_aintegral;
+extern const AVFilter ff_af_ainterleave;
+extern const AVFilter ff_af_alimiter;
+extern const AVFilter ff_af_allpass;
+extern const AVFilter ff_af_aloop;
+extern const AVFilter ff_af_amerge;
+extern const AVFilter ff_af_ametadata;
+extern const AVFilter ff_af_amix;
+extern const AVFilter ff_af_amultiply;
+extern const AVFilter ff_af_anequalizer;
+extern const AVFilter ff_af_anlmdn;
+extern const AVFilter ff_af_anlms;
+extern const AVFilter ff_af_anull;
+extern const AVFilter ff_af_apad;
+extern const AVFilter ff_af_aperms;
+extern const AVFilter ff_af_aphaser;
+extern const AVFilter ff_af_aphaseshift;
+extern const AVFilter ff_af_apulsator;
+extern const AVFilter ff_af_arealtime;
+extern const AVFilter ff_af_aresample;
+extern const AVFilter ff_af_areverse;
+extern const AVFilter ff_af_arnndn;
+extern const AVFilter ff_af_aselect;
+extern const AVFilter ff_af_asendcmd;
+extern const AVFilter ff_af_asetnsamples;
+extern const AVFilter ff_af_asetpts;
+extern const AVFilter ff_af_asetrate;
+extern const AVFilter ff_af_asettb;
+extern const AVFilter ff_af_ashowinfo;
+extern const AVFilter ff_af_asidedata;
+extern const AVFilter ff_af_asoftclip;
+extern const AVFilter ff_af_asplit;
+extern const AVFilter ff_af_asr;
+extern const AVFilter ff_af_astats;
+extern const AVFilter ff_af_astreamselect;
+extern const AVFilter ff_af_asubboost;
+extern const AVFilter ff_af_asubcut;
+extern const AVFilter ff_af_asupercut;
+extern const AVFilter ff_af_asuperpass;
+extern const AVFilter ff_af_asuperstop;
+extern const AVFilter ff_af_atempo;
+extern const AVFilter ff_af_atrim;
+extern const AVFilter ff_af_axcorrelate;
+extern const AVFilter ff_af_azmq;
+extern const AVFilter ff_af_bandpass;
+extern const AVFilter ff_af_bandreject;
+extern const AVFilter ff_af_bass;
+extern const AVFilter ff_af_biquad;
+extern const AVFilter ff_af_bs2b;
+extern const AVFilter ff_vf_chromaber_vulkan;
+extern const AVFilter ff_af_channelmap;
+extern const AVFilter ff_af_channelsplit;
+extern const AVFilter ff_af_chorus;
+extern const AVFilter ff_af_compand;
+extern const AVFilter ff_af_compensationdelay;
+extern const AVFilter ff_af_crossfeed;
+extern const AVFilter ff_af_crystalizer;
+extern const AVFilter ff_af_dcshift;
+extern const AVFilter ff_af_deesser;
+extern const AVFilter ff_af_drmeter;
+extern const AVFilter ff_af_dynaudnorm;
+extern const AVFilter ff_af_earwax;
+extern const AVFilter ff_af_ebur128;
+extern const AVFilter ff_af_equalizer;
+extern const AVFilter ff_af_extrastereo;
+extern const AVFilter ff_af_firequalizer;
+extern const AVFilter ff_af_flanger;
+extern const AVFilter ff_af_haas;
+extern const AVFilter ff_af_hdcd;
+extern const AVFilter ff_af_headphone;
+extern const AVFilter ff_af_highpass;
+extern const AVFilter ff_af_highshelf;
+extern const AVFilter ff_af_join;
+extern const AVFilter ff_af_ladspa;
+extern const AVFilter ff_af_loudnorm;
+extern const AVFilter ff_af_lowpass;
+extern const AVFilter ff_af_lowshelf;
+extern const AVFilter ff_af_lv2;
+extern const AVFilter ff_af_mcompand;
+extern const AVFilter ff_af_pan;
+extern const AVFilter ff_af_replaygain;
+extern const AVFilter ff_af_rubberband;
+extern const AVFilter ff_af_sidechaincompress;
+extern const AVFilter ff_af_sidechaingate;
+extern const AVFilter ff_af_silencedetect;
+extern const AVFilter ff_af_silenceremove;
+extern const AVFilter ff_af_sofalizer;
+extern const AVFilter ff_af_speechnorm;
+extern const AVFilter ff_af_stereotools;
+extern const AVFilter ff_af_stereowiden;
+extern const AVFilter ff_af_superequalizer;
+extern const AVFilter ff_af_surround;
+extern const AVFilter ff_af_treble;
+extern const AVFilter ff_af_tremolo;
+extern const AVFilter ff_af_vibrato;
+extern const AVFilter ff_af_volume;
+extern const 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 const AVFilter ff_asrc_aevalsrc;
+extern const AVFilter ff_asrc_afirsrc;
+extern const AVFilter ff_asrc_anoisesrc;
+extern const AVFilter ff_asrc_anullsrc;
+extern const AVFilter ff_asrc_flite;
+extern const AVFilter ff_asrc_hilbert;
+extern const AVFilter ff_asrc_sinc;
+extern const AVFilter ff_asrc_sine;
-extern AVFilter ff_asink_anullsink;
+extern const 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_colorcontrast;
-extern AVFilter ff_vf_colorcorrect;
-extern AVFilter ff_vf_colorize;
-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_colortemperature;
-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_detect;
-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_epx;
-extern AVFilter ff_vf_eq;
-extern AVFilter ff_vf_erosion;
-extern AVFilter ff_vf_erosion_opencl;
-extern AVFilter ff_vf_estdif;
-extern AVFilter ff_vf_exposure;
-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_identity;
-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_kirsch;
-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_monochrome;
-extern AVFilter ff_vf_mpdecimate;
-extern AVFilter ff_vf_msad;
-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_shear;
-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_vif;
-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 const AVFilter ff_vf_addroi;
+extern const AVFilter ff_vf_alphaextract;
+extern const AVFilter ff_vf_alphamerge;
+extern const AVFilter ff_vf_amplify;
+extern const AVFilter ff_vf_ass;
+extern const AVFilter ff_vf_atadenoise;
+extern const AVFilter ff_vf_avgblur;
+extern const AVFilter ff_vf_avgblur_opencl;
+extern const AVFilter ff_vf_avgblur_vulkan;
+extern const AVFilter ff_vf_bbox;
+extern const AVFilter ff_vf_bench;
+extern const AVFilter ff_vf_bilateral;
+extern const AVFilter ff_vf_bitplanenoise;
+extern const AVFilter ff_vf_blackdetect;
+extern const AVFilter ff_vf_blackframe;
+extern const AVFilter ff_vf_blend;
+extern const AVFilter ff_vf_bm3d;
+extern const AVFilter ff_vf_boxblur;
+extern const AVFilter ff_vf_boxblur_opencl;
+extern const AVFilter ff_vf_bwdif;
+extern const AVFilter ff_vf_cas;
+extern const AVFilter ff_vf_chromahold;
+extern const AVFilter ff_vf_chromakey;
+extern const AVFilter ff_vf_chromanr;
+extern const AVFilter ff_vf_chromashift;
+extern const AVFilter ff_vf_ciescope;
+extern const AVFilter ff_vf_codecview;
+extern const AVFilter ff_vf_colorbalance;
+extern const AVFilter ff_vf_colorchannelmixer;
+extern const AVFilter ff_vf_colorcontrast;
+extern const AVFilter ff_vf_colorcorrect;
+extern const AVFilter ff_vf_colorize;
+extern const AVFilter ff_vf_colorkey;
+extern const AVFilter ff_vf_colorkey_opencl;
+extern const AVFilter ff_vf_colorhold;
+extern const AVFilter ff_vf_colorlevels;
+extern const AVFilter ff_vf_colormatrix;
+extern const AVFilter ff_vf_colorspace;
+extern const AVFilter ff_vf_colortemperature;
+extern const AVFilter ff_vf_convolution;
+extern const AVFilter ff_vf_convolution_opencl;
+extern const AVFilter ff_vf_convolve;
+extern const AVFilter ff_vf_copy;
+extern const AVFilter ff_vf_coreimage;
+extern const AVFilter ff_vf_cover_rect;
+extern const AVFilter ff_vf_crop;
+extern const AVFilter ff_vf_cropdetect;
+extern const AVFilter ff_vf_cue;
+extern const AVFilter ff_vf_curves;
+extern const AVFilter ff_vf_datascope;
+extern const AVFilter ff_vf_dblur;
+extern const AVFilter ff_vf_dctdnoiz;
+extern const AVFilter ff_vf_deband;
+extern const AVFilter ff_vf_deblock;
+extern const AVFilter ff_vf_decimate;
+extern const AVFilter ff_vf_deconvolve;
+extern const AVFilter ff_vf_dedot;
+extern const AVFilter ff_vf_deflate;
+extern const AVFilter ff_vf_deflicker;
+extern const AVFilter ff_vf_deinterlace_qsv;
+extern const AVFilter ff_vf_deinterlace_vaapi;
+extern const AVFilter ff_vf_dejudder;
+extern const AVFilter ff_vf_delogo;
+extern const AVFilter ff_vf_denoise_vaapi;
+extern const AVFilter ff_vf_derain;
+extern const AVFilter ff_vf_deshake;
+extern const AVFilter ff_vf_deshake_opencl;
+extern const AVFilter ff_vf_despill;
+extern const AVFilter ff_vf_detelecine;
+extern const AVFilter ff_vf_dilation;
+extern const AVFilter ff_vf_dilation_opencl;
+extern const AVFilter ff_vf_displace;
+extern const AVFilter ff_vf_dnn_detect;
+extern const AVFilter ff_vf_dnn_processing;
+extern const AVFilter ff_vf_doubleweave;
+extern const AVFilter ff_vf_drawbox;
+extern const AVFilter ff_vf_drawgraph;
+extern const AVFilter ff_vf_drawgrid;
+extern const AVFilter ff_vf_drawtext;
+extern const AVFilter ff_vf_edgedetect;
+extern const AVFilter ff_vf_elbg;
+extern const AVFilter ff_vf_entropy;
+extern const AVFilter ff_vf_epx;
+extern const AVFilter ff_vf_eq;
+extern const AVFilter ff_vf_erosion;
+extern const AVFilter ff_vf_erosion_opencl;
+extern const AVFilter ff_vf_estdif;
+extern const AVFilter ff_vf_exposure;
+extern const AVFilter ff_vf_extractplanes;
+extern const AVFilter ff_vf_fade;
+extern const AVFilter ff_vf_fftdnoiz;
+extern const AVFilter ff_vf_fftfilt;
+extern const AVFilter ff_vf_field;
+extern const AVFilter ff_vf_fieldhint;
+extern const AVFilter ff_vf_fieldmatch;
+extern const AVFilter ff_vf_fieldorder;
+extern const AVFilter ff_vf_fillborders;
+extern const AVFilter ff_vf_find_rect;
+extern const AVFilter ff_vf_floodfill;
+extern const AVFilter ff_vf_format;
+extern const AVFilter ff_vf_fps;
+extern const AVFilter ff_vf_framepack;
+extern const AVFilter ff_vf_framerate;
+extern const AVFilter ff_vf_framestep;
+extern const AVFilter ff_vf_freezedetect;
+extern const AVFilter ff_vf_freezeframes;
+extern const AVFilter ff_vf_frei0r;
+extern const AVFilter ff_vf_fspp;
+extern const AVFilter ff_vf_gblur;
+extern const AVFilter ff_vf_geq;
+extern const AVFilter ff_vf_gradfun;
+extern const AVFilter ff_vf_graphmonitor;
+extern const AVFilter ff_vf_greyedge;
+extern const AVFilter ff_vf_haldclut;
+extern const AVFilter ff_vf_hflip;
+extern const AVFilter ff_vf_histeq;
+extern const AVFilter ff_vf_histogram;
+extern const AVFilter ff_vf_hqdn3d;
+extern const AVFilter ff_vf_hqx;
+extern const AVFilter ff_vf_hstack;
+extern const AVFilter ff_vf_hue;
+extern const AVFilter ff_vf_hwdownload;
+extern const AVFilter ff_vf_hwmap;
+extern const AVFilter ff_vf_hwupload;
+extern const AVFilter ff_vf_hwupload_cuda;
+extern const AVFilter ff_vf_hysteresis;
+extern const AVFilter ff_vf_identity;
+extern const AVFilter ff_vf_idet;
+extern const AVFilter ff_vf_il;
+extern const AVFilter ff_vf_inflate;
+extern const AVFilter ff_vf_interlace;
+extern const AVFilter ff_vf_interleave;
+extern const AVFilter ff_vf_kerndeint;
+extern const AVFilter ff_vf_kirsch;
+extern const AVFilter ff_vf_lagfun;
+extern const AVFilter ff_vf_lenscorrection;
+extern const AVFilter ff_vf_lensfun;
+extern const AVFilter ff_vf_libvmaf;
+extern const AVFilter ff_vf_limiter;
+extern const AVFilter ff_vf_loop;
+extern const AVFilter ff_vf_lumakey;
+extern const AVFilter ff_vf_lut;
+extern const AVFilter ff_vf_lut1d;
+extern const AVFilter ff_vf_lut2;
+extern const AVFilter ff_vf_lut3d;
+extern const AVFilter ff_vf_lutrgb;
+extern const AVFilter ff_vf_lutyuv;
+extern const AVFilter ff_vf_maskedclamp;
+extern const AVFilter ff_vf_maskedmax;
+extern const AVFilter ff_vf_maskedmerge;
+extern const AVFilter ff_vf_maskedmin;
+extern const AVFilter ff_vf_maskedthreshold;
+extern const AVFilter ff_vf_maskfun;
+extern const AVFilter ff_vf_mcdeint;
+extern const AVFilter ff_vf_median;
+extern const AVFilter ff_vf_mergeplanes;
+extern const AVFilter ff_vf_mestimate;
+extern const AVFilter ff_vf_metadata;
+extern const AVFilter ff_vf_midequalizer;
+extern const AVFilter ff_vf_minterpolate;
+extern const AVFilter ff_vf_mix;
+extern const AVFilter ff_vf_monochrome;
+extern const AVFilter ff_vf_mpdecimate;
+extern const AVFilter ff_vf_msad;
+extern const AVFilter ff_vf_negate;
+extern const AVFilter ff_vf_nlmeans;
+extern const AVFilter ff_vf_nlmeans_opencl;
+extern const AVFilter ff_vf_nnedi;
+extern const AVFilter ff_vf_noformat;
+extern const AVFilter ff_vf_noise;
+extern const AVFilter ff_vf_normalize;
+extern const AVFilter ff_vf_null;
+extern const AVFilter ff_vf_ocr;
+extern const AVFilter ff_vf_ocv;
+extern const AVFilter ff_vf_oscilloscope;
+extern const AVFilter ff_vf_overlay;
+extern const AVFilter ff_vf_overlay_opencl;
+extern const AVFilter ff_vf_overlay_qsv;
+extern const AVFilter ff_vf_overlay_vulkan;
+extern const AVFilter ff_vf_overlay_cuda;
+extern const AVFilter ff_vf_owdenoise;
+extern const AVFilter ff_vf_pad;
+extern const AVFilter ff_vf_pad_opencl;
+extern const AVFilter ff_vf_palettegen;
+extern const AVFilter ff_vf_paletteuse;
+extern const AVFilter ff_vf_perms;
+extern const AVFilter ff_vf_perspective;
+extern const AVFilter ff_vf_phase;
+extern const AVFilter ff_vf_photosensitivity;
+extern const AVFilter ff_vf_pixdesctest;
+extern const AVFilter ff_vf_pixscope;
+extern const AVFilter ff_vf_pp;
+extern const AVFilter ff_vf_pp7;
+extern const AVFilter ff_vf_premultiply;
+extern const AVFilter ff_vf_prewitt;
+extern const AVFilter ff_vf_prewitt_opencl;
+extern const AVFilter ff_vf_procamp_vaapi;
+extern const AVFilter ff_vf_program_opencl;
+extern const AVFilter ff_vf_pseudocolor;
+extern const AVFilter ff_vf_psnr;
+extern const AVFilter ff_vf_pullup;
+extern const AVFilter ff_vf_qp;
+extern const AVFilter ff_vf_random;
+extern const AVFilter ff_vf_readeia608;
+extern const AVFilter ff_vf_readvitc;
+extern const AVFilter ff_vf_realtime;
+extern const AVFilter ff_vf_remap;
+extern const AVFilter ff_vf_removegrain;
+extern const AVFilter ff_vf_removelogo;
+extern const AVFilter ff_vf_repeatfields;
+extern const AVFilter ff_vf_reverse;
+extern const AVFilter ff_vf_rgbashift;
+extern const AVFilter ff_vf_roberts;
+extern const AVFilter ff_vf_roberts_opencl;
+extern const AVFilter ff_vf_rotate;
+extern const AVFilter ff_vf_sab;
+extern const AVFilter ff_vf_scale;
+extern const AVFilter ff_vf_scale_cuda;
+extern const AVFilter ff_vf_scale_npp;
+extern const AVFilter ff_vf_scale_qsv;
+extern const AVFilter ff_vf_scale_vaapi;
+extern const AVFilter ff_vf_scale_vulkan;
+extern const AVFilter ff_vf_scale2ref;
+extern const AVFilter ff_vf_scdet;
+extern const AVFilter ff_vf_scroll;
+extern const AVFilter ff_vf_select;
+extern const AVFilter ff_vf_selectivecolor;
+extern const AVFilter ff_vf_sendcmd;
+extern const AVFilter ff_vf_separatefields;
+extern const AVFilter ff_vf_setdar;
+extern const AVFilter ff_vf_setfield;
+extern const AVFilter ff_vf_setparams;
+extern const AVFilter ff_vf_setpts;
+extern const AVFilter ff_vf_setrange;
+extern const AVFilter ff_vf_setsar;
+extern const AVFilter ff_vf_settb;
+extern const AVFilter ff_vf_sharpness_vaapi;
+extern const AVFilter ff_vf_shear;
+extern const AVFilter ff_vf_showinfo;
+extern const AVFilter ff_vf_showpalette;
+extern const AVFilter ff_vf_shuffleframes;
+extern const AVFilter ff_vf_shufflepixels;
+extern const AVFilter ff_vf_shuffleplanes;
+extern const AVFilter ff_vf_sidedata;
+extern const AVFilter ff_vf_signalstats;
+extern const AVFilter ff_vf_signature;
+extern const AVFilter ff_vf_smartblur;
+extern const AVFilter ff_vf_sobel;
+extern const AVFilter ff_vf_sobel_opencl;
+extern const AVFilter ff_vf_split;
+extern const AVFilter ff_vf_spp;
+extern const AVFilter ff_vf_sr;
+extern const AVFilter ff_vf_ssim;
+extern const AVFilter ff_vf_stereo3d;
+extern const AVFilter ff_vf_streamselect;
+extern const AVFilter ff_vf_subtitles;
+extern const AVFilter ff_vf_super2xsai;
+extern const AVFilter ff_vf_swaprect;
+extern const AVFilter ff_vf_swapuv;
+extern const AVFilter ff_vf_tblend;
+extern const AVFilter ff_vf_telecine;
+extern const AVFilter ff_vf_thistogram;
+extern const AVFilter ff_vf_threshold;
+extern const AVFilter ff_vf_thumbnail;
+extern const AVFilter ff_vf_thumbnail_cuda;
+extern const AVFilter ff_vf_tile;
+extern const AVFilter ff_vf_tinterlace;
+extern const AVFilter ff_vf_tlut2;
+extern const AVFilter ff_vf_tmedian;
+extern const AVFilter ff_vf_tmidequalizer;
+extern const AVFilter ff_vf_tmix;
+extern const AVFilter ff_vf_tonemap;
+extern const AVFilter ff_vf_tonemap_opencl;
+extern const AVFilter ff_vf_tonemap_vaapi;
+extern const AVFilter ff_vf_tpad;
+extern const AVFilter ff_vf_transpose;
+extern const AVFilter ff_vf_transpose_npp;
+extern const AVFilter ff_vf_transpose_opencl;
+extern const AVFilter ff_vf_transpose_vaapi;
+extern const AVFilter ff_vf_trim;
+extern const AVFilter ff_vf_unpremultiply;
+extern const AVFilter ff_vf_unsharp;
+extern const AVFilter ff_vf_unsharp_opencl;
+extern const AVFilter ff_vf_untile;
+extern const AVFilter ff_vf_uspp;
+extern const AVFilter ff_vf_v360;
+extern const AVFilter ff_vf_vaguedenoiser;
+extern const AVFilter ff_vf_vectorscope;
+extern const AVFilter ff_vf_vflip;
+extern const AVFilter ff_vf_vfrdet;
+extern const AVFilter ff_vf_vibrance;
+extern const AVFilter ff_vf_vidstabdetect;
+extern const AVFilter ff_vf_vidstabtransform;
+extern const AVFilter ff_vf_vif;
+extern const AVFilter ff_vf_vignette;
+extern const AVFilter ff_vf_vmafmotion;
+extern const AVFilter ff_vf_vpp_qsv;
+extern const AVFilter ff_vf_vstack;
+extern const AVFilter ff_vf_w3fdif;
+extern const AVFilter ff_vf_waveform;
+extern const AVFilter ff_vf_weave;
+extern const AVFilter ff_vf_xbr;
+extern const AVFilter ff_vf_xfade;
+extern const AVFilter ff_vf_xfade_opencl;
+extern const AVFilter ff_vf_xmedian;
+extern const AVFilter ff_vf_xstack;
+extern const AVFilter ff_vf_yadif;
+extern const AVFilter ff_vf_yadif_cuda;
+extern const AVFilter ff_vf_yaepblur;
+extern const AVFilter ff_vf_zmq;
+extern const AVFilter ff_vf_zoompan;
+extern const 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 const AVFilter ff_vsrc_allrgb;
+extern const AVFilter ff_vsrc_allyuv;
+extern const AVFilter ff_vsrc_cellauto;
+extern const AVFilter ff_vsrc_color;
+extern const AVFilter ff_vsrc_coreimagesrc;
+extern const AVFilter ff_vsrc_frei0r_src;
+extern const AVFilter ff_vsrc_gradients;
+extern const AVFilter ff_vsrc_haldclutsrc;
+extern const AVFilter ff_vsrc_life;
+extern const AVFilter ff_vsrc_mandelbrot;
+extern const AVFilter ff_vsrc_mptestsrc;
+extern const AVFilter ff_vsrc_nullsrc;
+extern const AVFilter ff_vsrc_openclsrc;
+extern const AVFilter ff_vsrc_pal75bars;
+extern const AVFilter ff_vsrc_pal100bars;
+extern const AVFilter ff_vsrc_rgbtestsrc;
+extern const AVFilter ff_vsrc_sierpinski;
+extern const AVFilter ff_vsrc_smptebars;
+extern const AVFilter ff_vsrc_smptehdbars;
+extern const AVFilter ff_vsrc_testsrc;
+extern const AVFilter ff_vsrc_testsrc2;
+extern const AVFilter ff_vsrc_yuvtestsrc;
-extern AVFilter ff_vsink_nullsink;
+extern const 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;
+extern const AVFilter ff_avf_abitscope;
+extern const AVFilter ff_avf_adrawgraph;
+extern const AVFilter ff_avf_agraphmonitor;
+extern const AVFilter ff_avf_ahistogram;
+extern const AVFilter ff_avf_aphasemeter;
+extern const AVFilter ff_avf_avectorscope;
+extern const AVFilter ff_avf_concat;
+extern const AVFilter ff_avf_showcqt;
+extern const AVFilter ff_avf_showfreqs;
+extern const AVFilter ff_avf_showspatial;
+extern const AVFilter ff_avf_showspectrum;
+extern const AVFilter ff_avf_showspectrumpic;
+extern const AVFilter ff_avf_showvolume;
+extern const AVFilter ff_avf_showwaves;
+extern const AVFilter ff_avf_showwavespic;
+extern const AVFilter ff_vaf_spectrumsynth;
/* multimedia sources */
-extern AVFilter ff_avsrc_amovie;
-extern AVFilter ff_avsrc_movie;
+extern const AVFilter ff_avsrc_amovie;
+extern const 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;
+extern const AVFilter ff_asrc_abuffer;
+extern const AVFilter ff_vsrc_buffer;
+extern const AVFilter ff_asink_abuffer;
+extern const AVFilter ff_vsink_buffer;
+extern const AVFilter ff_af_afifo;
+extern const AVFilter ff_vf_fifo;
#include "libavfilter/filter_list.c"
{ NULL },
};
-AVFilter ff_asink_anullsink = {
+const AVFilter ff_asink_anullsink = {
.name = "anullsink",
.description = NULL_IF_CONFIG_SMALL("Do absolutely nothing with the input audio."),
.priv_size = 0,
{ NULL }
};
-AVFilter ff_asrc_afirsrc = {
+const AVFilter ff_asrc_afirsrc = {
.name = "afirsrc",
.description = NULL_IF_CONFIG_SMALL("Generate a FIR coefficients audio stream."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_asrc_anoisesrc = {
+const AVFilter ff_asrc_anoisesrc = {
.name = "anoisesrc",
.description = NULL_IF_CONFIG_SMALL("Generate a noise audio signal."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_asrc_anullsrc = {
+const AVFilter ff_asrc_anullsrc = {
.name = "anullsrc",
.description = NULL_IF_CONFIG_SMALL("Null audio source, return empty audio frames."),
.init = init,
{ NULL }
};
-AVFilter ff_asrc_flite = {
+const AVFilter ff_asrc_flite = {
.name = "flite",
.description = NULL_IF_CONFIG_SMALL("Synthesize voice from text using libflite."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_asrc_hilbert = {
+const AVFilter ff_asrc_hilbert = {
.name = "hilbert",
.description = NULL_IF_CONFIG_SMALL("Generate a Hilbert transform FIR coefficients."),
.query_formats = query_formats,
AVFILTER_DEFINE_CLASS(sinc);
-AVFilter ff_asrc_sinc = {
+const AVFilter ff_asrc_sinc = {
.name = "sinc",
.description = NULL_IF_CONFIG_SMALL("Generate a sinc kaiser-windowed low-pass, high-pass, band-pass, or band-reject FIR coefficients."),
.priv_size = sizeof(SincContext),
{ NULL }
};
-AVFilter ff_asrc_sine = {
+const AVFilter ff_asrc_sine = {
.name = "sine",
.description = NULL_IF_CONFIG_SMALL("Generate sine wave audio signal."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_avf_abitscope = {
+const AVFilter ff_avf_abitscope = {
.name = "abitscope",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to audio bit scope video output."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_avf_ahistogram = {
+const AVFilter ff_avf_ahistogram = {
.name = "ahistogram",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to histogram video output."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_avf_aphasemeter = {
+const AVFilter ff_avf_aphasemeter = {
.name = "aphasemeter",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to phase meter video output."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_avectorscope = {
+const AVFilter ff_avf_avectorscope = {
.name = "avectorscope",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to vectorscope video output."),
.uninit = uninit,
return ret;
}
-AVFilter ff_avf_concat = {
+const AVFilter ff_avf_concat = {
.name = "concat",
.description = NULL_IF_CONFIG_SMALL("Concatenate audio and video streams."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_showcqt = {
+const AVFilter ff_avf_showcqt = {
.name = "showcqt",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a CQT (Constant/Clamped Q Transform) spectrum video output."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_showfreqs = {
+const AVFilter ff_avf_showfreqs = {
.name = "showfreqs",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a frequencies video output."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_showspatial = {
+const AVFilter ff_avf_showspatial = {
.name = "showspatial",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a spatial video output."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_avf_showspectrum = {
+const AVFilter ff_avf_showspectrum = {
.name = "showspectrum",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a spectrum video output."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_avf_showspectrumpic = {
+const AVFilter ff_avf_showspectrumpic = {
.name = "showspectrumpic",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a spectrum video output single picture."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_avf_showvolume = {
+const AVFilter ff_avf_showvolume = {
.name = "showvolume",
.description = NULL_IF_CONFIG_SMALL("Convert input audio volume to video output."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_showwaves = {
+const AVFilter ff_avf_showwaves = {
.name = "showwaves",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a video output."),
.init = init,
{ NULL }
};
-AVFilter ff_avf_showwavespic = {
+const AVFilter ff_avf_showwavespic = {
.name = "showwavespic",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to a video output single picture."),
.init = init,
{ NULL }
};
-AVFilter ff_vsink_buffer = {
+const AVFilter ff_vsink_buffer = {
.name = "buffersink",
.description = NULL_IF_CONFIG_SMALL("Buffer video frames, and make them available to the end of the filter graph."),
.priv_size = sizeof(BufferSinkContext),
{ NULL }
};
-AVFilter ff_asink_abuffer = {
+const AVFilter ff_asink_abuffer = {
.name = "abuffersink",
.description = NULL_IF_CONFIG_SMALL("Buffer audio frames, and make them available to the end of the filter graph."),
.priv_class = &abuffersink_class,
{ NULL }
};
-AVFilter ff_vsrc_buffer = {
+const AVFilter ff_vsrc_buffer = {
.name = "buffer",
.description = NULL_IF_CONFIG_SMALL("Buffer video frames, and make them accessible to the filterchain."),
.priv_size = sizeof(BufferSourceContext),
{ NULL }
};
-AVFilter ff_asrc_abuffer = {
+const AVFilter ff_asrc_abuffer = {
.name = "abuffer",
.description = NULL_IF_CONFIG_SMALL("Buffer audio frames, and make them accessible to the filterchain."),
.priv_size = sizeof(BufferSourceContext),
{ NULL }
};
-AVFilter ff_vf_bench = {
+const AVFilter ff_vf_bench = {
.name = "bench",
.description = NULL_IF_CONFIG_SMALL("Benchmark part of a filtergraph."),
.priv_size = sizeof(BenchContext),
{ NULL }
};
-AVFilter ff_af_abench = {
+const AVFilter ff_af_abench = {
.name = "abench",
.description = NULL_IF_CONFIG_SMALL("Benchmark part of a filtergraph."),
.priv_size = sizeof(BenchContext),
{ NULL }
};
-AVFilter ff_vf_cue = {
+const AVFilter ff_vf_cue = {
.name = "cue",
.description = NULL_IF_CONFIG_SMALL("Delay filtering to match a cue."),
.priv_size = sizeof(CueContext),
{ NULL }
};
-AVFilter ff_af_acue = {
+const AVFilter ff_af_acue = {
.name = "acue",
.description = NULL_IF_CONFIG_SMALL("Delay filtering to match a cue."),
.priv_size = sizeof(CueContext),
{ NULL }
};
-AVFilter ff_vf_drawgraph = {
+const AVFilter ff_vf_drawgraph = {
.name = "drawgraph",
.description = NULL_IF_CONFIG_SMALL("Draw a graph using input video metadata."),
.priv_size = sizeof(DrawGraphContext),
{ NULL }
};
-AVFilter ff_avf_adrawgraph = {
+const AVFilter ff_avf_adrawgraph = {
.name = "adrawgraph",
.description = NULL_IF_CONFIG_SMALL("Draw a graph using input audio metadata."),
.priv_size = sizeof(DrawGraphContext),
{ NULL }
};
-AVFilter ff_af_ebur128 = {
+const AVFilter ff_af_ebur128 = {
.name = "ebur128",
.description = NULL_IF_CONFIG_SMALL("EBU R128 scanner."),
.priv_size = sizeof(EBUR128Context),
{ NULL }
};
-AVFilter ff_vf_graphmonitor = {
+const AVFilter ff_vf_graphmonitor = {
.name = "graphmonitor",
.description = NULL_IF_CONFIG_SMALL("Show various filtergraph stats."),
.priv_size = sizeof(GraphMonitorContext),
{ NULL }
};
-AVFilter ff_avf_agraphmonitor = {
+const AVFilter ff_avf_agraphmonitor = {
.name = "agraphmonitor",
.description = NULL_IF_CONFIG_SMALL("Show various filtergraph stats."),
.priv_size = sizeof(GraphMonitorContext),
{ NULL }
};
-AVFilter ff_vf_interleave = {
+const AVFilter ff_vf_interleave = {
.name = "interleave",
.description = NULL_IF_CONFIG_SMALL("Temporally interleave video inputs."),
.priv_size = sizeof(InterleaveContext),
{ NULL }
};
-AVFilter ff_af_ainterleave = {
+const AVFilter ff_af_ainterleave = {
.name = "ainterleave",
.description = NULL_IF_CONFIG_SMALL("Temporally interleave audio inputs."),
.priv_size = sizeof(InterleaveContext),
{ NULL }
};
-AVFilter ff_af_aloop = {
+const AVFilter ff_af_aloop = {
.name = "aloop",
.description = NULL_IF_CONFIG_SMALL("Loop audio samples."),
.priv_size = sizeof(LoopContext),
{ NULL }
};
-AVFilter ff_vf_loop = {
+const AVFilter ff_vf_loop = {
.name = "loop",
.description = NULL_IF_CONFIG_SMALL("Loop video frames."),
.priv_size = sizeof(LoopContext),
{ NULL }
};
-AVFilter ff_af_ametadata = {
+const AVFilter ff_af_ametadata = {
.name = "ametadata",
.description = NULL_IF_CONFIG_SMALL("Manipulate audio frame metadata."),
.priv_size = sizeof(MetadataContext),
{ NULL }
};
-AVFilter ff_vf_metadata = {
+const AVFilter ff_vf_metadata = {
.name = "metadata",
.description = NULL_IF_CONFIG_SMALL("Manipulate video frame metadata."),
.priv_size = sizeof(MetadataContext),
{ NULL }
};
-AVFilter ff_af_aperms = {
+const AVFilter ff_af_aperms = {
.name = "aperms",
.description = NULL_IF_CONFIG_SMALL("Set permissions for the output audio frame."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_perms = {
+const AVFilter ff_vf_perms = {
.name = "perms",
.description = NULL_IF_CONFIG_SMALL("Set permissions for the output video frame."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_realtime = {
+const AVFilter ff_vf_realtime = {
.name = "realtime",
.description = NULL_IF_CONFIG_SMALL("Slow down filtering to match realtime."),
.priv_size = sizeof(RealtimeContext),
{ NULL }
};
-AVFilter ff_af_arealtime = {
+const AVFilter ff_af_arealtime = {
.name = "arealtime",
.description = NULL_IF_CONFIG_SMALL("Slow down filtering to match realtime."),
.priv_size = sizeof(RealtimeContext),
{ NULL }
};
-AVFilter ff_vf_reverse = {
+const AVFilter ff_vf_reverse = {
.name = "reverse",
.description = NULL_IF_CONFIG_SMALL("Reverse a clip."),
.priv_size = sizeof(ReverseContext),
{ NULL }
};
-AVFilter ff_af_areverse = {
+const AVFilter ff_af_areverse = {
.name = "areverse",
.description = NULL_IF_CONFIG_SMALL("Reverse an audio clip."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_af_aselect = {
+const AVFilter ff_af_aselect = {
.name = "aselect",
.description = NULL_IF_CONFIG_SMALL("Select audio frames to pass in output."),
.init = aselect_init,
{ NULL }
};
-AVFilter ff_vf_select = {
+const AVFilter ff_vf_select = {
.name = "select",
.description = NULL_IF_CONFIG_SMALL("Select video frames to pass in output."),
.init = select_init,
{ NULL }
};
-AVFilter ff_vf_sendcmd = {
+const AVFilter ff_vf_sendcmd = {
.name = "sendcmd",
.description = NULL_IF_CONFIG_SMALL("Send commands to filters."),
.init = init,
{ NULL }
};
-AVFilter ff_af_asendcmd = {
+const AVFilter ff_af_asendcmd = {
.name = "asendcmd",
.description = NULL_IF_CONFIG_SMALL("Send commands to filters."),
.init = init,
{ NULL }
};
-AVFilter ff_af_asidedata = {
+const AVFilter ff_af_asidedata = {
.name = "asidedata",
.description = NULL_IF_CONFIG_SMALL("Manipulate audio frame side data."),
.priv_size = sizeof(SideDataContext),
{ NULL }
};
-AVFilter ff_vf_sidedata = {
+const AVFilter ff_vf_sidedata = {
.name = "sidedata",
.description = NULL_IF_CONFIG_SMALL("Manipulate video frame side data."),
.priv_size = sizeof(SideDataContext),
return 0;
}
-AVFilter ff_vf_streamselect = {
+const AVFilter ff_vf_streamselect = {
.name = "streamselect",
.description = NULL_IF_CONFIG_SMALL("Select video streams"),
.init = init,
#define astreamselect_options streamselect_options
AVFILTER_DEFINE_CLASS(astreamselect);
-AVFilter ff_af_astreamselect = {
+const AVFilter ff_af_astreamselect = {
.name = "astreamselect",
.description = NULL_IF_CONFIG_SMALL("Select audio streams"),
.init = init,
{ NULL }
};
-AVFilter ff_vf_zmq = {
+const AVFilter ff_vf_zmq = {
.name = "zmq",
.description = NULL_IF_CONFIG_SMALL("Receive commands through ZMQ and broker them to filters."),
.init = init,
{ NULL }
};
-AVFilter ff_af_azmq = {
+const AVFilter ff_af_azmq = {
.name = "azmq",
.description = NULL_IF_CONFIG_SMALL("Receive commands through ZMQ and broker them to filters."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_fifo = {
+const AVFilter ff_vf_fifo = {
.name = "fifo",
.description = NULL_IF_CONFIG_SMALL("Buffer input images and send them when they are requested."),
.init = init,
{ NULL }
};
-AVFilter ff_af_afifo = {
+const AVFilter ff_af_afifo = {
.name = "afifo",
.description = NULL_IF_CONFIG_SMALL("Buffer input frames and send them when they are requested."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_setpts = {
+const AVFilter ff_vf_setpts = {
.name = "setpts",
.description = NULL_IF_CONFIG_SMALL("Set PTS for the output video frame."),
.init = init,
{ NULL }
};
-AVFilter ff_af_asetpts = {
+const AVFilter ff_af_asetpts = {
.name = "asetpts",
.description = NULL_IF_CONFIG_SMALL("Set PTS for the output audio frame."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_settb = {
+const AVFilter ff_vf_settb = {
.name = "settb",
.description = NULL_IF_CONFIG_SMALL("Set timebase for the video output link."),
.priv_size = sizeof(SetTBContext),
{ NULL }
};
-AVFilter ff_af_asettb = {
+const AVFilter ff_af_asettb = {
.name = "asettb",
.description = NULL_IF_CONFIG_SMALL("Set timebase for the audio output link."),
.priv_size = sizeof(SetTBContext),
{ NULL }
};
-AVFilter ff_vf_split = {
+const AVFilter ff_vf_split = {
.name = "split",
.description = NULL_IF_CONFIG_SMALL("Pass on the input to N video outputs."),
.priv_size = sizeof(SplitContext),
{ NULL }
};
-AVFilter ff_af_asplit = {
+const AVFilter ff_af_asplit = {
.name = "asplit",
.description = NULL_IF_CONFIG_SMALL("Pass on the audio input to N audio outputs."),
.priv_size = sizeof(SplitContext),
AVFILTER_DEFINE_CLASS(movie);
-AVFilter ff_avsrc_movie = {
+const AVFilter ff_avsrc_movie = {
.name = "movie",
.description = NULL_IF_CONFIG_SMALL("Read from a movie source."),
.priv_size = sizeof(MovieContext),
#define amovie_options movie_options
AVFILTER_DEFINE_CLASS(amovie);
-AVFilter ff_avsrc_amovie = {
+const AVFilter ff_avsrc_amovie = {
.name = "amovie",
.description = NULL_IF_CONFIG_SMALL("Read audio from a movie source."),
.priv_size = sizeof(MovieContext),
{ NULL }
};
-AVFilter ff_vf_trim = {
+const AVFilter ff_vf_trim = {
.name = "trim",
.description = NULL_IF_CONFIG_SMALL("Pick one continuous section from the input, drop the rest."),
.init = init,
{ NULL }
};
-AVFilter ff_af_atrim = {
+const AVFilter ff_af_atrim = {
.name = "atrim",
.description = NULL_IF_CONFIG_SMALL("Pick one continuous section from the input, drop the rest."),
.init = init,
{ NULL }
};
-AVFilter ff_vaf_spectrumsynth = {
+const AVFilter ff_vaf_spectrumsynth = {
.name = "spectrumsynth",
.description = NULL_IF_CONFIG_SMALL("Convert input spectrum videos to audio output."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_vf_addroi = {
+const AVFilter ff_vf_addroi = {
.name = "addroi",
.description = NULL_IF_CONFIG_SMALL("Add region of interest to frame."),
.init = addroi_init,
FRAMESYNC_DEFINE_CLASS(alphamerge, AlphaMergeContext, fs);
-AVFilter ff_vf_alphamerge = {
+const AVFilter ff_vf_alphamerge = {
.name = "alphamerge",
.description = NULL_IF_CONFIG_SMALL("Copy the luma value of the second "
"input into the alpha channel of the first input."),
AVFILTER_DEFINE_CLASS(amplify);
-AVFilter ff_vf_amplify = {
+const AVFilter ff_vf_amplify = {
.name = "amplify",
.description = NULL_IF_CONFIG_SMALL("Amplify changes between successive video frames."),
.priv_size = sizeof(AmplifyContext),
{ NULL }
};
-AVFilter ff_vf_setdar = {
+const AVFilter ff_vf_setdar = {
.name = "setdar",
.description = NULL_IF_CONFIG_SMALL("Set the frame display aspect ratio."),
.priv_size = sizeof(AspectContext),
{ NULL }
};
-AVFilter ff_vf_setsar = {
+const AVFilter ff_vf_setsar = {
.name = "setsar",
.description = NULL_IF_CONFIG_SMALL("Set the pixel sample aspect ratio."),
.priv_size = sizeof(AspectContext),
{ NULL }
};
-AVFilter ff_vf_atadenoise = {
+const AVFilter ff_vf_atadenoise = {
.name = "atadenoise",
.description = NULL_IF_CONFIG_SMALL("Apply an Adaptive Temporal Averaging Denoiser."),
.priv_size = sizeof(ATADenoiseContext),
{ NULL }
};
-AVFilter ff_vf_avgblur = {
+const AVFilter ff_vf_avgblur = {
.name = "avgblur",
.description = NULL_IF_CONFIG_SMALL("Apply Average Blur filter."),
.priv_size = sizeof(AverageBlurContext),
AVFILTER_DEFINE_CLASS(avgblur_opencl);
-AVFilter ff_vf_avgblur_opencl = {
+const AVFilter ff_vf_avgblur_opencl = {
.name = "avgblur_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply average blur filter"),
.priv_size = sizeof(AverageBlurOpenCLContext),
AVFILTER_DEFINE_CLASS(boxblur_opencl);
-AVFilter ff_vf_boxblur_opencl = {
+const AVFilter ff_vf_boxblur_opencl = {
.name = "boxblur_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply boxblur filter to input video"),
.priv_size = sizeof(AverageBlurOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_avgblur_vulkan = {
+const AVFilter ff_vf_avgblur_vulkan = {
.name = "avgblur_vulkan",
.description = NULL_IF_CONFIG_SMALL("Apply avgblur mask to input video"),
.priv_size = sizeof(AvgBlurVulkanContext),
{ NULL }
};
-AVFilter ff_vf_bbox = {
+const AVFilter ff_vf_bbox = {
.name = "bbox",
.description = NULL_IF_CONFIG_SMALL("Compute bounding box for each frame."),
.priv_size = sizeof(BBoxContext),
{ NULL }
};
-AVFilter ff_vf_bilateral = {
+const AVFilter ff_vf_bilateral = {
.name = "bilateral",
.description = NULL_IF_CONFIG_SMALL("Apply Bilateral filter."),
.priv_size = sizeof(BilateralContext),
{ NULL }
};
-AVFilter ff_vf_bitplanenoise = {
+const AVFilter ff_vf_bitplanenoise = {
.name = "bitplanenoise",
.description = NULL_IF_CONFIG_SMALL("Measure bit plane noise."),
.priv_size = sizeof(BPNContext),
{ NULL }
};
-AVFilter ff_vf_blackdetect = {
+const AVFilter ff_vf_blackdetect = {
.name = "blackdetect",
.description = NULL_IF_CONFIG_SMALL("Detect video intervals that are (almost) black."),
.priv_size = sizeof(BlackDetectContext),
{ NULL }
};
-AVFilter ff_vf_blackframe = {
+const AVFilter ff_vf_blackframe = {
.name = "blackframe",
.description = NULL_IF_CONFIG_SMALL("Detect frames that are (almost) black."),
.priv_size = sizeof(BlackFrameContext),
{ NULL }
};
-AVFilter ff_vf_blend = {
+const AVFilter ff_vf_blend = {
.name = "blend",
.description = NULL_IF_CONFIG_SMALL("Blend two video frames into each other."),
.preinit = blend_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_tblend = {
+const AVFilter ff_vf_tblend = {
.name = "tblend",
.description = NULL_IF_CONFIG_SMALL("Blend successive frames."),
.priv_size = sizeof(BlendContext),
{ NULL }
};
-AVFilter ff_vf_bm3d = {
+const AVFilter ff_vf_bm3d = {
.name = "bm3d",
.description = NULL_IF_CONFIG_SMALL("Block-Matching 3D denoiser."),
.priv_size = sizeof(BM3DContext),
{ NULL }
};
-AVFilter ff_vf_boxblur = {
+const AVFilter ff_vf_boxblur = {
.name = "boxblur",
.description = NULL_IF_CONFIG_SMALL("Blur the input."),
.priv_size = sizeof(BoxBlurContext),
{ NULL }
};
-AVFilter ff_vf_bwdif = {
+const AVFilter ff_vf_bwdif = {
.name = "bwdif",
.description = NULL_IF_CONFIG_SMALL("Deinterlace the input image."),
.priv_size = sizeof(BWDIFContext),
AVFILTER_DEFINE_CLASS(cas);
-AVFilter ff_vf_cas = {
+const AVFilter ff_vf_cas = {
.name = "cas",
.description = NULL_IF_CONFIG_SMALL("Contrast Adaptive Sharpen."),
.priv_size = sizeof(CASContext),
{ NULL }
};
-AVFilter ff_vf_chromaber_vulkan = {
+const AVFilter ff_vf_chromaber_vulkan = {
.name = "chromaber_vulkan",
.description = NULL_IF_CONFIG_SMALL("Offset chroma of input video (chromatic aberration)"),
.priv_size = sizeof(ChromaticAberrationVulkanContext),
AVFILTER_DEFINE_CLASS(chromakey);
-AVFilter ff_vf_chromakey = {
+const AVFilter ff_vf_chromakey = {
.name = "chromakey",
.description = NULL_IF_CONFIG_SMALL("Turns a certain color into transparency. Operates on YUV colors."),
.priv_size = sizeof(ChromakeyContext),
AVFILTER_DEFINE_CLASS(chromahold);
-AVFilter ff_vf_chromahold = {
+const AVFilter ff_vf_chromahold = {
.name = "chromahold",
.description = NULL_IF_CONFIG_SMALL("Turns a certain color range into gray."),
.priv_size = sizeof(ChromakeyContext),
AVFILTER_DEFINE_CLASS(chromanr);
-AVFilter ff_vf_chromanr = {
+const AVFilter ff_vf_chromanr = {
.name = "chromanr",
.description = NULL_IF_CONFIG_SMALL("Reduce chrominance noise."),
.priv_size = sizeof(ChromaNRContext),
AVFILTER_DEFINE_CLASS(chromashift);
-AVFilter ff_vf_chromashift = {
+const AVFilter ff_vf_chromashift = {
.name = "chromashift",
.description = NULL_IF_CONFIG_SMALL("Shift chroma."),
.priv_size = sizeof(ChromaShiftContext),
AVFILTER_DEFINE_CLASS(rgbashift);
-AVFilter ff_vf_rgbashift = {
+const AVFilter ff_vf_rgbashift = {
.name = "rgbashift",
.description = NULL_IF_CONFIG_SMALL("Shift RGBA."),
.priv_size = sizeof(ChromaShiftContext),
{ NULL }
};
-AVFilter ff_vf_ciescope = {
+const AVFilter ff_vf_ciescope = {
.name = "ciescope",
.description = NULL_IF_CONFIG_SMALL("Video CIE scope."),
.priv_size = sizeof(CiescopeContext),
{ NULL }
};
-AVFilter ff_vf_codecview = {
+const AVFilter ff_vf_codecview = {
.name = "codecview",
.description = NULL_IF_CONFIG_SMALL("Visualize information about some codecs."),
.priv_size = sizeof(CodecViewContext),
{ NULL }
};
-AVFilter ff_vf_colorbalance = {
+const AVFilter ff_vf_colorbalance = {
.name = "colorbalance",
.description = NULL_IF_CONFIG_SMALL("Adjust the color balance."),
.priv_size = sizeof(ColorBalanceContext),
{ NULL }
};
-AVFilter ff_vf_colorchannelmixer = {
+const AVFilter ff_vf_colorchannelmixer = {
.name = "colorchannelmixer",
.description = NULL_IF_CONFIG_SMALL("Adjust colors by mixing color channels."),
.priv_size = sizeof(ColorChannelMixerContext),
AVFILTER_DEFINE_CLASS(greyedge);
-AVFilter ff_vf_greyedge = {
+const AVFilter ff_vf_greyedge = {
.name = GREY_EDGE,
.description = NULL_IF_CONFIG_SMALL("Estimates scene illumination by grey edge assumption."),
.priv_size = sizeof(ColorConstancyContext),
AVFILTER_DEFINE_CLASS(colorcontrast);
-AVFilter ff_vf_colorcontrast = {
+const AVFilter ff_vf_colorcontrast = {
.name = "colorcontrast",
.description = NULL_IF_CONFIG_SMALL("Adjust color contrast between RGB components."),
.priv_size = sizeof(ColorContrastContext),
AVFILTER_DEFINE_CLASS(colorcorrect);
-AVFilter ff_vf_colorcorrect = {
+const AVFilter ff_vf_colorcorrect = {
.name = "colorcorrect",
.description = NULL_IF_CONFIG_SMALL("Adjust color white balance selectively for blacks and whites."),
.priv_size = sizeof(ColorCorrectContext),
AVFILTER_DEFINE_CLASS(colorize);
-AVFilter ff_vf_colorize = {
+const AVFilter ff_vf_colorize = {
.name = "colorize",
.description = NULL_IF_CONFIG_SMALL("Overlay a solid color on the video stream."),
.priv_size = sizeof(ColorizeContext),
AVFILTER_DEFINE_CLASS(colorkey);
-AVFilter ff_vf_colorkey = {
+const AVFilter ff_vf_colorkey = {
.name = "colorkey",
.description = NULL_IF_CONFIG_SMALL("Turns a certain color into transparency. Operates on RGB colors."),
.priv_size = sizeof(ColorkeyContext),
AVFILTER_DEFINE_CLASS(colorhold);
-AVFilter ff_vf_colorhold = {
+const AVFilter ff_vf_colorhold = {
.name = "colorhold",
.description = NULL_IF_CONFIG_SMALL("Turns a certain color range into gray. Operates on RGB colors."),
.priv_size = sizeof(ColorkeyContext),
AVFILTER_DEFINE_CLASS(colorkey_opencl);
-AVFilter ff_vf_colorkey_opencl = {
+const AVFilter ff_vf_colorkey_opencl = {
.name = "colorkey_opencl",
.description = NULL_IF_CONFIG_SMALL("Turns a certain color into transparency. Operates on RGB colors."),
.priv_size = sizeof(ColorkeyOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_colorlevels = {
+const AVFilter ff_vf_colorlevels = {
.name = "colorlevels",
.description = NULL_IF_CONFIG_SMALL("Adjust the color levels."),
.priv_size = sizeof(ColorLevelsContext),
{ NULL }
};
-AVFilter ff_vf_colormatrix = {
+const AVFilter ff_vf_colormatrix = {
.name = "colormatrix",
.description = NULL_IF_CONFIG_SMALL("Convert color matrix."),
.priv_size = sizeof(ColorMatrixContext),
{ NULL }
};
-AVFilter ff_vf_colorspace = {
+const AVFilter ff_vf_colorspace = {
.name = "colorspace",
.description = NULL_IF_CONFIG_SMALL("Convert between colorspaces."),
.init = init,
AVFILTER_DEFINE_CLASS(colortemperature);
-AVFilter ff_vf_colortemperature = {
+const AVFilter ff_vf_colortemperature = {
.name = "colortemperature",
.description = NULL_IF_CONFIG_SMALL("Adjust color temperature of video."),
.priv_size = sizeof(ColorTemperatureContext),
#if CONFIG_CONVOLUTION_FILTER
-AVFilter ff_vf_convolution = {
+const AVFilter ff_vf_convolution = {
.name = "convolution",
.description = NULL_IF_CONFIG_SMALL("Apply convolution filter."),
.priv_size = sizeof(ConvolutionContext),
#define prewitt_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(prewitt);
-AVFilter ff_vf_prewitt = {
+const AVFilter ff_vf_prewitt = {
.name = "prewitt",
.description = NULL_IF_CONFIG_SMALL("Apply prewitt operator."),
.priv_size = sizeof(ConvolutionContext),
#define sobel_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(sobel);
-AVFilter ff_vf_sobel = {
+const AVFilter ff_vf_sobel = {
.name = "sobel",
.description = NULL_IF_CONFIG_SMALL("Apply sobel operator."),
.priv_size = sizeof(ConvolutionContext),
#define roberts_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(roberts);
-AVFilter ff_vf_roberts = {
+const AVFilter ff_vf_roberts = {
.name = "roberts",
.description = NULL_IF_CONFIG_SMALL("Apply roberts cross operator."),
.priv_size = sizeof(ConvolutionContext),
#define kirsch_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(kirsch);
-AVFilter ff_vf_kirsch = {
+const AVFilter ff_vf_kirsch = {
.name = "kirsch",
.description = NULL_IF_CONFIG_SMALL("Apply kirsch operator."),
.priv_size = sizeof(ConvolutionContext),
AVFILTER_DEFINE_CLASS(convolution_opencl);
-AVFilter ff_vf_convolution_opencl = {
+const AVFilter ff_vf_convolution_opencl = {
.name = "convolution_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply convolution mask to input video"),
.priv_size = sizeof(ConvolutionOpenCLContext),
AVFILTER_DEFINE_CLASS(sobel_opencl);
-AVFilter ff_vf_sobel_opencl = {
+const AVFilter ff_vf_sobel_opencl = {
.name = "sobel_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply sobel operator"),
.priv_size = sizeof(ConvolutionOpenCLContext),
AVFILTER_DEFINE_CLASS(prewitt_opencl);
-AVFilter ff_vf_prewitt_opencl = {
+const AVFilter ff_vf_prewitt_opencl = {
.name = "prewitt_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply prewitt operator"),
.priv_size = sizeof(ConvolutionOpenCLContext),
AVFILTER_DEFINE_CLASS(roberts_opencl);
-AVFilter ff_vf_roberts_opencl = {
+const AVFilter ff_vf_roberts_opencl = {
.name = "roberts_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply roberts operator"),
.priv_size = sizeof(ConvolutionOpenCLContext),
FRAMESYNC_DEFINE_CLASS(convolve, ConvolveContext, fs);
-AVFilter ff_vf_convolve = {
+const AVFilter ff_vf_convolve = {
.name = "convolve",
.description = NULL_IF_CONFIG_SMALL("Convolve first video stream with second video stream."),
.preinit = convolve_framesync_preinit,
FRAMESYNC_DEFINE_CLASS(deconvolve, ConvolveContext, fs);
-AVFilter ff_vf_deconvolve = {
+const AVFilter ff_vf_deconvolve = {
.name = "deconvolve",
.description = NULL_IF_CONFIG_SMALL("Deconvolve first video stream with second video stream."),
.preinit = deconvolve_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_copy = {
+const AVFilter ff_vf_copy = {
.name = "copy",
.description = NULL_IF_CONFIG_SMALL("Copy the input video unchanged to the output."),
.inputs = avfilter_vf_copy_inputs,
AVFILTER_DEFINE_CLASS(coreimage);
-AVFilter ff_vf_coreimage = {
+const AVFilter ff_vf_coreimage = {
.name = "coreimage",
.description = NULL_IF_CONFIG_SMALL("Video filtering using CoreImage API."),
.init = init,
AVFILTER_DEFINE_CLASS(coreimagesrc);
-AVFilter ff_vsrc_coreimagesrc = {
+const AVFilter ff_vsrc_coreimagesrc = {
.name = "coreimagesrc",
.description = NULL_IF_CONFIG_SMALL("Video source using image generators of CoreImage API."),
.init = init_src,
{ NULL }
};
-AVFilter ff_vf_cover_rect = {
+const AVFilter ff_vf_cover_rect = {
.name = "cover_rect",
.description = NULL_IF_CONFIG_SMALL("Find and cover a user specified object."),
.priv_size = sizeof(CoverContext),
{ NULL }
};
-AVFilter ff_vf_crop = {
+const AVFilter ff_vf_crop = {
.name = "crop",
.description = NULL_IF_CONFIG_SMALL("Crop the input video."),
.priv_size = sizeof(CropContext),
{ NULL }
};
-AVFilter ff_vf_cropdetect = {
+const AVFilter ff_vf_cropdetect = {
.name = "cropdetect",
.description = NULL_IF_CONFIG_SMALL("Auto-detect crop size."),
.priv_size = sizeof(CropDetectContext),
{ NULL }
};
-AVFilter ff_vf_curves = {
+const AVFilter ff_vf_curves = {
.name = "curves",
.description = NULL_IF_CONFIG_SMALL("Adjust components curves."),
.priv_size = sizeof(CurvesContext),
{ NULL }
};
-AVFilter ff_vf_datascope = {
+const AVFilter ff_vf_datascope = {
.name = "datascope",
.description = NULL_IF_CONFIG_SMALL("Video data analysis."),
.priv_size = sizeof(DatascopeContext),
{ NULL }
};
-AVFilter ff_vf_pixscope = {
+const AVFilter ff_vf_pixscope = {
.name = "pixscope",
.description = NULL_IF_CONFIG_SMALL("Pixel data analysis."),
.priv_size = sizeof(PixscopeContext),
{ NULL }
};
-AVFilter ff_vf_oscilloscope = {
+const AVFilter ff_vf_oscilloscope = {
.name = "oscilloscope",
.description = NULL_IF_CONFIG_SMALL("2D Video Oscilloscope."),
.priv_size = sizeof(OscilloscopeContext),
{ NULL }
};
-AVFilter ff_vf_dblur = {
+const AVFilter ff_vf_dblur = {
.name = "dblur",
.description = NULL_IF_CONFIG_SMALL("Apply Directional Blur filter."),
.priv_size = sizeof(DBlurContext),
{ NULL }
};
-AVFilter ff_vf_dctdnoiz = {
+const AVFilter ff_vf_dctdnoiz = {
.name = "dctdnoiz",
.description = NULL_IF_CONFIG_SMALL("Denoise frames using 2D DCT."),
.priv_size = sizeof(DCTdnoizContext),
{ NULL }
};
-AVFilter ff_vf_deband = {
+const AVFilter ff_vf_deband = {
.name = "deband",
.description = NULL_IF_CONFIG_SMALL("Debands video."),
.priv_size = sizeof(DebandContext),
AVFILTER_DEFINE_CLASS(deblock);
-AVFilter ff_vf_deblock = {
+const AVFilter ff_vf_deblock = {
.name = "deblock",
.description = NULL_IF_CONFIG_SMALL("Deblock video."),
.priv_size = sizeof(DeblockContext),
{ NULL }
};
-AVFilter ff_vf_decimate = {
+const AVFilter ff_vf_decimate = {
.name = "decimate",
.description = NULL_IF_CONFIG_SMALL("Decimate frames (post field matching filter)."),
.init = decimate_init,
AVFILTER_DEFINE_CLASS(dedot);
-AVFilter ff_vf_dedot = {
+const AVFilter ff_vf_dedot = {
.name = "dedot",
.description = NULL_IF_CONFIG_SMALL("Reduce cross-luminance and cross-color."),
.priv_size = sizeof(DedotContext),
{ NULL }
};
-AVFilter ff_vf_deflicker = {
+const AVFilter ff_vf_deflicker = {
.name = "deflicker",
.description = NULL_IF_CONFIG_SMALL("Remove temporal frame luminance variations."),
.priv_size = sizeof(DeflickerContext),
{ NULL }
};
-AVFilter ff_vf_deinterlace_qsv = {
+const AVFilter ff_vf_deinterlace_qsv = {
.name = "deinterlace_qsv",
.description = NULL_IF_CONFIG_SMALL("QuickSync video deinterlacing"),
{ NULL }
};
-AVFilter ff_vf_deinterlace_vaapi = {
+const AVFilter ff_vf_deinterlace_vaapi = {
.name = "deinterlace_vaapi",
.description = NULL_IF_CONFIG_SMALL("Deinterlacing of VAAPI surfaces"),
.priv_size = sizeof(DeintVAAPIContext),
{ NULL }
};
-AVFilter ff_vf_dejudder = {
+const AVFilter ff_vf_dejudder = {
.name = "dejudder",
.description = NULL_IF_CONFIG_SMALL("Remove judder produced by pullup."),
.priv_size = sizeof(DejudderContext),
{ NULL }
};
-AVFilter ff_vf_delogo = {
+const AVFilter ff_vf_delogo = {
.name = "delogo",
.description = NULL_IF_CONFIG_SMALL("Remove logo from input video."),
.priv_size = sizeof(DelogoContext),
{ NULL }
};
-AVFilter ff_vf_derain = {
+const AVFilter ff_vf_derain = {
.name = "derain",
.description = NULL_IF_CONFIG_SMALL("Apply derain filter to the input."),
.priv_size = sizeof(DRContext),
{ NULL }
};
-AVFilter ff_vf_deshake = {
+const AVFilter ff_vf_deshake = {
.name = "deshake",
.description = NULL_IF_CONFIG_SMALL("Stabilize shaky video."),
.priv_size = sizeof(DeshakeContext),
AVFILTER_DEFINE_CLASS(deshake_opencl);
-AVFilter ff_vf_deshake_opencl = {
+const AVFilter ff_vf_deshake_opencl = {
.name = "deshake_opencl",
.description = NULL_IF_CONFIG_SMALL("Feature-point based video stabilization filter"),
.priv_size = sizeof(DeshakeOpenCLContext),
AVFILTER_DEFINE_CLASS(despill);
-AVFilter ff_vf_despill = {
+const AVFilter ff_vf_despill = {
.name = "despill",
.description = NULL_IF_CONFIG_SMALL("Despill video."),
.priv_size = sizeof(DespillContext),
{ NULL }
};
-AVFilter ff_vf_detelecine = {
+const AVFilter ff_vf_detelecine = {
.name = "detelecine",
.description = NULL_IF_CONFIG_SMALL("Apply an inverse telecine pattern."),
.priv_size = sizeof(DetelecineContext),
{ NULL }
};
-AVFilter ff_vf_displace = {
+const AVFilter ff_vf_displace = {
.name = "displace",
.description = NULL_IF_CONFIG_SMALL("Displace pixels."),
.priv_size = sizeof(DisplaceContext),
{ NULL }
};
-AVFilter ff_vf_dnn_detect = {
+const AVFilter ff_vf_dnn_detect = {
.name = "dnn_detect",
.description = NULL_IF_CONFIG_SMALL("Apply DNN detect filter to the input."),
.priv_size = sizeof(DnnDetectContext),
{ NULL }
};
-AVFilter ff_vf_dnn_processing = {
+const AVFilter ff_vf_dnn_processing = {
.name = "dnn_processing",
.description = NULL_IF_CONFIG_SMALL("Apply DNN processing filter to the input."),
.priv_size = sizeof(DnnProcessingContext),
{ NULL }
};
-AVFilter ff_vf_drawbox = {
+const AVFilter ff_vf_drawbox = {
.name = "drawbox",
.description = NULL_IF_CONFIG_SMALL("Draw a colored box on the input video."),
.priv_size = sizeof(DrawBoxContext),
{ NULL }
};
-AVFilter ff_vf_drawgrid = {
+const AVFilter ff_vf_drawgrid = {
.name = "drawgrid",
.description = NULL_IF_CONFIG_SMALL("Draw a colored grid on the input video."),
.priv_size = sizeof(DrawBoxContext),
{ NULL }
};
-AVFilter ff_vf_drawtext = {
+const AVFilter ff_vf_drawtext = {
.name = "drawtext",
.description = NULL_IF_CONFIG_SMALL("Draw text on top of video frames using libfreetype library."),
.priv_size = sizeof(DrawTextContext),
{ NULL }
};
-AVFilter ff_vf_edgedetect = {
+const AVFilter ff_vf_edgedetect = {
.name = "edgedetect",
.description = NULL_IF_CONFIG_SMALL("Detect and draw edge."),
.priv_size = sizeof(EdgeDetectContext),
{ NULL }
};
-AVFilter ff_vf_elbg = {
+const AVFilter ff_vf_elbg = {
.name = "elbg",
.description = NULL_IF_CONFIG_SMALL("Apply posterize effect, using the ELBG algorithm."),
.priv_size = sizeof(ELBGContext),
{ NULL }
};
-AVFilter ff_vf_entropy = {
+const AVFilter ff_vf_entropy = {
.name = "entropy",
.description = NULL_IF_CONFIG_SMALL("Measure video frames entropy."),
.priv_size = sizeof(EntropyContext),
{ NULL }
};
-AVFilter ff_vf_epx = {
+const AVFilter ff_vf_epx = {
.name = "epx",
.description = NULL_IF_CONFIG_SMALL("Scale the input using EPX algorithm."),
.inputs = inputs,
AVFILTER_DEFINE_CLASS(eq);
-AVFilter ff_vf_eq = {
+const AVFilter ff_vf_eq = {
.name = "eq",
.description = NULL_IF_CONFIG_SMALL("Adjust brightness, contrast, gamma, and saturation."),
.priv_size = sizeof(EQContext),
{ NULL }
};
-AVFilter ff_vf_estdif = {
+const AVFilter ff_vf_estdif = {
.name = "estdif",
.description = NULL_IF_CONFIG_SMALL("Apply Edge Slope Tracing deinterlace."),
.priv_size = sizeof(ESTDIFContext),
AVFILTER_DEFINE_CLASS(exposure);
-AVFilter ff_vf_exposure = {
+const AVFilter ff_vf_exposure = {
.name = "exposure",
.description = NULL_IF_CONFIG_SMALL("Adjust exposure of the video stream."),
.priv_size = sizeof(ExposureContext),
{ NULL }
};
-AVFilter ff_vf_extractplanes = {
+const AVFilter ff_vf_extractplanes = {
.name = "extractplanes",
.description = NULL_IF_CONFIG_SMALL("Extract planes as grayscale frames."),
.priv_size = sizeof(ExtractPlanesContext),
return init(ctx);
}
-AVFilter ff_vf_alphaextract = {
+const AVFilter ff_vf_alphaextract = {
.name = "alphaextract",
.description = NULL_IF_CONFIG_SMALL("Extract an alpha channel as a "
"grayscale image component."),
{ NULL }
};
-AVFilter ff_vf_fade = {
+const AVFilter ff_vf_fade = {
.name = "fade",
.description = NULL_IF_CONFIG_SMALL("Fade in/out input video."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_fftdnoiz = {
+const AVFilter ff_vf_fftdnoiz = {
.name = "fftdnoiz",
.description = NULL_IF_CONFIG_SMALL("Denoise frames using 3D FFT."),
.priv_size = sizeof(FFTdnoizContext),
{ NULL }
};
-AVFilter ff_vf_fftfilt = {
+const AVFilter ff_vf_fftfilt = {
.name = "fftfilt",
.description = NULL_IF_CONFIG_SMALL("Apply arbitrary expressions to pixels in frequency domain."),
.priv_size = sizeof(FFTFILTContext),
{ NULL }
};
-AVFilter ff_vf_field = {
+const AVFilter ff_vf_field = {
.name = "field",
.description = NULL_IF_CONFIG_SMALL("Extract a field from the input video."),
.priv_size = sizeof(FieldContext),
{ NULL }
};
-AVFilter ff_vf_fieldhint = {
+const AVFilter ff_vf_fieldhint = {
.name = "fieldhint",
.description = NULL_IF_CONFIG_SMALL("Field matching using hints."),
.priv_size = sizeof(FieldHintContext),
{ NULL }
};
-AVFilter ff_vf_fieldmatch = {
+const AVFilter ff_vf_fieldmatch = {
.name = "fieldmatch",
.description = NULL_IF_CONFIG_SMALL("Field matching for inverse telecine."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_vf_fieldorder = {
+const AVFilter ff_vf_fieldorder = {
.name = "fieldorder",
.description = NULL_IF_CONFIG_SMALL("Set the field order."),
.priv_size = sizeof(FieldOrderContext),
{ NULL }
};
-AVFilter ff_vf_fillborders = {
+const AVFilter ff_vf_fillborders = {
.name = "fillborders",
.description = NULL_IF_CONFIG_SMALL("Fill borders of the input video."),
.priv_size = sizeof(FillBordersContext),
{ NULL }
};
-AVFilter ff_vf_find_rect = {
+const AVFilter ff_vf_find_rect = {
.name = "find_rect",
.description = NULL_IF_CONFIG_SMALL("Find a user specified object."),
.priv_size = sizeof(FOCContext),
AVFILTER_DEFINE_CLASS(floodfill);
-AVFilter ff_vf_floodfill = {
+const AVFilter ff_vf_floodfill = {
.name = "floodfill",
.description = NULL_IF_CONFIG_SMALL("Fill area with same color with another color."),
.priv_size = sizeof(FloodfillContext),
{ NULL }
};
-AVFilter ff_vf_format = {
+const AVFilter ff_vf_format = {
.name = "format",
.description = NULL_IF_CONFIG_SMALL("Convert the input video to one of the specified pixel formats."),
{ NULL }
};
-AVFilter ff_vf_noformat = {
+const AVFilter ff_vf_noformat = {
.name = "noformat",
.description = NULL_IF_CONFIG_SMALL("Force libavfilter not to use any of the specified pixel formats for the input to the next filter."),
{ NULL }
};
-AVFilter ff_vf_fps = {
+const AVFilter ff_vf_fps = {
.name = "fps",
.description = NULL_IF_CONFIG_SMALL("Force constant framerate."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_framepack = {
+const AVFilter ff_vf_framepack = {
.name = "framepack",
.description = NULL_IF_CONFIG_SMALL("Generate a frame packed stereoscopic video."),
.priv_size = sizeof(FramepackContext),
{ NULL }
};
-AVFilter ff_vf_framerate = {
+const AVFilter ff_vf_framerate = {
.name = "framerate",
.description = NULL_IF_CONFIG_SMALL("Upsamples or downsamples progressive source between specified frame rates."),
.priv_size = sizeof(FrameRateContext),
{ NULL }
};
-AVFilter ff_vf_framestep = {
+const AVFilter ff_vf_framestep = {
.name = "framestep",
.description = NULL_IF_CONFIG_SMALL("Select one frame every N frames."),
.priv_size = sizeof(FrameStepContext),
{ NULL }
};
-AVFilter ff_vf_freezedetect = {
+const AVFilter ff_vf_freezedetect = {
.name = "freezedetect",
.description = NULL_IF_CONFIG_SMALL("Detects frozen video input."),
.priv_size = sizeof(FreezeDetectContext),
{ NULL },
};
-AVFilter ff_vf_freezeframes = {
+const AVFilter ff_vf_freezeframes = {
.name = "freezeframes",
.description = NULL_IF_CONFIG_SMALL("Freeze video frames."),
.priv_size = sizeof(FreezeFramesContext),
{ NULL }
};
-AVFilter ff_vf_frei0r = {
+const AVFilter ff_vf_frei0r = {
.name = "frei0r",
.description = NULL_IF_CONFIG_SMALL("Apply a frei0r effect."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_vsrc_frei0r_src = {
+const AVFilter ff_vsrc_frei0r_src = {
.name = "frei0r_src",
.description = NULL_IF_CONFIG_SMALL("Generate a frei0r source."),
.priv_size = sizeof(Frei0rContext),
{ NULL }
};
-AVFilter ff_vf_fspp = {
+const AVFilter ff_vf_fspp = {
.name = "fspp",
.description = NULL_IF_CONFIG_SMALL("Apply Fast Simple Post-processing filter."),
.priv_size = sizeof(FSPPContext),
{ NULL }
};
-AVFilter ff_vf_gblur = {
+const AVFilter ff_vf_gblur = {
.name = "gblur",
.description = NULL_IF_CONFIG_SMALL("Apply Gaussian Blur filter."),
.priv_size = sizeof(GBlurContext),
{ NULL }
};
-AVFilter ff_vf_geq = {
+const AVFilter ff_vf_geq = {
.name = "geq",
.description = NULL_IF_CONFIG_SMALL("Apply generic equation to each pixel."),
.priv_size = sizeof(GEQContext),
{ NULL }
};
-AVFilter ff_vf_gradfun = {
+const AVFilter ff_vf_gradfun = {
.name = "gradfun",
.description = NULL_IF_CONFIG_SMALL("Debands video quickly using gradients."),
.priv_size = sizeof(GradFunContext),
{ NULL }
};
-AVFilter ff_vf_hflip = {
+const AVFilter ff_vf_hflip = {
.name = "hflip",
.description = NULL_IF_CONFIG_SMALL("Horizontally flip the input video."),
.priv_size = sizeof(FlipContext),
{ NULL }
};
-AVFilter ff_vf_histeq = {
+const AVFilter ff_vf_histeq = {
.name = "histeq",
.description = NULL_IF_CONFIG_SMALL("Apply global color histogram equalization."),
.priv_size = sizeof(HisteqContext),
#if CONFIG_HISTOGRAM_FILTER
-AVFilter ff_vf_histogram = {
+const AVFilter ff_vf_histogram = {
.name = "histogram",
.description = NULL_IF_CONFIG_SMALL("Compute and draw a histogram."),
.priv_size = sizeof(HistogramContext),
AVFILTER_DEFINE_CLASS(thistogram);
-AVFilter ff_vf_thistogram = {
+const AVFilter ff_vf_thistogram = {
.name = "thistogram",
.description = NULL_IF_CONFIG_SMALL("Compute and draw a temporal histogram."),
.priv_size = sizeof(HistogramContext),
{ NULL }
};
-AVFilter ff_vf_hqdn3d = {
+const AVFilter ff_vf_hqdn3d = {
.name = "hqdn3d",
.description = NULL_IF_CONFIG_SMALL("Apply a High Quality 3D Denoiser."),
.priv_size = sizeof(HQDN3DContext),
{ NULL }
};
-AVFilter ff_vf_hqx = {
+const AVFilter ff_vf_hqx = {
.name = "hqx",
.description = NULL_IF_CONFIG_SMALL("Scale the input by 2, 3 or 4 using the hq*x magnification algorithm."),
.priv_size = sizeof(HQXContext),
{ NULL }
};
-AVFilter ff_vf_hue = {
+const AVFilter ff_vf_hue = {
.name = "hue",
.description = NULL_IF_CONFIG_SMALL("Adjust the hue and saturation of the input video."),
.priv_size = sizeof(HueContext),
{ NULL }
};
-AVFilter ff_vf_hwdownload = {
+const AVFilter ff_vf_hwdownload = {
.name = "hwdownload",
.description = NULL_IF_CONFIG_SMALL("Download a hardware frame to a normal frame"),
.uninit = hwdownload_uninit,
{ NULL }
};
-AVFilter ff_vf_hwmap = {
+const AVFilter ff_vf_hwmap = {
.name = "hwmap",
.description = NULL_IF_CONFIG_SMALL("Map hardware frames"),
.uninit = hwmap_uninit,
{ NULL }
};
-AVFilter ff_vf_hwupload = {
+const AVFilter ff_vf_hwupload = {
.name = "hwupload",
.description = NULL_IF_CONFIG_SMALL("Upload a normal frame to a hardware frame"),
.uninit = hwupload_uninit,
{ NULL }
};
-AVFilter ff_vf_hwupload_cuda = {
+const AVFilter ff_vf_hwupload_cuda = {
.name = "hwupload_cuda",
.description = NULL_IF_CONFIG_SMALL("Upload a system memory frame to a CUDA device."),
{ NULL }
};
-AVFilter ff_vf_hysteresis = {
+const AVFilter ff_vf_hysteresis = {
.name = "hysteresis",
.description = NULL_IF_CONFIG_SMALL("Grow first stream into second stream by connecting components."),
.preinit = hysteresis_framesync_preinit,
#define identity_options options
FRAMESYNC_DEFINE_CLASS(identity, IdentityContext, fs);
-AVFilter ff_vf_identity = {
+const AVFilter ff_vf_identity = {
.name = "identity",
.description = NULL_IF_CONFIG_SMALL("Calculate the Identity between two video streams."),
.preinit = identity_framesync_preinit,
#define msad_options options
FRAMESYNC_DEFINE_CLASS(msad, IdentityContext, fs);
-AVFilter ff_vf_msad = {
+const AVFilter ff_vf_msad = {
.name = "msad",
.description = NULL_IF_CONFIG_SMALL("Calculate the MSAD between two video streams."),
.preinit = msad_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_idet = {
+const AVFilter ff_vf_idet = {
.name = "idet",
.description = NULL_IF_CONFIG_SMALL("Interlace detect Filter."),
.priv_size = sizeof(IDETContext),
{ NULL }
};
-AVFilter ff_vf_il = {
+const AVFilter ff_vf_il = {
.name = "il",
.description = NULL_IF_CONFIG_SMALL("Deinterleave or interleave fields."),
.priv_size = sizeof(IlContext),
};
-AVFilter ff_vf_kerndeint = {
+const AVFilter ff_vf_kerndeint = {
.name = "kerndeint",
.description = NULL_IF_CONFIG_SMALL("Apply kernel deinterlacing to the input."),
.priv_size = sizeof(KerndeintContext),
AVFILTER_DEFINE_CLASS(lagfun);
-AVFilter ff_vf_lagfun = {
+const AVFilter ff_vf_lagfun = {
.name = "lagfun",
.description = NULL_IF_CONFIG_SMALL("Slowly update darker pixels."),
.priv_size = sizeof(LagfunContext),
{ NULL }
};
-AVFilter ff_vf_lenscorrection = {
+const AVFilter ff_vf_lenscorrection = {
.name = "lenscorrection",
.description = NULL_IF_CONFIG_SMALL("Rectify the image by correcting for lens distortion."),
.priv_size = sizeof(LenscorrectionCtx),
{ NULL }
};
-AVFilter ff_vf_lensfun = {
+const AVFilter ff_vf_lensfun = {
.name = "lensfun",
.description = NULL_IF_CONFIG_SMALL("Apply correction to an image based on info derived from the lensfun database."),
.priv_size = sizeof(LensfunContext),
{ NULL }
};
-AVFilter ff_vf_ocv = {
+const AVFilter ff_vf_ocv = {
.name = "ocv",
.description = NULL_IF_CONFIG_SMALL("Apply transform using libopencv."),
.priv_size = sizeof(OCVContext),
{ NULL }
};
-AVFilter ff_vf_libvmaf = {
+const AVFilter ff_vf_libvmaf = {
.name = "libvmaf",
.description = NULL_IF_CONFIG_SMALL("Calculate the VMAF between two video streams."),
.preinit = libvmaf_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_limiter = {
+const AVFilter ff_vf_limiter = {
.name = "limiter",
.description = NULL_IF_CONFIG_SMALL("Limit pixels components to the specified range."),
.priv_size = sizeof(LimiterContext),
AVFILTER_DEFINE_CLASS(lumakey);
-AVFilter ff_vf_lumakey = {
+const AVFilter ff_vf_lumakey = {
.name = "lumakey",
.description = NULL_IF_CONFIG_SMALL("Turns a certain luma into transparency."),
.priv_size = sizeof(LumakeyContext),
};
#define DEFINE_LUT_FILTER(name_, description_) \
- AVFilter ff_vf_##name_ = { \
+ const AVFilter ff_vf_##name_ = { \
.name = #name_, \
.description = NULL_IF_CONFIG_SMALL(description_), \
.priv_size = sizeof(LutContext), \
FRAMESYNC_DEFINE_CLASS(lut2, LUT2Context, fs);
-AVFilter ff_vf_lut2 = {
+const AVFilter ff_vf_lut2 = {
.name = "lut2",
.description = NULL_IF_CONFIG_SMALL("Compute and apply a lookup table from two video inputs."),
.preinit = lut2_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_tlut2 = {
+const AVFilter ff_vf_tlut2 = {
.name = "tlut2",
.description = NULL_IF_CONFIG_SMALL("Compute and apply a lookup table from two successive frames."),
.priv_size = sizeof(LUT2Context),
{ NULL }
};
-AVFilter ff_vf_lut3d = {
+const AVFilter ff_vf_lut3d = {
.name = "lut3d",
.description = NULL_IF_CONFIG_SMALL("Adjust colors using a 3D LUT."),
.priv_size = sizeof(LUT3DContext),
{ NULL }
};
-AVFilter ff_vf_haldclut = {
+const AVFilter ff_vf_haldclut = {
.name = "haldclut",
.description = NULL_IF_CONFIG_SMALL("Adjust colors using a Hald CLUT."),
.priv_size = sizeof(LUT3DContext),
{ NULL }
};
-AVFilter ff_vf_lut1d = {
+const AVFilter ff_vf_lut1d = {
.name = "lut1d",
.description = NULL_IF_CONFIG_SMALL("Adjust colors using a 1D LUT."),
.priv_size = sizeof(LUT1DContext),
{ NULL }
};
-AVFilter ff_vf_maskedclamp = {
+const AVFilter ff_vf_maskedclamp = {
.name = "maskedclamp",
.description = NULL_IF_CONFIG_SMALL("Clamp first stream with second stream and third stream."),
.priv_size = sizeof(MaskedClampContext),
{ NULL }
};
-AVFilter ff_vf_maskedmerge = {
+const AVFilter ff_vf_maskedmerge = {
.name = "maskedmerge",
.description = NULL_IF_CONFIG_SMALL("Merge first stream with second stream using third stream as mask."),
.priv_size = sizeof(MaskedMergeContext),
#define maskedmin_options maskedminmax_options
AVFILTER_DEFINE_CLASS(maskedmin);
-AVFilter ff_vf_maskedmin = {
+const AVFilter ff_vf_maskedmin = {
.name = "maskedmin",
.description = NULL_IF_CONFIG_SMALL("Apply filtering with minimum difference of two streams."),
.priv_class = &maskedmin_class,
#define maskedmax_options maskedminmax_options
AVFILTER_DEFINE_CLASS(maskedmax);
-AVFilter ff_vf_maskedmax = {
+const AVFilter ff_vf_maskedmax = {
.name = "maskedmax",
.description = NULL_IF_CONFIG_SMALL("Apply filtering with maximum difference of two streams."),
.priv_class = &maskedmax_class,
AVFILTER_DEFINE_CLASS(maskedthreshold);
-AVFilter ff_vf_maskedthreshold = {
+const AVFilter ff_vf_maskedthreshold = {
.name = "maskedthreshold",
.description = NULL_IF_CONFIG_SMALL("Pick pixels comparing absolute difference of two streams with threshold."),
.priv_class = &maskedthreshold_class,
{ NULL }
};
-AVFilter ff_vf_maskfun = {
+const AVFilter ff_vf_maskfun = {
.name = "maskfun",
.description = NULL_IF_CONFIG_SMALL("Create Mask."),
.priv_size = sizeof(MaskFunContext),
{ NULL }
};
-AVFilter ff_vf_mcdeint = {
+const AVFilter ff_vf_mcdeint = {
.name = "mcdeint",
.description = NULL_IF_CONFIG_SMALL("Apply motion compensating deinterlacing."),
.priv_size = sizeof(MCDeintContext),
{ NULL }
};
-AVFilter ff_vf_median = {
+const AVFilter ff_vf_median = {
.name = "median",
.description = NULL_IF_CONFIG_SMALL("Apply Median filter."),
.priv_size = sizeof(MedianContext),
{ NULL }
};
-AVFilter ff_vf_mergeplanes = {
+const AVFilter ff_vf_mergeplanes = {
.name = "mergeplanes",
.description = NULL_IF_CONFIG_SMALL("Merge planes."),
.priv_size = sizeof(MergePlanesContext),
{ NULL }
};
-AVFilter ff_vf_mestimate = {
+const AVFilter ff_vf_mestimate = {
.name = "mestimate",
.description = NULL_IF_CONFIG_SMALL("Generate motion vectors."),
.priv_size = sizeof(MEContext),
{ NULL }
};
-AVFilter ff_vf_midequalizer = {
+const AVFilter ff_vf_midequalizer = {
.name = "midequalizer",
.description = NULL_IF_CONFIG_SMALL("Apply Midway Equalization."),
.priv_size = sizeof(MidEqualizerContext),
{ NULL }
};
-AVFilter ff_vf_minterpolate = {
+const AVFilter ff_vf_minterpolate = {
.name = "minterpolate",
.description = NULL_IF_CONFIG_SMALL("Frame rate conversion using Motion Interpolation."),
.priv_size = sizeof(MIContext),
{ NULL }
};
-AVFilter ff_vf_denoise_vaapi = {
+const AVFilter ff_vf_denoise_vaapi = {
.name = "denoise_vaapi",
.description = NULL_IF_CONFIG_SMALL("VAAPI VPP for de-noise"),
.priv_size = sizeof(DenoiseVAAPIContext),
.flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
};
-AVFilter ff_vf_sharpness_vaapi = {
+const AVFilter ff_vf_sharpness_vaapi = {
.name = "sharpness_vaapi",
.description = NULL_IF_CONFIG_SMALL("VAAPI VPP for sharpness"),
.priv_size = sizeof(SharpnessVAAPIContext),
#if CONFIG_MIX_FILTER
AVFILTER_DEFINE_CLASS(mix);
-AVFilter ff_vf_mix = {
+const AVFilter ff_vf_mix = {
.name = "mix",
.description = NULL_IF_CONFIG_SMALL("Mix video inputs."),
.priv_size = sizeof(MixContext),
AVFILTER_DEFINE_CLASS(tmix);
-AVFilter ff_vf_tmix = {
+const AVFilter ff_vf_tmix = {
.name = "tmix",
.description = NULL_IF_CONFIG_SMALL("Mix successive video frames."),
.priv_size = sizeof(MixContext),
AVFILTER_DEFINE_CLASS(monochrome);
-AVFilter ff_vf_monochrome = {
+const AVFilter ff_vf_monochrome = {
.name = "monochrome",
.description = NULL_IF_CONFIG_SMALL("Convert video to gray using custom color filter."),
.priv_size = sizeof(MonochromeContext),
{ NULL }
};
-AVFilter ff_vf_mpdecimate = {
+const AVFilter ff_vf_mpdecimate = {
.name = "mpdecimate",
.description = NULL_IF_CONFIG_SMALL("Remove near-duplicate frames."),
.init = init,
#define DEFINE_NEIGHBOR_FILTER(name_, description_) \
AVFILTER_DEFINE_CLASS(name_); \
\
-AVFilter ff_vf_##name_ = { \
+const AVFilter ff_vf_##name_ = { \
.name = #name_, \
.description = NULL_IF_CONFIG_SMALL(description_), \
.priv_size = sizeof(NContext), \
AVFILTER_DEFINE_CLASS(erosion_opencl);
-AVFilter ff_vf_erosion_opencl = {
+const AVFilter ff_vf_erosion_opencl = {
.name = "erosion_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply erosion effect"),
.priv_size = sizeof(NeighborOpenCLContext),
AVFILTER_DEFINE_CLASS(dilation_opencl);
-AVFilter ff_vf_dilation_opencl = {
+const AVFilter ff_vf_dilation_opencl = {
.name = "dilation_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply dilation effect"),
.priv_size = sizeof(NeighborOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_nlmeans = {
+const AVFilter ff_vf_nlmeans = {
.name = "nlmeans",
.description = NULL_IF_CONFIG_SMALL("Non-local means denoiser."),
.priv_size = sizeof(NLMeansContext),
{ NULL }
};
-AVFilter ff_vf_nlmeans_opencl = {
+const AVFilter ff_vf_nlmeans_opencl = {
.name = "nlmeans_opencl",
.description = NULL_IF_CONFIG_SMALL("Non-local means denoiser through OpenCL"),
.priv_size = sizeof(NLMeansOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_nnedi = {
+const AVFilter ff_vf_nnedi = {
.name = "nnedi",
.description = NULL_IF_CONFIG_SMALL("Apply neural network edge directed interpolation intra-only deinterlacer."),
.priv_size = sizeof(NNEDIContext),
{ NULL }
};
-AVFilter ff_vf_noise = {
+const AVFilter ff_vf_noise = {
.name = "noise",
.description = NULL_IF_CONFIG_SMALL("Add noise."),
.priv_size = sizeof(NoiseContext),
{ NULL }
};
-AVFilter ff_vf_normalize = {
+const AVFilter ff_vf_normalize = {
.name = "normalize",
.description = NULL_IF_CONFIG_SMALL("Normalize RGB video."),
.priv_size = sizeof(NormalizeContext),
{ NULL }
};
-AVFilter ff_vf_null = {
+const AVFilter ff_vf_null = {
.name = "null",
.description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."),
.inputs = avfilter_vf_null_inputs,
{ NULL }
};
-AVFilter ff_vf_ocr = {
+const AVFilter ff_vf_ocr = {
.name = "ocr",
.description = NULL_IF_CONFIG_SMALL("Optical Character Recognition."),
.priv_size = sizeof(OCRContext),
{ NULL }
};
-AVFilter ff_vf_overlay = {
+const AVFilter ff_vf_overlay = {
.name = "overlay",
.description = NULL_IF_CONFIG_SMALL("Overlay a video source on top of the input."),
.preinit = overlay_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_overlay_cuda = {
+const AVFilter ff_vf_overlay_cuda = {
.name = "overlay_cuda",
.description = NULL_IF_CONFIG_SMALL("Overlay one video on top of another using CUDA"),
.priv_size = sizeof(OverlayCUDAContext),
{ NULL }
};
-AVFilter ff_vf_overlay_opencl = {
+const AVFilter ff_vf_overlay_opencl = {
.name = "overlay_opencl",
.description = NULL_IF_CONFIG_SMALL("Overlay one video on top of another"),
.priv_size = sizeof(OverlayOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_overlay_qsv = {
+const AVFilter ff_vf_overlay_qsv = {
.name = "overlay_qsv",
.description = NULL_IF_CONFIG_SMALL("Quick Sync Video overlay."),
.priv_size = sizeof(QSVOverlayContext),
{ NULL }
};
-AVFilter ff_vf_overlay_vulkan = {
+const AVFilter ff_vf_overlay_vulkan = {
.name = "overlay_vulkan",
.description = NULL_IF_CONFIG_SMALL("Overlay a source on top of another"),
.priv_size = sizeof(OverlayVulkanContext),
{ NULL }
};
-AVFilter ff_vf_owdenoise = {
+const AVFilter ff_vf_owdenoise = {
.name = "owdenoise",
.description = NULL_IF_CONFIG_SMALL("Denoise using wavelets."),
.priv_size = sizeof(OWDenoiseContext),
{ NULL }
};
-AVFilter ff_vf_pad = {
+const AVFilter ff_vf_pad = {
.name = "pad",
.description = NULL_IF_CONFIG_SMALL("Pad the input video."),
.priv_size = sizeof(PadContext),
AVFILTER_DEFINE_CLASS(pad_opencl);
-AVFilter ff_vf_pad_opencl = {
+const AVFilter ff_vf_pad_opencl = {
.name = "pad_opencl",
.description = NULL_IF_CONFIG_SMALL("Pad the input video."),
.priv_size = sizeof(PadOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_palettegen = {
+const AVFilter ff_vf_palettegen = {
.name = "palettegen",
.description = NULL_IF_CONFIG_SMALL("Find the optimal palette for a given stream."),
.priv_size = sizeof(PaletteGenContext),
{ NULL }
};
-AVFilter ff_vf_paletteuse = {
+const AVFilter ff_vf_paletteuse = {
.name = "paletteuse",
.description = NULL_IF_CONFIG_SMALL("Use a palette to downsample an input video stream."),
.priv_size = sizeof(PaletteUseContext),
{ NULL }
};
-AVFilter ff_vf_perspective = {
+const AVFilter ff_vf_perspective = {
.name = "perspective",
.description = NULL_IF_CONFIG_SMALL("Correct the perspective of video."),
.priv_size = sizeof(PerspectiveContext),
{ NULL }
};
-AVFilter ff_vf_phase = {
+const AVFilter ff_vf_phase = {
.name = "phase",
.description = NULL_IF_CONFIG_SMALL("Phase shift fields."),
.priv_size = sizeof(PhaseContext),
{ NULL }
};
-AVFilter ff_vf_photosensitivity = {
+const AVFilter ff_vf_photosensitivity = {
.name = "photosensitivity",
.description = NULL_IF_CONFIG_SMALL("Filter out photosensitive epilepsy seizure-inducing flashes."),
.priv_size = sizeof(PhotosensitivityContext),
{ NULL }
};
-AVFilter ff_vf_pixdesctest = {
+const AVFilter ff_vf_pixdesctest = {
.name = "pixdesctest",
.description = NULL_IF_CONFIG_SMALL("Test pixel format definitions."),
.priv_size = sizeof(PixdescTestContext),
{ NULL }
};
-AVFilter ff_vf_pp = {
+const AVFilter ff_vf_pp = {
.name = "pp",
.description = NULL_IF_CONFIG_SMALL("Filter video using libpostproc."),
.priv_size = sizeof(PPFilterContext),
{ NULL }
};
-AVFilter ff_vf_pp7 = {
+const AVFilter ff_vf_pp7 = {
.name = "pp7",
.description = NULL_IF_CONFIG_SMALL("Apply Postprocessing 7 filter."),
.priv_size = sizeof(PP7Context),
#if CONFIG_PREMULTIPLY_FILTER
-AVFilter ff_vf_premultiply = {
+const AVFilter ff_vf_premultiply = {
.name = "premultiply",
.description = NULL_IF_CONFIG_SMALL("PreMultiply first stream with first plane of second stream."),
.priv_size = sizeof(PreMultiplyContext),
#define unpremultiply_options options
AVFILTER_DEFINE_CLASS(unpremultiply);
-AVFilter ff_vf_unpremultiply = {
+const AVFilter ff_vf_unpremultiply = {
.name = "unpremultiply",
.description = NULL_IF_CONFIG_SMALL("UnPreMultiply first stream with first plane of second stream."),
.priv_size = sizeof(PreMultiplyContext),
{ NULL }
};
-AVFilter ff_vf_procamp_vaapi = {
+const AVFilter ff_vf_procamp_vaapi = {
.name = "procamp_vaapi",
.description = NULL_IF_CONFIG_SMALL("ProcAmp (color balance) adjustments for hue, saturation, brightness, contrast"),
.priv_size = sizeof(ProcampVAAPIContext),
{ NULL }
};
-AVFilter ff_vf_program_opencl = {
+const AVFilter ff_vf_program_opencl = {
.name = "program_opencl",
.description = NULL_IF_CONFIG_SMALL("Filter video using an OpenCL program"),
.priv_size = sizeof(ProgramOpenCLContext),
{ NULL }
};
-AVFilter ff_vsrc_openclsrc = {
+const AVFilter ff_vsrc_openclsrc = {
.name = "openclsrc",
.description = NULL_IF_CONFIG_SMALL("Generate video using an OpenCL program"),
.priv_size = sizeof(ProgramOpenCLContext),
AVFILTER_DEFINE_CLASS(pseudocolor);
-AVFilter ff_vf_pseudocolor = {
+const AVFilter ff_vf_pseudocolor = {
.name = "pseudocolor",
.description = NULL_IF_CONFIG_SMALL("Make pseudocolored video frames."),
.priv_size = sizeof(PseudoColorContext),
{ NULL }
};
-AVFilter ff_vf_psnr = {
+const AVFilter ff_vf_psnr = {
.name = "psnr",
.description = NULL_IF_CONFIG_SMALL("Calculate the PSNR between two video streams."),
.preinit = psnr_framesync_preinit,
{ NULL }
};
-AVFilter ff_vf_pullup = {
+const AVFilter ff_vf_pullup = {
.name = "pullup",
.description = NULL_IF_CONFIG_SMALL("Pullup from field sequence to frames."),
.priv_size = sizeof(PullupContext),
{ NULL }
};
-AVFilter ff_vf_qp = {
+const AVFilter ff_vf_qp = {
.name = "qp",
.description = NULL_IF_CONFIG_SMALL("Change video quantization parameters."),
.priv_size = sizeof(QPContext),
{ NULL }
};
-AVFilter ff_vf_random = {
+const AVFilter ff_vf_random = {
.name = "random",
.description = NULL_IF_CONFIG_SMALL("Return random frames."),
.priv_size = sizeof(RandomContext),
{ NULL }
};
-AVFilter ff_vf_readeia608 = {
+const AVFilter ff_vf_readeia608 = {
.name = "readeia608",
.description = NULL_IF_CONFIG_SMALL("Read EIA-608 Closed Caption codes from input video and write them to frame metadata."),
.priv_size = sizeof(ReadEIA608Context),
{ NULL }
};
-AVFilter ff_vf_readvitc = {
+const AVFilter ff_vf_readvitc = {
.name = "readvitc",
.description = NULL_IF_CONFIG_SMALL("Read vertical interval timecode and write it to frame metadata."),
.priv_size = sizeof(ReadVitcContext),
{ NULL }
};
-AVFilter ff_vf_remap = {
+const AVFilter ff_vf_remap = {
.name = "remap",
.description = NULL_IF_CONFIG_SMALL("Remap pixels."),
.priv_size = sizeof(RemapContext),
{ NULL }
};
-AVFilter ff_vf_removegrain = {
+const AVFilter ff_vf_removegrain = {
.name = "removegrain",
.description = NULL_IF_CONFIG_SMALL("Remove grain."),
.priv_size = sizeof(RemoveGrainContext),
{ NULL }
};
-AVFilter ff_vf_removelogo = {
+const AVFilter ff_vf_removelogo = {
.name = "removelogo",
.description = NULL_IF_CONFIG_SMALL("Remove a TV logo based on a mask image."),
.priv_size = sizeof(RemovelogoContext),
{ NULL }
};
-AVFilter ff_vf_repeatfields = {
+const AVFilter ff_vf_repeatfields = {
.name = "repeatfields",
.description = NULL_IF_CONFIG_SMALL("Hard repeat fields based on MPEG repeat field flag."),
.priv_size = sizeof(RepeatFieldsContext),
{ NULL }
};
-AVFilter ff_vf_rotate = {
+const AVFilter ff_vf_rotate = {
.name = "rotate",
.description = NULL_IF_CONFIG_SMALL("Rotate the input image."),
.priv_size = sizeof(RotContext),
{ NULL }
};
-AVFilter ff_vf_sab = {
+const AVFilter ff_vf_sab = {
.name = "sab",
.description = NULL_IF_CONFIG_SMALL("Apply shape adaptive blur."),
.priv_size = sizeof(SabContext),
} ScaleContext;
-AVFilter ff_vf_scale2ref;
+const AVFilter ff_vf_scale2ref;
static int config_props(AVFilterLink *outlink);
{ NULL }
};
-AVFilter ff_vf_scale = {
+const AVFilter ff_vf_scale = {
.name = "scale",
.description = NULL_IF_CONFIG_SMALL("Scale the input video size and/or convert the image format."),
.init_dict = init_dict,
{ NULL }
};
-AVFilter ff_vf_scale2ref = {
+const AVFilter ff_vf_scale2ref = {
.name = "scale2ref",
.description = NULL_IF_CONFIG_SMALL("Scale the input video size and/or convert the image format to the given reference."),
.init_dict = init_dict,
{ NULL }
};
-AVFilter ff_vf_scale_cuda = {
+const AVFilter ff_vf_scale_cuda = {
.name = "scale_cuda",
.description = NULL_IF_CONFIG_SMALL("GPU accelerated video resizer"),
{ NULL }
};
-AVFilter ff_vf_scale_npp = {
+const AVFilter ff_vf_scale_npp = {
.name = "scale_npp",
.description = NULL_IF_CONFIG_SMALL("NVIDIA Performance Primitives video "
"scaling and format conversion"),
{ NULL }
};
-AVFilter ff_vf_scale_qsv = {
+const AVFilter ff_vf_scale_qsv = {
.name = "scale_qsv",
.description = NULL_IF_CONFIG_SMALL("QuickSync video scaling and format conversion"),
{ NULL }
};
-AVFilter ff_vf_scale_vaapi = {
+const AVFilter ff_vf_scale_vaapi = {
.name = "scale_vaapi",
.description = NULL_IF_CONFIG_SMALL("Scale to/from VAAPI surfaces."),
.priv_size = sizeof(ScaleVAAPIContext),
{ NULL }
};
-AVFilter ff_vf_scale_vulkan = {
+const AVFilter ff_vf_scale_vulkan = {
.name = "scale_vulkan",
.description = NULL_IF_CONFIG_SMALL("Scale Vulkan frames"),
.priv_size = sizeof(ScaleVulkanContext),
{ NULL }
};
-AVFilter ff_vf_scdet = {
+const AVFilter ff_vf_scdet = {
.name = "scdet",
.description = NULL_IF_CONFIG_SMALL("Detect video scene change"),
.priv_size = sizeof(SCDetContext),
{ NULL }
};
-AVFilter ff_vf_scroll = {
+const AVFilter ff_vf_scroll = {
.name = "scroll",
.description = NULL_IF_CONFIG_SMALL("Scroll input video."),
.priv_size = sizeof(ScrollContext),
{ NULL }
};
-AVFilter ff_vf_selectivecolor = {
+const AVFilter ff_vf_selectivecolor = {
.name = "selectivecolor",
.description = NULL_IF_CONFIG_SMALL("Apply CMYK adjustments to specific color ranges."),
.priv_size = sizeof(SelectiveColorContext),
{ NULL }
};
-AVFilter ff_vf_separatefields = {
+const AVFilter ff_vf_separatefields = {
.name = "separatefields",
.description = NULL_IF_CONFIG_SMALL("Split input video frames into fields."),
.priv_size = sizeof(SeparateFieldsContext),
{ NULL }
};
-AVFilter ff_vf_setparams = {
+const AVFilter ff_vf_setparams = {
.name = "setparams",
.description = NULL_IF_CONFIG_SMALL("Force field, or color property for the output video frame."),
.priv_size = sizeof(SetParamsContext),
return 0;
}
-AVFilter ff_vf_setrange = {
+const AVFilter ff_vf_setrange = {
.name = "setrange",
.description = NULL_IF_CONFIG_SMALL("Force color range for the output video frame."),
.priv_size = sizeof(SetParamsContext),
return 0;
}
-AVFilter ff_vf_setfield = {
+const AVFilter ff_vf_setfield = {
.name = "setfield",
.description = NULL_IF_CONFIG_SMALL("Force field for the output video frame."),
.priv_size = sizeof(SetParamsContext),
{ NULL }
};
-AVFilter ff_vf_shear = {
+const AVFilter ff_vf_shear = {
.name = "shear",
.description = NULL_IF_CONFIG_SMALL("Shear transform the input image."),
.priv_size = sizeof(ShearContext),
{ NULL }
};
-AVFilter ff_vf_showinfo = {
+const AVFilter ff_vf_showinfo = {
.name = "showinfo",
.description = NULL_IF_CONFIG_SMALL("Show textual information for each video frame."),
.inputs = avfilter_vf_showinfo_inputs,
{ NULL }
};
-AVFilter ff_vf_showpalette = {
+const AVFilter ff_vf_showpalette = {
.name = "showpalette",
.description = NULL_IF_CONFIG_SMALL("Display frame palette."),
.priv_size = sizeof(ShowPaletteContext),
{ NULL },
};
-AVFilter ff_vf_shuffleframes = {
+const AVFilter ff_vf_shuffleframes = {
.name = "shuffleframes",
.description = NULL_IF_CONFIG_SMALL("Shuffle video frames."),
.priv_size = sizeof(ShuffleFramesContext),
{ NULL },
};
-AVFilter ff_vf_shufflepixels = {
+const AVFilter ff_vf_shufflepixels = {
.name = "shufflepixels",
.description = NULL_IF_CONFIG_SMALL("Shuffle video pixels."),
.priv_size = sizeof(ShufflePixelsContext),
{ NULL },
};
-AVFilter ff_vf_shuffleplanes = {
+const AVFilter ff_vf_shuffleplanes = {
.name = "shuffleplanes",
.description = NULL_IF_CONFIG_SMALL("Shuffle video planes."),
.priv_size = sizeof(ShufflePlanesContext),
{ NULL }
};
-AVFilter ff_vf_signalstats = {
+const AVFilter ff_vf_signalstats = {
.name = "signalstats",
.description = "Generate statistics from video analysis.",
.init = init,
{ NULL }
};
-AVFilter ff_vf_signature = {
+const AVFilter ff_vf_signature = {
.name = "signature",
.description = NULL_IF_CONFIG_SMALL("Calculate the MPEG-7 video signature"),
.priv_size = sizeof(SignatureContext),
{ NULL }
};
-AVFilter ff_vf_smartblur = {
+const AVFilter ff_vf_smartblur = {
.name = "smartblur",
.description = NULL_IF_CONFIG_SMALL("Blur the input video without impacting the outlines."),
.priv_size = sizeof(SmartblurContext),
{ NULL }
};
-AVFilter ff_vf_spp = {
+const AVFilter ff_vf_spp = {
.name = "spp",
.description = NULL_IF_CONFIG_SMALL("Apply a simple post processing filter."),
.priv_size = sizeof(SPPContext),
{ NULL }
};
-AVFilter ff_vf_sr = {
+const AVFilter ff_vf_sr = {
.name = "sr",
.description = NULL_IF_CONFIG_SMALL("Apply DNN-based image super resolution to the input."),
.priv_size = sizeof(SRContext),
{ NULL }
};
-AVFilter ff_vf_ssim = {
+const AVFilter ff_vf_ssim = {
.name = "ssim",
.description = NULL_IF_CONFIG_SMALL("Calculate the SSIM between two video streams."),
.preinit = ssim_framesync_preinit,
#define hstack_options stack_options
AVFILTER_DEFINE_CLASS(hstack);
-AVFilter ff_vf_hstack = {
+const AVFilter ff_vf_hstack = {
.name = "hstack",
.description = NULL_IF_CONFIG_SMALL("Stack video inputs horizontally."),
.priv_size = sizeof(StackContext),
#define vstack_options stack_options
AVFILTER_DEFINE_CLASS(vstack);
-AVFilter ff_vf_vstack = {
+const AVFilter ff_vf_vstack = {
.name = "vstack",
.description = NULL_IF_CONFIG_SMALL("Stack video inputs vertically."),
.priv_size = sizeof(StackContext),
AVFILTER_DEFINE_CLASS(xstack);
-AVFilter ff_vf_xstack = {
+const AVFilter ff_vf_xstack = {
.name = "xstack",
.description = NULL_IF_CONFIG_SMALL("Stack video inputs into custom layout."),
.priv_size = sizeof(StackContext),
{ NULL }
};
-AVFilter ff_vf_stereo3d = {
+const AVFilter ff_vf_stereo3d = {
.name = "stereo3d",
.description = NULL_IF_CONFIG_SMALL("Convert video stereoscopic 3D view."),
.priv_size = sizeof(Stereo3DContext),
return 0;
}
-AVFilter ff_vf_ass = {
+const AVFilter ff_vf_ass = {
.name = "ass",
.description = NULL_IF_CONFIG_SMALL("Render ASS subtitles onto input video using the libass library."),
.priv_size = sizeof(AssContext),
return ret;
}
-AVFilter ff_vf_subtitles = {
+const AVFilter ff_vf_subtitles = {
.name = "subtitles",
.description = NULL_IF_CONFIG_SMALL("Render text subtitles onto input video using the libass library."),
.priv_size = sizeof(AssContext),
{ NULL }
};
-AVFilter ff_vf_super2xsai = {
+const AVFilter ff_vf_super2xsai = {
.name = "super2xsai",
.description = NULL_IF_CONFIG_SMALL("Scale the input by 2x using the Super2xSaI pixel art algorithm."),
.priv_size = sizeof(Super2xSaIContext),
{ NULL }
};
-AVFilter ff_vf_swaprect = {
+const AVFilter ff_vf_swaprect = {
.name = "swaprect",
.description = NULL_IF_CONFIG_SMALL("Swap 2 rectangular objects in video."),
.priv_size = sizeof(SwapRectContext),
{ NULL }
};
-AVFilter ff_vf_swapuv = {
+const AVFilter ff_vf_swapuv = {
.name = "swapuv",
.description = NULL_IF_CONFIG_SMALL("Swap U and V components."),
.query_formats = query_formats,
{ NULL }
};
-AVFilter ff_vf_telecine = {
+const AVFilter ff_vf_telecine = {
.name = "telecine",
.description = NULL_IF_CONFIG_SMALL("Apply a telecine pattern."),
.priv_size = sizeof(TelecineContext),
{ NULL }
};
-AVFilter ff_vf_threshold = {
+const AVFilter ff_vf_threshold = {
.name = "threshold",
.description = NULL_IF_CONFIG_SMALL("Threshold first video stream using other video streams."),
.priv_size = sizeof(ThresholdContext),
{ NULL }
};
-AVFilter ff_vf_thumbnail = {
+const AVFilter ff_vf_thumbnail = {
.name = "thumbnail",
.description = NULL_IF_CONFIG_SMALL("Select the most representative frame in a given sequence of consecutive frames."),
.priv_size = sizeof(ThumbContext),
{ NULL }
};
-AVFilter ff_vf_thumbnail_cuda = {
+const AVFilter ff_vf_thumbnail_cuda = {
.name = "thumbnail_cuda",
.description = NULL_IF_CONFIG_SMALL("Select the most representative frame in a given sequence of consecutive frames."),
.priv_size = sizeof(ThumbnailCudaContext),
{ NULL }
};
-AVFilter ff_vf_tile = {
+const AVFilter ff_vf_tile = {
.name = "tile",
.description = NULL_IF_CONFIG_SMALL("Tile several successive frames together."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_tinterlace = {
+const AVFilter ff_vf_tinterlace = {
.name = "tinterlace",
.description = NULL_IF_CONFIG_SMALL("Perform temporal field interlacing."),
.priv_size = sizeof(TInterlaceContext),
};
-AVFilter ff_vf_interlace = {
+const AVFilter ff_vf_interlace = {
.name = "interlace",
.description = NULL_IF_CONFIG_SMALL("Convert progressive video into interlaced."),
.priv_size = sizeof(TInterlaceContext),
{ NULL }
};
-AVFilter ff_vf_tmidequalizer = {
+const AVFilter ff_vf_tmidequalizer = {
.name = "tmidequalizer",
.description = NULL_IF_CONFIG_SMALL("Apply Temporal Midway Equalization."),
.priv_size = sizeof(TMidEqualizerContext),
{ NULL }
};
-AVFilter ff_vf_tonemap = {
+const AVFilter ff_vf_tonemap = {
.name = "tonemap",
.description = NULL_IF_CONFIG_SMALL("Conversion to/from different dynamic ranges."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_tonemap_opencl = {
+const AVFilter ff_vf_tonemap_opencl = {
.name = "tonemap_opencl",
.description = NULL_IF_CONFIG_SMALL("Perform HDR to SDR conversion with tonemapping."),
.priv_size = sizeof(TonemapOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_tonemap_vaapi = {
+const AVFilter ff_vf_tonemap_vaapi = {
.name = "tonemap_vaapi",
.description = NULL_IF_CONFIG_SMALL("VAAPI VPP for tone-mapping"),
.priv_size = sizeof(HDRVAAPIContext),
{ NULL }
};
-AVFilter ff_vf_tpad = {
+const AVFilter ff_vf_tpad = {
.name = "tpad",
.description = NULL_IF_CONFIG_SMALL("Temporarily pad video frames."),
.priv_size = sizeof(TPadContext),
{ NULL }
};
-AVFilter ff_vf_transpose = {
+const AVFilter ff_vf_transpose = {
.name = "transpose",
.description = NULL_IF_CONFIG_SMALL("Transpose input video."),
.priv_size = sizeof(TransContext),
{ NULL }
};
-AVFilter ff_vf_transpose_npp = {
+const AVFilter ff_vf_transpose_npp = {
.name = "transpose_npp",
.description = NULL_IF_CONFIG_SMALL("NVIDIA Performance Primitives video transpose"),
.init = npptranspose_init,
{ NULL }
};
-AVFilter ff_vf_transpose_opencl = {
+const AVFilter ff_vf_transpose_opencl = {
.name = "transpose_opencl",
.description = NULL_IF_CONFIG_SMALL("Transpose input video"),
.priv_size = sizeof(TransposeOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_transpose_vaapi = {
+const AVFilter ff_vf_transpose_vaapi = {
.name = "transpose_vaapi",
.description = NULL_IF_CONFIG_SMALL("VAAPI VPP for transpose"),
.priv_size = sizeof(TransposeVAAPIContext),
{ NULL }
};
-AVFilter ff_vf_unsharp = {
+const AVFilter ff_vf_unsharp = {
.name = "unsharp",
.description = NULL_IF_CONFIG_SMALL("Sharpen or blur the input video."),
.priv_size = sizeof(UnsharpContext),
{ NULL }
};
-AVFilter ff_vf_unsharp_opencl = {
+const AVFilter ff_vf_unsharp_opencl = {
.name = "unsharp_opencl",
.description = NULL_IF_CONFIG_SMALL("Apply unsharp mask to input video"),
.priv_size = sizeof(UnsharpOpenCLContext),
{ NULL }
};
-AVFilter ff_vf_untile = {
+const AVFilter ff_vf_untile = {
.name = "untile",
.description = NULL_IF_CONFIG_SMALL("Untile a frame into a sequence of frames."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_uspp = {
+const AVFilter ff_vf_uspp = {
.name = "uspp",
.description = NULL_IF_CONFIG_SMALL("Apply Ultra Simple / Slow Post-processing filter."),
.priv_size = sizeof(USPPContext),
{ NULL }
};
-AVFilter ff_vf_v360 = {
+const AVFilter ff_vf_v360 = {
.name = "v360",
.description = NULL_IF_CONFIG_SMALL("Convert 360 projection of video."),
.priv_size = sizeof(V360Context),
{ NULL }
};
-AVFilter ff_vf_vaguedenoiser = {
+const AVFilter ff_vf_vaguedenoiser = {
.name = "vaguedenoiser",
.description = NULL_IF_CONFIG_SMALL("Apply a Wavelet based Denoiser."),
.priv_size = sizeof(VagueDenoiserContext),
{ NULL }
};
-AVFilter ff_vf_vectorscope = {
+const AVFilter ff_vf_vectorscope = {
.name = "vectorscope",
.description = NULL_IF_CONFIG_SMALL("Video vectorscope."),
.priv_size = sizeof(VectorscopeContext),
{ NULL }
};
-AVFilter ff_vf_vflip = {
+const AVFilter ff_vf_vflip = {
.name = "vflip",
.description = NULL_IF_CONFIG_SMALL("Flip the input video vertically."),
.priv_size = sizeof(FlipContext),
{ NULL }
};
-AVFilter ff_vf_vfrdet = {
+const AVFilter ff_vf_vfrdet = {
.name = "vfrdet",
.description = NULL_IF_CONFIG_SMALL("Variable frame rate detect filter."),
.priv_size = sizeof(VFRDETContext),
AVFILTER_DEFINE_CLASS(vibrance);
-AVFilter ff_vf_vibrance = {
+const AVFilter ff_vf_vibrance = {
.name = "vibrance",
.description = NULL_IF_CONFIG_SMALL("Boost or alter saturation."),
.priv_size = sizeof(VibranceContext),
{ NULL }
};
-AVFilter ff_vf_vidstabdetect = {
+const AVFilter ff_vf_vidstabdetect = {
.name = "vidstabdetect",
.description = NULL_IF_CONFIG_SMALL("Extract relative transformations, "
"pass 1 of 2 for stabilization "
{ NULL }
};
-AVFilter ff_vf_vidstabtransform = {
+const AVFilter ff_vf_vidstabtransform = {
.name = "vidstabtransform",
.description = NULL_IF_CONFIG_SMALL("Transform the frames, "
"pass 2 of 2 for stabilization "
{ NULL }
};
-AVFilter ff_vf_vif = {
+const AVFilter ff_vf_vif = {
.name = "vif",
.description = NULL_IF_CONFIG_SMALL("Calculate the VIF between two video streams."),
.uninit = uninit,
{ NULL }
};
-AVFilter ff_vf_vignette = {
+const AVFilter ff_vf_vignette = {
.name = "vignette",
.description = NULL_IF_CONFIG_SMALL("Make or reverse a vignette effect."),
.priv_size = sizeof(VignetteContext),
{ NULL }
};
-AVFilter ff_vf_vmafmotion = {
+const AVFilter ff_vf_vmafmotion = {
.name = "vmafmotion",
.description = NULL_IF_CONFIG_SMALL("Calculate the VMAF Motion score."),
.init = init,
{ NULL }
};
-AVFilter ff_vf_vpp_qsv = {
+const AVFilter ff_vf_vpp_qsv = {
.name = "vpp_qsv",
.description = NULL_IF_CONFIG_SMALL("Quick Sync Video VPP."),
.priv_size = sizeof(VPPContext),
{ NULL }
};
-AVFilter ff_vf_w3fdif = {
+const AVFilter ff_vf_w3fdif = {
.name = "w3fdif",
.description = NULL_IF_CONFIG_SMALL("Apply Martin Weston three field deinterlace."),
.priv_size = sizeof(W3FDIFContext),
{ NULL }
};
-AVFilter ff_vf_waveform = {
+const AVFilter ff_vf_waveform = {
.name = "waveform",
.description = NULL_IF_CONFIG_SMALL("Video waveform monitor."),
.priv_size = sizeof(WaveformContext),
{ NULL }
};
-AVFilter ff_vf_weave = {
+const AVFilter ff_vf_weave = {
.name = "weave",
.description = NULL_IF_CONFIG_SMALL("Weave input video fields into frames."),
.priv_size = sizeof(WeaveContext),
#define doubleweave_options weave_options
AVFILTER_DEFINE_CLASS(doubleweave);
-AVFilter ff_vf_doubleweave = {
+const AVFilter ff_vf_doubleweave = {
.name = "doubleweave",
.description = NULL_IF_CONFIG_SMALL("Weave input video fields into double number of frames."),
.priv_size = sizeof(WeaveContext),
{ NULL }
};
-AVFilter ff_vf_xbr = {
+const AVFilter ff_vf_xbr = {
.name = "xbr",
.description = NULL_IF_CONFIG_SMALL("Scale the input using xBR algorithm."),
.inputs = xbr_inputs,
{ NULL }
};
-AVFilter ff_vf_xfade = {
+const AVFilter ff_vf_xfade = {
.name = "xfade",
.description = NULL_IF_CONFIG_SMALL("Cross fade one video with another video."),
.priv_size = sizeof(XFadeContext),
{ NULL }
};
-AVFilter ff_vf_xfade_opencl = {
+const AVFilter ff_vf_xfade_opencl = {
.name = "xfade_opencl",
.description = NULL_IF_CONFIG_SMALL("Cross fade one video with another video."),
.priv_size = sizeof(XFadeOpenCLContext),
#if CONFIG_XMEDIAN_FILTER
FRAMESYNC_DEFINE_CLASS(xmedian, XMedianContext, fs);
-AVFilter ff_vf_xmedian = {
+const AVFilter ff_vf_xmedian = {
.name = "xmedian",
.description = NULL_IF_CONFIG_SMALL("Pick median pixels from several video inputs."),
.priv_size = sizeof(XMedianContext),
AVFILTER_DEFINE_CLASS(tmedian);
-AVFilter ff_vf_tmedian = {
+const AVFilter ff_vf_tmedian = {
.name = "tmedian",
.description = NULL_IF_CONFIG_SMALL("Pick median pixels from successive frames."),
.priv_size = sizeof(XMedianContext),
{ NULL }
};
-AVFilter ff_vf_yadif = {
+const AVFilter ff_vf_yadif = {
.name = "yadif",
.description = NULL_IF_CONFIG_SMALL("Deinterlace the input image."),
.priv_size = sizeof(YADIFContext),
{ NULL }
};
-AVFilter ff_vf_yadif_cuda = {
+const AVFilter ff_vf_yadif_cuda = {
.name = "yadif_cuda",
.description = NULL_IF_CONFIG_SMALL("Deinterlace CUDA frames"),
.priv_size = sizeof(DeintCUDAContext),
AVFILTER_DEFINE_CLASS(yaepblur);
-AVFilter ff_vf_yaepblur = {
+const AVFilter ff_vf_yaepblur = {
.name = "yaepblur",
.description = NULL_IF_CONFIG_SMALL("Yet another edge preserving blur filter."),
.priv_size = sizeof(YAEPContext),
{ NULL }
};
-AVFilter ff_vf_zoompan = {
+const AVFilter ff_vf_zoompan = {
.name = "zoompan",
.description = NULL_IF_CONFIG_SMALL("Apply Zoom & Pan effect."),
.priv_size = sizeof(ZPContext),
{ NULL }
};
-AVFilter ff_vf_zscale = {
+const AVFilter ff_vf_zscale = {
.name = "zscale",
.description = NULL_IF_CONFIG_SMALL("Apply resizing, colorspace and bit depth conversion."),
.init_dict = init_dict,
{ NULL },
};
-AVFilter ff_vsink_nullsink = {
+const AVFilter ff_vsink_nullsink = {
.name = "nullsink",
.description = NULL_IF_CONFIG_SMALL("Do absolutely nothing with the input video."),
.priv_size = 0,
{ NULL }
};
-AVFilter ff_vsrc_cellauto = {
+const AVFilter ff_vsrc_cellauto = {
.name = "cellauto",
.description = NULL_IF_CONFIG_SMALL("Create pattern generated by an elementary cellular automaton."),
.priv_size = sizeof(CellAutoContext),
{ NULL }
};
-AVFilter ff_vsrc_gradients = {
+const AVFilter ff_vsrc_gradients = {
.name = "gradients",
.description = NULL_IF_CONFIG_SMALL("Draw a gradients."),
.priv_size = sizeof(GradientsContext),
{ NULL}
};
-AVFilter ff_vsrc_life = {
+const AVFilter ff_vsrc_life = {
.name = "life",
.description = NULL_IF_CONFIG_SMALL("Create life."),
.priv_size = sizeof(LifeContext),
{ NULL }
};
-AVFilter ff_vsrc_mandelbrot = {
+const AVFilter ff_vsrc_mandelbrot = {
.name = "mandelbrot",
.description = NULL_IF_CONFIG_SMALL("Render a Mandelbrot fractal."),
.priv_size = sizeof(MBContext),
{ NULL }
};
-AVFilter ff_vsrc_mptestsrc = {
+const AVFilter ff_vsrc_mptestsrc = {
.name = "mptestsrc",
.description = NULL_IF_CONFIG_SMALL("Generate various test pattern."),
.priv_size = sizeof(MPTestContext),
{ NULL }
};
-AVFilter ff_vsrc_sierpinski = {
+const AVFilter ff_vsrc_sierpinski = {
.name = "sierpinski",
.description = NULL_IF_CONFIG_SMALL("Render a Sierpinski fractal."),
.priv_size = sizeof(SierpinskiContext),
{ NULL }
};
-AVFilter ff_vsrc_color = {
+const AVFilter ff_vsrc_color = {
.name = "color",
.description = NULL_IF_CONFIG_SMALL("Provide an uniformly colored input."),
.priv_class = &color_class,
{ NULL }
};
-AVFilter ff_vsrc_haldclutsrc = {
+const AVFilter ff_vsrc_haldclutsrc = {
.name = "haldclutsrc",
.description = NULL_IF_CONFIG_SMALL("Provide an identity Hald CLUT."),
.priv_class = &haldclutsrc_class,
{ NULL },
};
-AVFilter ff_vsrc_nullsrc = {
+const AVFilter ff_vsrc_nullsrc = {
.name = "nullsrc",
.description = NULL_IF_CONFIG_SMALL("Null video source, return unprocessed video frames."),
.init = nullsrc_init,
{ NULL }
};
-AVFilter ff_vsrc_testsrc = {
+const AVFilter ff_vsrc_testsrc = {
.name = "testsrc",
.description = NULL_IF_CONFIG_SMALL("Generate test pattern."),
.priv_size = sizeof(TestSourceContext),
{ NULL }
};
-AVFilter ff_vsrc_testsrc2 = {
+const AVFilter ff_vsrc_testsrc2 = {
.name = "testsrc2",
.description = NULL_IF_CONFIG_SMALL("Generate another test pattern."),
.priv_size = sizeof(TestSourceContext),
{ NULL }
};
-AVFilter ff_vsrc_rgbtestsrc = {
+const AVFilter ff_vsrc_rgbtestsrc = {
.name = "rgbtestsrc",
.description = NULL_IF_CONFIG_SMALL("Generate RGB test pattern."),
.priv_size = sizeof(TestSourceContext),
{ NULL }
};
-AVFilter ff_vsrc_yuvtestsrc = {
+const AVFilter ff_vsrc_yuvtestsrc = {
.name = "yuvtestsrc",
.description = NULL_IF_CONFIG_SMALL("Generate YUV test pattern."),
.priv_size = sizeof(TestSourceContext),
return init(ctx);
}
-AVFilter ff_vsrc_pal75bars = {
+const AVFilter ff_vsrc_pal75bars = {
.name = "pal75bars",
.description = NULL_IF_CONFIG_SMALL("Generate PAL 75% color bars."),
.priv_size = sizeof(TestSourceContext),
return init(ctx);
}
-AVFilter ff_vsrc_pal100bars = {
+const AVFilter ff_vsrc_pal100bars = {
.name = "pal100bars",
.description = NULL_IF_CONFIG_SMALL("Generate PAL 100% color bars."),
.priv_size = sizeof(TestSourceContext),
return init(ctx);
}
-AVFilter ff_vsrc_smptebars = {
+const AVFilter ff_vsrc_smptebars = {
.name = "smptebars",
.description = NULL_IF_CONFIG_SMALL("Generate SMPTE color bars."),
.priv_size = sizeof(TestSourceContext),
return init(ctx);
}
-AVFilter ff_vsrc_smptehdbars = {
+const AVFilter ff_vsrc_smptehdbars = {
.name = "smptehdbars",
.description = NULL_IF_CONFIG_SMALL("Generate SMPTE HD color bars."),
.priv_size = sizeof(TestSourceContext),
{ NULL }
};
-AVFilter ff_vsrc_allyuv = {
+const AVFilter ff_vsrc_allyuv = {
.name = "allyuv",
.description = NULL_IF_CONFIG_SMALL("Generate all yuv colors."),
.priv_size = sizeof(TestSourceContext),
{ NULL }
};
-AVFilter ff_vsrc_allrgb = {
+const AVFilter ff_vsrc_allrgb = {
.name = "allrgb",
.description = NULL_IF_CONFIG_SMALL("Generate all RGB colors."),
.priv_size = sizeof(TestSourceContext),