@@ -335,6 +335,7 @@ static const AVFilterPad avfilter_af_acrusher_outputs[] = {
const AVFilter ff_af_acrusher = {
.name = "acrusher",
.description = NULL_IF_CONFIG_SMALL("Reduce audio bit resolution."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(ACrusherContext),
.priv_class = &acrusher_class,
.uninit = uninit,
@@ -297,5 +297,6 @@ const AVFilter ff_af_adenorm = {
.priv_class = &adenorm_class,
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -379,5 +379,6 @@ const AVFilter ff_af_aemphasis = {
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -281,5 +281,6 @@ const AVFilter ff_af_aexciter = {
FILTER_OUTPUTS(avfilter_af_aexciter_outputs),
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL),
.process_command = process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -348,7 +348,8 @@ const AVFilter ff_af_afade = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.priv_class = &afade_class,
.process_command = process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
#endif /* CONFIG_AFADE_FILTER */
@@ -1404,5 +1404,6 @@ const AVFilter ff_af_afftdn = {
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -949,5 +949,6 @@ const AVFilter ff_af_afir = {
.process_command = process_command,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS |
AVFILTER_FLAG_DYNAMIC_OUTPUTS |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -382,7 +382,8 @@ const AVFilter ff_af_afreqshift = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = ff_filter_process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
static const AVOption aphaseshift_options[] = {
@@ -405,5 +406,6 @@ const AVFilter ff_af_aphaseshift = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = ff_filter_process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -1317,5 +1317,6 @@ const AVFilter ff_af_afwtdn = {
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -242,7 +242,8 @@ const AVFilter ff_af_agate = {
FILTER_OUTPUTS(outputs),
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBL),
.process_command = ff_filter_process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
#endif /* CONFIG_AGATE_FILTER */
@@ -392,6 +393,7 @@ const AVFilter ff_af_sidechaingate = {
FILTER_OUTPUTS(sidechaingate_outputs),
FILTER_QUERY_FUNC(scquery_formats),
.process_command = ff_filter_process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
#endif /* CONFIG_SIDECHAINGATE_FILTER */
@@ -628,5 +628,6 @@ const AVFilter ff_af_amix = {
FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
- .flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_INPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -776,5 +776,6 @@ const AVFilter ff_af_anequalizer = {
.process_command = process_command,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS |
AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -393,5 +393,6 @@ const AVFilter ff_af_anlmdn = {
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -309,6 +309,7 @@ const AVFilter ff_af_anlms = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -654,7 +654,8 @@ const AVFilter ff_af_apsyclip = {
FILTER_OUTPUTS(outputs),
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_FLTP),
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.activate = activate,
.process_command = ff_filter_process_command,
};
@@ -1617,6 +1617,7 @@ const AVFilter ff_af_arnndn = {
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -491,5 +491,6 @@ const AVFilter ff_af_asoftclip = {
.uninit = uninit,
.process_command = ff_filter_process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -224,5 +224,6 @@ const AVFilter ff_af_asubboost = {
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -351,7 +351,8 @@ const AVFilter ff_af_asupercut = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
static const AVOption asubcut_options[] = {
@@ -374,7 +375,8 @@ const AVFilter ff_af_asubcut = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
static const AVOption asuperpass_asuperstop_options[] = {
@@ -399,7 +401,8 @@ const AVFilter ff_af_asuperpass = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
const AVFilter ff_af_asuperstop = {
@@ -413,5 +416,6 @@ const AVFilter ff_af_asuperstop = {
FILTER_SAMPLEFMTS_ARRAY(sample_fmts),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -1174,6 +1174,7 @@ static const AVFilterPad atempo_outputs[] = {
const AVFilter ff_af_atempo = {
.name = "atempo",
.description = NULL_IF_CONFIG_SMALL("Adjust audio tempo."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.init = init,
.uninit = uninit,
.process_command = process_command,
@@ -264,5 +264,6 @@ const AVFilter ff_af_atilt = {
FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -865,6 +865,9 @@ const AVFilter ff_af_##name_ = { \
.name = #name_, \
.description = NULL_IF_CONFIG_SMALL(description_), \
.priv_class = &priv_class_##_class, \
+ .flags = AVFILTER_FLAG_SLICE_THREADS | \
+ AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | \
+ AVFILTER_FLAG_SUPPORT_COMMANDS, \
.priv_size = sizeof(BiquadsContext), \
.init = name_##_init, \
.uninit = uninit, \
@@ -872,7 +875,6 @@ const AVFilter ff_af_##name_ = { \
FILTER_OUTPUTS(outputs), \
FILTER_QUERY_FUNC(query_formats), \
.process_command = process_command, \
- .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, \
}
#define DEFINE_BIQUAD_FILTER(name, description) \
@@ -176,11 +176,12 @@ static const AVFilterPad outputs[] = {
const AVFilter ff_af_crossfeed = {
.name = "crossfeed",
.description = NULL_IF_CONFIG_SMALL("Apply headphone crossfeed filter."),
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(CrossfeedContext),
.priv_class = &crossfeed_class,
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
.process_command = process_command,
};
@@ -370,5 +370,6 @@ const AVFilter ff_af_crystalizer = {
AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBLP),
.process_command = process_command,
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -857,6 +857,8 @@ static const AVFilterPad avfilter_af_dynaudnorm_outputs[] = {
const AVFilter ff_af_dynaudnorm = {
.name = "dynaudnorm",
.description = NULL_IF_CONFIG_SMALL("Dynamic Audio Normalizer."),
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(DynamicAudioNormalizerContext),
.init = init,
.uninit = uninit,
@@ -865,6 +867,5 @@ const AVFilter ff_af_dynaudnorm = {
FILTER_OUTPUTS(avfilter_af_dynaudnorm_outputs),
FILTER_SINGLE_SAMPLEFMT(AV_SAMPLE_FMT_DBLP),
.priv_class = &dynaudnorm_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
.process_command = process_command,
};
@@ -125,6 +125,7 @@ const AVFilter ff_af_extrastereo = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -940,6 +940,7 @@ static const AVFilterPad firequalizer_outputs[] = {
const AVFilter ff_af_firequalizer = {
.name = "firequalizer",
.description = NULL_IF_CONFIG_SMALL("Finite Impulse Response Equalizer."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.uninit = uninit,
.process_command = process_command,
.priv_size = sizeof(FIREqualizerContext),
@@ -782,5 +782,6 @@ const AVFilter ff_af_ladspa = {
.inputs = 0,
FILTER_OUTPUTS(ladspa_outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_INPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -205,6 +205,7 @@ static const AVFilterPad rubberband_outputs[] = {
const AVFilter ff_af_rubberband = {
.name = "rubberband",
.description = NULL_IF_CONFIG_SMALL("Apply time-stretching and pitch-shifting."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(RubberBandContext),
.priv_class = &rubberband_class,
.uninit = uninit,
@@ -365,6 +365,7 @@ const AVFilter ff_af_sidechaincompress = {
.name = "sidechaincompress",
.description = NULL_IF_CONFIG_SMALL("Sidechain compressor."),
.priv_class = &sidechaincompress_acompressor_class,
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(SidechainCompressContext),
.activate = activate,
.uninit = uninit,
@@ -426,6 +427,7 @@ const AVFilter ff_af_acompressor = {
.name = "acompressor",
.description = NULL_IF_CONFIG_SMALL("Audio compressor."),
.priv_class = &sidechaincompress_acompressor_class,
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(SidechainCompressContext),
FILTER_INPUTS(acompressor_inputs),
FILTER_OUTPUTS(acompressor_outputs),
@@ -564,6 +564,7 @@ const AVFilter ff_af_speechnorm = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_SAMPLEFMTS(AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_DBLP),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -375,6 +375,8 @@ static const AVFilterPad outputs[] = {
const AVFilter ff_af_stereotools = {
.name = "stereotools",
.description = NULL_IF_CONFIG_SMALL("Apply various stereo tools."),
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(StereoToolsContext),
.priv_class = &stereotools_class,
.uninit = uninit,
@@ -382,5 +384,4 @@ const AVFilter ff_af_stereotools = {
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
.process_command = process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
};
@@ -162,6 +162,7 @@ const AVFilter ff_af_stereowiden = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -465,6 +465,8 @@ static const AVFilterPad avfilter_af_volume_outputs[] = {
const AVFilter ff_af_volume = {
.name = "volume",
.description = NULL_IF_CONFIG_SMALL("Change input volume."),
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(VolumeContext),
.priv_class = &volume_class,
.init = init,
@@ -472,6 +474,5 @@ const AVFilter ff_af_volume = {
FILTER_INPUTS(avfilter_af_volume_inputs),
FILTER_OUTPUTS(avfilter_af_volume_outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
.process_command = process_command,
};
@@ -444,6 +444,8 @@ static const AVFilterPad audiovectorscope_outputs[] = {
const AVFilter ff_avf_avectorscope = {
.name = "avectorscope",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to vectorscope video output."),
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.uninit = uninit,
.priv_size = sizeof(AudioVectorScopeContext),
.activate = activate,
@@ -451,6 +453,5 @@ const AVFilter ff_avf_avectorscope = {
FILTER_OUTPUTS(audiovectorscope_outputs),
FILTER_QUERY_FUNC(query_formats),
.priv_class = &avectorscope_class,
- .flags = AVFILTER_FLAG_SLICE_THREADS,
.process_command = ff_filter_process_command,
};
@@ -454,7 +454,8 @@ const AVFilter ff_avf_concat = {
.inputs = NULL,
.outputs = NULL,
.priv_class = &concat_class,
- .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
FILTER_QUERY_FUNC(query_formats),
.process_command = process_command,
};
@@ -119,6 +119,17 @@ enum AVMediaType avfilter_pad_get_type(const AVFilterPad *pads, int pad_idx);
* and processing them concurrently.
*/
#define AVFILTER_FLAG_SLICE_THREADS (1 << 2)
+/**
+ * The filter accepts filter-specific commands via avfilter_process_command(),
+ * avfilter_graph_send_command() and avfilter_graph_queue_command();
+ * support for generic commands like enable-expressions is independent of
+ * this flag.
+ *
+ * Most of these commands are AVOptions with the AV_OPT_FLAG_RUNTIME_PARAM flag.
+ * Some commands are different and cannot be queried via the API. They are
+ * documented alongside the rest of the filter.
+ */
+#define AVFILTER_FLAG_SUPPORT_COMMANDS (1 << 3)
/**
* Some filters support a generic "enable" expression option that can be used
* to enable or disable a filter in the timeline. Filters supporting this
@@ -324,7 +324,8 @@ const AVFilter ff_vf_streamselect = {
.activate = activate,
.priv_size = sizeof(StreamSelectContext),
.priv_class = &streamselect_class,
- .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
const AVFilter ff_af_astreamselect = {
@@ -337,5 +338,6 @@ const AVFilter ff_af_astreamselect = {
.uninit = uninit,
.activate = activate,
.priv_size = sizeof(StreamSelectContext),
- .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_DYNAMIC_OUTPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -645,7 +645,8 @@ const AVFilter ff_avsrc_movie = {
.inputs = NULL,
.outputs = NULL,
- .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command
};
@@ -664,7 +665,8 @@ const AVFilter ff_avsrc_amovie = {
.inputs = NULL,
.outputs = NULL,
- .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
+ .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -315,6 +315,7 @@ const AVFilter ff_vf_amplify = {
FILTER_PIXFMTS_ARRAY(pixel_fmts),
.init = init,
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -573,6 +573,7 @@ const AVFilter ff_vf_atadenoise = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -348,6 +348,7 @@ const AVFilter ff_vf_avgblur = {
FILTER_INPUTS(avgblur_inputs),
FILTER_OUTPUTS(avgblur_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -151,6 +151,7 @@ const AVFilter ff_vf_bbox = {
FILTER_INPUTS(bbox_inputs),
FILTER_OUTPUTS(bbox_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -381,6 +381,7 @@ const AVFilter ff_vf_bilateral = {
FILTER_INPUTS(bilateral_inputs),
FILTER_OUTPUTS(bilateral_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -584,7 +584,8 @@ const AVFilter ff_vf_blend = {
FILTER_OUTPUTS(blend_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &blend_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -641,7 +642,8 @@ const AVFilter ff_vf_tblend = {
FILTER_INPUTS(tblend_inputs),
FILTER_OUTPUTS(tblend_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -281,6 +281,7 @@ const AVFilter ff_vf_cas = {
FILTER_INPUTS(cas_inputs),
FILTER_OUTPUTS(cas_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -375,7 +375,8 @@ const AVFilter ff_vf_chromakey = {
FILTER_INPUTS(chromakey_inputs),
FILTER_OUTPUTS(chromakey_outputs),
FILTER_PIXFMTS_ARRAY(chromakey_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -434,6 +435,7 @@ const AVFilter ff_vf_chromahold = {
FILTER_INPUTS(chromahold_inputs),
FILTER_OUTPUTS(chromahold_outputs),
FILTER_PIXFMTS_ARRAY(hold_pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -278,6 +278,7 @@ const AVFilter ff_vf_chromanr = {
FILTER_OUTPUTS(outputs),
FILTER_INPUTS(inputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -430,7 +430,8 @@ const AVFilter ff_vf_chromashift = {
FILTER_OUTPUTS(outputs),
FILTER_INPUTS(inputs),
FILTER_PIXFMTS_ARRAY(yuv_pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -467,6 +468,7 @@ const AVFilter ff_vf_rgbashift = {
FILTER_OUTPUTS(outputs),
FILTER_INPUTS(inputs),
FILTER_PIXFMTS_ARRAY(rgb_pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -439,6 +439,7 @@ const AVFilter ff_vf_colorbalance = {
FILTER_INPUTS(colorbalance_inputs),
FILTER_OUTPUTS(colorbalance_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -778,6 +778,7 @@ const AVFilter ff_vf_colorchannelmixer = {
FILTER_INPUTS(colorchannelmixer_inputs),
FILTER_OUTPUTS(colorchannelmixer_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -390,6 +390,7 @@ const AVFilter ff_vf_colorcontrast = {
FILTER_INPUTS(colorcontrast_inputs),
FILTER_OUTPUTS(colorcontrast_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -545,6 +545,7 @@ const AVFilter ff_vf_colorcorrect = {
FILTER_INPUTS(colorcorrect_inputs),
FILTER_OUTPUTS(colorcorrect_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -288,6 +288,7 @@ const AVFilter ff_vf_colorize = {
FILTER_INPUTS(colorize_inputs),
FILTER_OUTPUTS(colorize_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -207,7 +207,8 @@ const AVFilter ff_vf_colorkey = {
FILTER_INPUTS(colorkey_inputs),
FILTER_OUTPUTS(colorkey_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -232,7 +233,8 @@ const AVFilter ff_vf_colorhold = {
FILTER_INPUTS(colorkey_inputs),
FILTER_OUTPUTS(colorkey_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -379,6 +379,7 @@ const AVFilter ff_vf_colorlevels = {
AV_PIX_FMT_RGB48, AV_PIX_FMT_BGR48,
AV_PIX_FMT_RGBA64, AV_PIX_FMT_BGRA64,
AV_PIX_FMT_RGBA, AV_PIX_FMT_BGRA),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -352,6 +352,7 @@ const AVFilter ff_vf_colortemperature = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -963,7 +963,8 @@ const AVFilter ff_vf_convolution = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -990,7 +991,8 @@ const AVFilter ff_vf_prewitt = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1007,7 +1009,8 @@ const AVFilter ff_vf_sobel = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1024,7 +1027,8 @@ const AVFilter ff_vf_roberts = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1041,7 +1045,8 @@ const AVFilter ff_vf_kirsch = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1058,7 +1063,8 @@ const AVFilter ff_vf_scharr = {
FILTER_INPUTS(convolution_inputs),
FILTER_OUTPUTS(convolution_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -389,6 +389,7 @@ static const AVFilterPad avfilter_vf_crop_outputs[] = {
const AVFilter ff_vf_crop = {
.name = "crop",
.description = NULL_IF_CONFIG_SMALL("Crop the input video."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(CropContext),
.priv_class = &crop_class,
.uninit = uninit,
@@ -810,6 +810,7 @@ const AVFilter ff_vf_curves = {
AV_PIX_FMT_GBRP14,
AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP16),
.priv_class = &curves_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -456,7 +456,8 @@ const AVFilter ff_vf_datascope = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -743,7 +744,8 @@ const AVFilter ff_vf_pixscope = {
FILTER_INPUTS(pixscope_inputs),
FILTER_OUTPUTS(pixscope_outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = pixscope_process_command,
};
@@ -1148,6 +1150,7 @@ const AVFilter ff_vf_oscilloscope = {
FILTER_INPUTS(oscilloscope_inputs),
FILTER_OUTPUTS(oscilloscope_outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = oscilloscope_process_command,
};
@@ -294,6 +294,7 @@ const AVFilter ff_vf_dblur = {
FILTER_INPUTS(dblur_inputs),
FILTER_OUTPUTS(dblur_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -474,6 +474,7 @@ const AVFilter ff_vf_deband = {
FILTER_INPUTS(avfilter_vf_deband_inputs),
FILTER_OUTPUTS(avfilter_vf_deband_outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -414,6 +414,7 @@ const AVFilter ff_vf_deblock = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -167,5 +167,6 @@ const AVFilter ff_vf_despill = {
FILTER_OUTPUTS(despill_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
.process_command = ff_filter_process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -403,7 +403,8 @@ const AVFilter ff_vf_drawbox = {
FILTER_OUTPUTS(drawbox_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.process_command = process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
#endif /* CONFIG_DRAWBOX_FILTER */
@@ -484,7 +485,8 @@ const AVFilter ff_vf_drawgrid = {
FILTER_INPUTS(drawgrid_inputs),
FILTER_OUTPUTS(drawgrid_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1639,5 +1639,6 @@ const AVFilter ff_vf_drawtext = {
FILTER_OUTPUTS(avfilter_vf_drawtext_outputs),
FILTER_QUERY_FUNC(query_formats),
.process_command = command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -379,5 +379,6 @@ const AVFilter ff_vf_eq = {
.process_command = process_command,
.init = initialize,
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -574,6 +574,7 @@ const AVFilter ff_vf_estdif = {
FILTER_INPUTS(estdif_inputs),
FILTER_OUTPUTS(estdif_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -121,6 +121,7 @@ const AVFilter ff_vf_exposure = {
FILTER_INPUTS(exposure_inputs),
FILTER_OUTPUTS(exposure_outputs),
FILTER_PIXFMTS(AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -722,6 +722,7 @@ const AVFilter ff_vf_fillborders = {
FILTER_INPUTS(fillborders_inputs),
FILTER_OUTPUTS(fillborders_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -422,7 +422,8 @@ const AVFilter ff_vf_frei0r = {
FILTER_OUTPUTS(avfilter_vf_frei0r_outputs),
FILTER_QUERY_FUNC(query_formats),
.process_command = process_command,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
static av_cold int source_init(AVFilterContext *ctx)
@@ -413,6 +413,7 @@ const AVFilter ff_vf_gblur = {
FILTER_INPUTS(gblur_inputs),
FILTER_OUTPUTS(gblur_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -490,6 +490,7 @@ const AVFilter ff_vf_guided = {
FILTER_OUTPUTS(guided_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_SLICE_THREADS |
- AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -399,6 +399,7 @@ const AVFilter ff_vf_hqdn3d = {
FILTER_INPUTS(avfilter_vf_hqdn3d_inputs),
FILTER_OUTPUTS(avfilter_vf_hqdn3d_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -307,7 +307,8 @@ const AVFilter ff_vf_hsvkey = {
FILTER_INPUTS(hsvkey_inputs),
FILTER_OUTPUTS(hsvkey_outputs),
FILTER_PIXFMTS_ARRAY(key_pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -367,6 +368,7 @@ const AVFilter ff_vf_hsvhold = {
FILTER_INPUTS(hsvhold_inputs),
FILTER_OUTPUTS(hsvhold_outputs),
FILTER_PIXFMTS_ARRAY(hold_pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -518,5 +518,6 @@ const AVFilter ff_vf_hue = {
FILTER_OUTPUTS(hue_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &hue_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -198,6 +198,7 @@ const AVFilter ff_vf_il = {
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
.priv_class = &il_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -220,6 +220,7 @@ const AVFilter ff_vf_lagfun = {
FILTER_OUTPUTS(outputs),
FILTER_INPUTS(inputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SLICE_THREADS | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -358,6 +358,7 @@ const AVFilter ff_vf_lenscorrection = {
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &lenscorrection_class,
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -259,6 +259,7 @@ const AVFilter ff_vf_limiter = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -195,11 +195,13 @@ AVFILTER_DEFINE_CLASS(lumakey);
const AVFilter ff_vf_lumakey = {
.name = "lumakey",
.description = NULL_IF_CONFIG_SMALL("Turns a certain luma into transparency."),
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS |
+ AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
.priv_size = sizeof(LumakeyContext),
.priv_class = &lumakey_class,
FILTER_INPUTS(lumakey_inputs),
FILTER_OUTPUTS(lumakey_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
.process_command = process_command,
};
@@ -599,7 +599,8 @@ static const AVFilterPad outputs[] = {
FILTER_OUTPUTS(outputs), \
FILTER_QUERY_FUNC(query_formats), \
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | \
- AVFILTER_FLAG_SLICE_THREADS, \
+ AVFILTER_FLAG_SLICE_THREADS | \
+ AVFILTER_FLAG_SUPPORT_COMMANDS, \
.process_command = process_command, \
}
@@ -571,7 +571,8 @@ const AVFilter ff_vf_lut2 = {
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -661,7 +662,8 @@ const AVFilter ff_vf_tlut2 = {
FILTER_OUTPUTS(tlut2_outputs),
FILTER_QUERY_FUNC(query_formats),
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -1364,7 +1364,8 @@ const AVFilter ff_vf_lut3d = {
FILTER_OUTPUTS(lut3d_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &lut3d_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
#endif
@@ -1628,7 +1629,8 @@ const AVFilter ff_vf_haldclut = {
FILTER_OUTPUTS(haldclut_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &haldclut_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
#endif
@@ -2291,7 +2293,8 @@ const AVFilter ff_vf_lut1d = {
FILTER_OUTPUTS(lut1d_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &lut1d_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = lut1d_process_command,
};
#endif
@@ -314,6 +314,7 @@ const AVFilter ff_vf_maskedclamp = {
FILTER_OUTPUTS(maskedclamp_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &maskedclamp_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -315,6 +315,7 @@ const AVFilter ff_vf_maskedmerge = {
FILTER_OUTPUTS(maskedmerge_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &maskedmerge_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -326,7 +326,8 @@ const AVFilter ff_vf_maskedmin = {
FILTER_INPUTS(maskedminmax_inputs),
FILTER_OUTPUTS(maskedminmax_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -340,6 +341,7 @@ const AVFilter ff_vf_maskedmax = {
FILTER_INPUTS(maskedminmax_inputs),
FILTER_OUTPUTS(maskedminmax_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -283,6 +283,7 @@ const AVFilter ff_vf_maskedthreshold = {
FILTER_INPUTS(maskedthreshold_inputs),
FILTER_OUTPUTS(maskedthreshold_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -311,6 +311,7 @@ const AVFilter ff_vf_maskfun = {
FILTER_OUTPUTS(maskfun_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &maskfun_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -286,6 +286,7 @@ const AVFilter ff_vf_median = {
FILTER_INPUTS(median_inputs),
FILTER_OUTPUTS(median_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -359,7 +359,8 @@ const AVFilter ff_vf_mix = {
.uninit = uninit,
.activate = activate,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_SLICE_THREADS |
- AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -428,6 +429,9 @@ AVFILTER_DEFINE_CLASS(tmix);
const AVFilter ff_vf_tmix = {
.name = "tmix",
.description = NULL_IF_CONFIG_SMALL("Mix successive video frames."),
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS |
+ AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
.priv_size = sizeof(MixContext),
.priv_class = &tmix_class,
FILTER_OUTPUTS(outputs),
@@ -435,7 +439,6 @@ const AVFilter ff_vf_tmix = {
FILTER_QUERY_FUNC(query_formats),
.init = init,
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
.process_command = process_command,
};
@@ -296,6 +296,7 @@ const AVFilter ff_vf_monochrome = {
FILTER_INPUTS(monochrome_inputs),
FILTER_OUTPUTS(monochrome_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -1022,6 +1022,7 @@ const AVFilter ff_vf_morpho = {
FILTER_INPUTS(morpho_inputs),
FILTER_OUTPUTS(morpho_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -359,7 +359,8 @@ const AVFilter ff_vf_##name_ = { \
FILTER_OUTPUTS(neighbor_outputs), \
FILTER_PIXFMTS_ARRAY(pix_fmts), \
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC| \
- AVFILTER_FLAG_SLICE_THREADS, \
+ AVFILTER_FLAG_SLICE_THREADS | \
+ AVFILTER_FLAG_SUPPORT_COMMANDS, \
.process_command = ff_filter_process_command, \
}
@@ -1157,6 +1157,7 @@ const AVFilter ff_vf_nnedi = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -527,6 +527,7 @@ const AVFilter ff_vf_normalize = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -1118,5 +1118,6 @@ const AVFilter ff_vf_overlay = {
FILTER_OUTPUTS(avfilter_vf_overlay_outputs),
FILTER_QUERY_FUNC(query_formats),
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
- AVFILTER_FLAG_SLICE_THREADS,
+ AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -234,6 +234,7 @@ const AVFilter ff_vf_phase = {
FILTER_INPUTS(phase_inputs),
FILTER_OUTPUTS(phase_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -192,5 +192,6 @@ const AVFilter ff_vf_pp = {
FILTER_PIXFMTS_ARRAY(pix_fmts),
.process_command = pp_process_command,
.priv_class = &pp_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -920,6 +920,7 @@ const AVFilter ff_vf_pseudocolor = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -555,6 +555,7 @@ const AVFilter ff_vf_readeia608 = {
FILTER_OUTPUTS(readeia608_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -601,5 +601,6 @@ const AVFilter ff_vf_rotate = {
FILTER_OUTPUTS(rotate_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &rotate_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -994,6 +994,7 @@ static const AVFilterPad avfilter_vf_scale_outputs[] = {
const AVFilter ff_vf_scale = {
.name = "scale",
.description = NULL_IF_CONFIG_SMALL("Scale the input video size and/or convert the image format."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.init_dict = init_dict,
.uninit = uninit,
.priv_size = sizeof(ScaleContext),
@@ -1035,6 +1036,7 @@ static const AVFilterPad avfilter_vf_scale2ref_outputs[] = {
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."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.init_dict = init_dict,
.uninit = uninit,
.priv_size = sizeof(ScaleContext),
@@ -209,6 +209,7 @@ const AVFilter ff_vf_scroll = {
FILTER_INPUTS(scroll_inputs),
FILTER_OUTPUTS(scroll_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -316,6 +316,7 @@ const AVFilter ff_vf_shear = {
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
.priv_class = &shear_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -501,5 +501,6 @@ const AVFilter ff_vf_spp = {
FILTER_PIXFMTS_ARRAY(pix_fmts),
.process_command = process_command,
.priv_class = &spp_class,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
};
@@ -241,6 +241,7 @@ const AVFilter ff_vf_swaprect = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -351,6 +351,7 @@ const AVFilter ff_vf_threshold = {
FILTER_INPUTS(inputs),
FILTER_OUTPUTS(outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -5018,6 +5018,7 @@ const AVFilter ff_vf_v360 = {
FILTER_OUTPUTS(outputs),
FILTER_QUERY_FUNC(query_formats),
.priv_class = &v360_class,
- .flags = AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -373,6 +373,7 @@ const AVFilter ff_vf_vibrance = {
FILTER_INPUTS(vibrance_inputs),
FILTER_OUTPUTS(vibrance_outputs),
FILTER_PIXFMTS_ARRAY(pixel_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -614,6 +614,7 @@ const AVFilter ff_vf_w3fdif = {
FILTER_INPUTS(w3fdif_inputs),
FILTER_OUTPUTS(w3fdif_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -398,7 +398,8 @@ const AVFilter ff_vf_xmedian = {
.uninit = uninit,
.activate = activate,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS | AVFILTER_FLAG_SLICE_THREADS |
- AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
+ AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = process_command,
};
@@ -472,6 +473,9 @@ AVFILTER_DEFINE_CLASS(tmedian);
const AVFilter ff_vf_tmedian = {
.name = "tmedian",
.description = NULL_IF_CONFIG_SMALL("Pick median pixels from successive frames."),
+ .flags = AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS |
+ AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
.priv_size = sizeof(XMedianContext),
.priv_class = &tmedian_class,
FILTER_INPUTS(tmedian_inputs),
@@ -479,7 +483,6 @@ const AVFilter ff_vf_tmedian = {
FILTER_PIXFMTS_ARRAY(pixel_fmts),
.init = init,
.uninit = uninit,
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL | AVFILTER_FLAG_SLICE_THREADS,
.process_command = process_command,
};
@@ -340,6 +340,7 @@ const AVFilter ff_vf_yaepblur = {
FILTER_INPUTS(yaep_inputs),
FILTER_OUTPUTS(yaep_outputs),
FILTER_PIXFMTS_ARRAY(pix_fmts),
- .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS,
+ .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SLICE_THREADS |
+ AVFILTER_FLAG_SUPPORT_COMMANDS,
.process_command = ff_filter_process_command,
};
@@ -938,6 +938,7 @@ static const AVFilterPad avfilter_vf_zscale_outputs[] = {
const AVFilter ff_vf_zscale = {
.name = "zscale",
.description = NULL_IF_CONFIG_SMALL("Apply resizing, colorspace and bit depth conversion."),
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.init = init,
.priv_size = sizeof(ZScaleContext),
.priv_class = &zscale_class,
@@ -269,6 +269,7 @@ const AVFilter ff_vsrc_color = {
.name = "color",
.description = NULL_IF_CONFIG_SMALL("Provide an uniformly colored input."),
.priv_class = &color_class,
+ .flags = AVFILTER_FLAG_SUPPORT_COMMANDS,
.priv_size = sizeof(TestSourceContext),
.init = color_init,
.uninit = uninit,
Currently an API user has no easy way that always works to know whether an AVFilter supports commands. One can check for whether the filter has any AVOption with AV_OPT_FLAG_RUNTIME_PARAM set, but this is a bit of extra work and more importantly it doesn't work for all filters: anequalizer, ladspa, drawtext, overlay, pp, concat and (a)movie accept commands, but have no AVOptions of this type. Tellingly ffprobe/cmdutils.c has to abuse the API and check for AVFilter.process_command to know whether a filter accepts commands. This commit fixes this by adding a new AVFilter flag. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavfilter/af_acrusher.c | 1 + libavfilter/af_adenorm.c | 3 ++- libavfilter/af_aemphasis.c | 3 ++- libavfilter/af_aexciter.c | 3 ++- libavfilter/af_afade.c | 3 ++- libavfilter/af_afftdn.c | 3 ++- libavfilter/af_afir.c | 3 ++- libavfilter/af_afreqshift.c | 6 ++++-- libavfilter/af_afwtdn.c | 3 ++- libavfilter/af_agate.c | 6 ++++-- libavfilter/af_amix.c | 3 ++- libavfilter/af_anequalizer.c | 3 ++- libavfilter/af_anlmdn.c | 3 ++- libavfilter/af_anlms.c | 3 ++- libavfilter/af_apsyclip.c | 3 ++- libavfilter/af_arnndn.c | 3 ++- libavfilter/af_asoftclip.c | 3 ++- libavfilter/af_asubboost.c | 3 ++- libavfilter/af_asupercut.c | 12 ++++++++---- libavfilter/af_atempo.c | 1 + libavfilter/af_atilt.c | 3 ++- libavfilter/af_biquads.c | 4 +++- libavfilter/af_crossfeed.c | 3 ++- libavfilter/af_crystalizer.c | 3 ++- libavfilter/af_dynaudnorm.c | 3 ++- libavfilter/af_extrastereo.c | 3 ++- libavfilter/af_firequalizer.c | 1 + libavfilter/af_ladspa.c | 3 ++- libavfilter/af_rubberband.c | 1 + libavfilter/af_sidechaincompress.c | 2 ++ libavfilter/af_speechnorm.c | 3 ++- libavfilter/af_stereotools.c | 3 ++- libavfilter/af_stereowiden.c | 3 ++- libavfilter/af_volume.c | 3 ++- libavfilter/avf_avectorscope.c | 3 ++- libavfilter/avf_concat.c | 3 ++- libavfilter/avfilter.h | 11 +++++++++++ libavfilter/f_streamselect.c | 6 ++++-- libavfilter/src_movie.c | 6 ++++-- libavfilter/vf_amplify.c | 3 ++- libavfilter/vf_atadenoise.c | 3 ++- libavfilter/vf_avgblur.c | 3 ++- libavfilter/vf_bbox.c | 3 ++- libavfilter/vf_bilateral.c | 3 ++- libavfilter/vf_blend.c | 6 ++++-- libavfilter/vf_cas.c | 3 ++- libavfilter/vf_chromakey.c | 6 ++++-- libavfilter/vf_chromanr.c | 3 ++- libavfilter/vf_chromashift.c | 6 ++++-- libavfilter/vf_colorbalance.c | 3 ++- libavfilter/vf_colorchannelmixer.c | 3 ++- libavfilter/vf_colorcontrast.c | 3 ++- libavfilter/vf_colorcorrect.c | 3 ++- libavfilter/vf_colorize.c | 3 ++- libavfilter/vf_colorkey.c | 6 ++++-- libavfilter/vf_colorlevels.c | 3 ++- libavfilter/vf_colortemperature.c | 3 ++- libavfilter/vf_convolution.c | 18 ++++++++++++------ libavfilter/vf_crop.c | 1 + libavfilter/vf_curves.c | 3 ++- libavfilter/vf_datascope.c | 9 ++++++--- libavfilter/vf_dblur.c | 3 ++- libavfilter/vf_deband.c | 3 ++- libavfilter/vf_deblock.c | 3 ++- libavfilter/vf_despill.c | 3 ++- libavfilter/vf_drawbox.c | 6 ++++-- libavfilter/vf_drawtext.c | 3 ++- libavfilter/vf_eq.c | 3 ++- libavfilter/vf_estdif.c | 3 ++- libavfilter/vf_exposure.c | 3 ++- libavfilter/vf_fillborders.c | 3 ++- libavfilter/vf_frei0r.c | 3 ++- libavfilter/vf_gblur.c | 3 ++- libavfilter/vf_guided.c | 3 ++- libavfilter/vf_hqdn3d.c | 3 ++- libavfilter/vf_hsvkey.c | 6 ++++-- libavfilter/vf_hue.c | 3 ++- libavfilter/vf_il.c | 3 ++- libavfilter/vf_lagfun.c | 3 ++- libavfilter/vf_lenscorrection.c | 3 ++- libavfilter/vf_limiter.c | 3 ++- libavfilter/vf_lumakey.c | 4 +++- libavfilter/vf_lut.c | 3 ++- libavfilter/vf_lut2.c | 6 ++++-- libavfilter/vf_lut3d.c | 9 ++++++--- libavfilter/vf_maskedclamp.c | 3 ++- libavfilter/vf_maskedmerge.c | 3 ++- libavfilter/vf_maskedminmax.c | 6 ++++-- libavfilter/vf_maskedthreshold.c | 3 ++- libavfilter/vf_maskfun.c | 3 ++- libavfilter/vf_median.c | 3 ++- libavfilter/vf_mix.c | 7 +++++-- libavfilter/vf_monochrome.c | 3 ++- libavfilter/vf_morpho.c | 3 ++- libavfilter/vf_neighbor.c | 3 ++- libavfilter/vf_nnedi.c | 3 ++- libavfilter/vf_normalize.c | 3 ++- libavfilter/vf_overlay.c | 3 ++- libavfilter/vf_phase.c | 3 ++- libavfilter/vf_pp.c | 3 ++- libavfilter/vf_pseudocolor.c | 3 ++- libavfilter/vf_readeia608.c | 3 ++- libavfilter/vf_rotate.c | 3 ++- libavfilter/vf_scale.c | 2 ++ libavfilter/vf_scroll.c | 3 ++- libavfilter/vf_shear.c | 3 ++- libavfilter/vf_spp.c | 3 ++- libavfilter/vf_swaprect.c | 3 ++- libavfilter/vf_threshold.c | 3 ++- libavfilter/vf_v360.c | 3 ++- libavfilter/vf_vibrance.c | 3 ++- libavfilter/vf_w3fdif.c | 3 ++- libavfilter/vf_xmedian.c | 7 +++++-- libavfilter/vf_yaepblur.c | 3 ++- libavfilter/vf_zscale.c | 1 + libavfilter/vsrc_testsrc.c | 1 + 116 files changed, 290 insertions(+), 132 deletions(-)