mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-04-07 01:32:19 +00:00
fftools/ffmpeg: deprecate -filter_script
It is equivalent to -/filter.
This commit is contained in:
parent
c316c4c77b
commit
a8bc79c3fd
@ -977,12 +977,6 @@ syntax.
|
|||||||
See the @ref{filter_complex_option,,-filter_complex option} if you
|
See the @ref{filter_complex_option,,-filter_complex option} if you
|
||||||
want to create filtergraphs with multiple inputs and/or outputs.
|
want to create filtergraphs with multiple inputs and/or outputs.
|
||||||
|
|
||||||
@anchor{filter_script option}
|
|
||||||
@item -filter_script[:@var{stream_specifier}] @var{filename} (@emph{output,per-stream})
|
|
||||||
This option is similar to @option{-filter}, the only difference is that its
|
|
||||||
argument is the name of the file from which a filtergraph description is to be
|
|
||||||
read.
|
|
||||||
|
|
||||||
@item -reinit_filter[:@var{stream_specifier}] @var{integer} (@emph{input,per-stream})
|
@item -reinit_filter[:@var{stream_specifier}] @var{integer} (@emph{input,per-stream})
|
||||||
This boolean option determines if the filtergraph(s) to which this stream is fed gets
|
This boolean option determines if the filtergraph(s) to which this stream is fed gets
|
||||||
reinitialized when input frame parameters change mid-stream. This option is enabled by
|
reinitialized when input frame parameters change mid-stream. This option is enabled by
|
||||||
|
@ -307,9 +307,6 @@ For example, in case of the @ref{drawtext,,drawtext filter}, you might prefer to
|
|||||||
use the @option{textfile} option in place of @option{text} to specify the text
|
use the @option{textfile} option in place of @option{text} to specify the text
|
||||||
to render.
|
to render.
|
||||||
|
|
||||||
When using the @command{ffmpeg} tool, you might consider to use the
|
|
||||||
@ref{filter_script option,,-filter_script option,ffmpeg}.
|
|
||||||
|
|
||||||
@chapter Timeline editing
|
@chapter Timeline editing
|
||||||
|
|
||||||
Some filters support a generic @option{enable} option. For the filters
|
Some filters support a generic @option{enable} option. For the filters
|
||||||
|
@ -221,7 +221,9 @@ typedef struct OptionsContext {
|
|||||||
SpecifierOptList copy_initial_nonkeyframes;
|
SpecifierOptList copy_initial_nonkeyframes;
|
||||||
SpecifierOptList copy_prior_start;
|
SpecifierOptList copy_prior_start;
|
||||||
SpecifierOptList filters;
|
SpecifierOptList filters;
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
SpecifierOptList filter_scripts;
|
SpecifierOptList filter_scripts;
|
||||||
|
#endif
|
||||||
SpecifierOptList reinit_filters;
|
SpecifierOptList reinit_filters;
|
||||||
SpecifierOptList fix_sub_duration;
|
SpecifierOptList fix_sub_duration;
|
||||||
SpecifierOptList fix_sub_duration_heartbeat;
|
SpecifierOptList fix_sub_duration_heartbeat;
|
||||||
|
@ -415,36 +415,58 @@ static MuxStream *mux_stream_alloc(Muxer *mux, enum AVMediaType type)
|
|||||||
static int ost_get_filters(const OptionsContext *o, AVFormatContext *oc,
|
static int ost_get_filters(const OptionsContext *o, AVFormatContext *oc,
|
||||||
OutputStream *ost, char **dst)
|
OutputStream *ost, char **dst)
|
||||||
{
|
{
|
||||||
const char *filters = NULL, *filters_script = NULL;
|
const char *filters = NULL;
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
|
const char *filters_script = NULL;
|
||||||
|
|
||||||
MATCH_PER_STREAM_OPT(filter_scripts, str, filters_script, oc, ost->st);
|
MATCH_PER_STREAM_OPT(filter_scripts, str, filters_script, oc, ost->st);
|
||||||
|
#endif
|
||||||
MATCH_PER_STREAM_OPT(filters, str, filters, oc, ost->st);
|
MATCH_PER_STREAM_OPT(filters, str, filters, oc, ost->st);
|
||||||
|
|
||||||
if (!ost->enc) {
|
if (!ost->enc) {
|
||||||
if (filters_script || filters) {
|
if (
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
|
filters_script ||
|
||||||
|
#endif
|
||||||
|
filters) {
|
||||||
av_log(ost, AV_LOG_ERROR,
|
av_log(ost, AV_LOG_ERROR,
|
||||||
"%s '%s' was specified, but codec copy was selected. "
|
"%s '%s' was specified, but codec copy was selected. "
|
||||||
"Filtering and streamcopy cannot be used together.\n",
|
"Filtering and streamcopy cannot be used together.\n",
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
filters ? "Filtergraph" : "Filtergraph script",
|
filters ? "Filtergraph" : "Filtergraph script",
|
||||||
filters ? filters : filters_script);
|
filters ? filters : filters_script
|
||||||
|
#else
|
||||||
|
"Filtergraph", filters
|
||||||
|
#endif
|
||||||
|
);
|
||||||
return AVERROR(ENOSYS);
|
return AVERROR(ENOSYS);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ost->ist) {
|
if (!ost->ist) {
|
||||||
if (filters_script || filters) {
|
if (
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
|
filters_script ||
|
||||||
|
#endif
|
||||||
|
filters) {
|
||||||
av_log(ost, AV_LOG_ERROR,
|
av_log(ost, AV_LOG_ERROR,
|
||||||
"%s '%s' was specified for a stream fed from a complex "
|
"%s '%s' was specified for a stream fed from a complex "
|
||||||
"filtergraph. Simple and complex filtering cannot be used "
|
"filtergraph. Simple and complex filtering cannot be used "
|
||||||
"together for the same stream.\n",
|
"together for the same stream.\n",
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
filters ? "Filtergraph" : "Filtergraph script",
|
filters ? "Filtergraph" : "Filtergraph script",
|
||||||
filters ? filters : filters_script);
|
filters ? filters : filters_script
|
||||||
|
#else
|
||||||
|
"Filtergraph", filters
|
||||||
|
#endif
|
||||||
|
);
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
if (filters_script && filters) {
|
if (filters_script && filters) {
|
||||||
av_log(ost, AV_LOG_ERROR, "Both -filter and -filter_script set\n");
|
av_log(ost, AV_LOG_ERROR, "Both -filter and -filter_script set\n");
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
@ -452,7 +474,9 @@ static int ost_get_filters(const OptionsContext *o, AVFormatContext *oc,
|
|||||||
|
|
||||||
if (filters_script)
|
if (filters_script)
|
||||||
*dst = file_read(filters_script);
|
*dst = file_read(filters_script);
|
||||||
else if (filters)
|
else
|
||||||
|
#endif
|
||||||
|
if (filters)
|
||||||
*dst = av_strdup(filters);
|
*dst = av_strdup(filters);
|
||||||
else
|
else
|
||||||
*dst = av_strdup(ost->type == AVMEDIA_TYPE_VIDEO ? "null" : "anull");
|
*dst = av_strdup(ost->type == AVMEDIA_TYPE_VIDEO ? "null" : "anull");
|
||||||
|
@ -1625,9 +1625,11 @@ const OptionDef options[] = {
|
|||||||
{ "filter_threads", OPT_TYPE_FUNC, OPT_FUNC_ARG | OPT_EXPERT,
|
{ "filter_threads", OPT_TYPE_FUNC, OPT_FUNC_ARG | OPT_EXPERT,
|
||||||
{ .func_arg = opt_filter_threads },
|
{ .func_arg = opt_filter_threads },
|
||||||
"number of non-complex filter threads" },
|
"number of non-complex filter threads" },
|
||||||
|
#if FFMPEG_OPT_FILTER_SCRIPT
|
||||||
{ "filter_script", OPT_TYPE_STRING, OPT_SPEC | OPT_EXPERT | OPT_OUTPUT,
|
{ "filter_script", OPT_TYPE_STRING, OPT_SPEC | OPT_EXPERT | OPT_OUTPUT,
|
||||||
{ .off = OFFSET(filter_scripts) },
|
{ .off = OFFSET(filter_scripts) },
|
||||||
"read stream filtergraph description from a file", "filename" },
|
"deprecated, use -/filter", "filename" },
|
||||||
|
#endif
|
||||||
{ "reinit_filter", OPT_TYPE_INT, OPT_SPEC | OPT_INPUT | OPT_EXPERT,
|
{ "reinit_filter", OPT_TYPE_INT, OPT_SPEC | OPT_INPUT | OPT_EXPERT,
|
||||||
{ .off = OFFSET(reinit_filters) },
|
{ .off = OFFSET(reinit_filters) },
|
||||||
"reinit filtergraph on input parameter changes", "" },
|
"reinit filtergraph on input parameter changes", "" },
|
||||||
|
@ -128,7 +128,7 @@ FATE_AFILTER-$(call FILTERDEMDECENCMUX, FIREQUALIZER ATRIM VOLUME, WAV, PCM_S16L
|
|||||||
fate-filter-firequalizer: tests/data/asynth-44100-2.wav
|
fate-filter-firequalizer: tests/data/asynth-44100-2.wav
|
||||||
fate-filter-firequalizer: tests/data/filtergraphs/firequalizer
|
fate-filter-firequalizer: tests/data/filtergraphs/firequalizer
|
||||||
fate-filter-firequalizer: REF = tests/data/asynth-44100-2.wav
|
fate-filter-firequalizer: REF = tests/data/asynth-44100-2.wav
|
||||||
fate-filter-firequalizer: CMD = ffmpeg -auto_conversion_filters -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -filter_script $(TARGET_PATH)/tests/data/filtergraphs/firequalizer -f wav -c:a pcm_s16le -
|
fate-filter-firequalizer: CMD = ffmpeg -auto_conversion_filters -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -/filter $(TARGET_PATH)/tests/data/filtergraphs/firequalizer -f wav -c:a pcm_s16le -
|
||||||
fate-filter-firequalizer: CMP = oneoff
|
fate-filter-firequalizer: CMP = oneoff
|
||||||
fate-filter-firequalizer: CMP_UNIT = s16
|
fate-filter-firequalizer: CMP_UNIT = s16
|
||||||
fate-filter-firequalizer: SIZE_TOLERANCE = 1058400 - 1097208
|
fate-filter-firequalizer: SIZE_TOLERANCE = 1058400 - 1097208
|
||||||
|
@ -269,11 +269,11 @@ fate-filter-weave: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf weave=bottom
|
|||||||
|
|
||||||
FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_SELECT_FILTER) += fate-filter-select-alternate
|
FATE_FILTER_VSYNTH_PGMYUV-$(CONFIG_SELECT_FILTER) += fate-filter-select-alternate
|
||||||
fate-filter-select-alternate: tests/data/filtergraphs/select-alternate
|
fate-filter-select-alternate: tests/data/filtergraphs/select-alternate
|
||||||
fate-filter-select-alternate: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/select-alternate
|
fate-filter-select-alternate: CMD = framecrc -c:v pgmyuv -i $(SRC) -/filter $(TARGET_PATH)/tests/data/filtergraphs/select-alternate
|
||||||
|
|
||||||
FATE_FILTER_VSYNTH_PGMYUV-$(call ALLYES, SETPTS_FILTER SETTB_FILTER) += fate-filter-setpts
|
FATE_FILTER_VSYNTH_PGMYUV-$(call ALLYES, SETPTS_FILTER SETTB_FILTER) += fate-filter-setpts
|
||||||
fate-filter-setpts: tests/data/filtergraphs/setpts
|
fate-filter-setpts: tests/data/filtergraphs/setpts
|
||||||
fate-filter-setpts: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/setpts
|
fate-filter-setpts: CMD = framecrc -c:v pgmyuv -i $(SRC) -/filter $(TARGET_PATH)/tests/data/filtergraphs/setpts
|
||||||
|
|
||||||
FATE_SHUFFLEFRAMES += fate-filter-shuffleframes
|
FATE_SHUFFLEFRAMES += fate-filter-shuffleframes
|
||||||
fate-filter-shuffleframes: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf shuffleframes="2|1|0"
|
fate-filter-shuffleframes: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf shuffleframes="2|1|0"
|
||||||
@ -362,7 +362,7 @@ fate-filter-curves: CMD = framecrc -i $(TARGET_SAMPLES)/utvideo/utvideo_rgb_medi
|
|||||||
|
|
||||||
FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, FORMAT PERMS GRADFUN SCALE, VMD, VMDVIDEO) += fate-filter-gradfun-sample
|
FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, FORMAT PERMS GRADFUN SCALE, VMD, VMDVIDEO) += fate-filter-gradfun-sample
|
||||||
fate-filter-gradfun-sample: tests/data/filtergraphs/gradfun
|
fate-filter-gradfun-sample: tests/data/filtergraphs/gradfun
|
||||||
fate-filter-gradfun-sample: CMD = framecrc -auto_conversion_filters -i $(TARGET_SAMPLES)/vmd/12.vmd -filter_script $(TARGET_PATH)/tests/data/filtergraphs/gradfun -an -frames:v 20
|
fate-filter-gradfun-sample: CMD = framecrc -auto_conversion_filters -i $(TARGET_SAMPLES)/vmd/12.vmd -/filter $(TARGET_PATH)/tests/data/filtergraphs/gradfun -an -frames:v 20
|
||||||
|
|
||||||
FATE_FILTER-$(call FILTERFRAMECRC, TESTSRC SINE CONCAT, FILE_PROTOCOL) += fate-filter-concat fate-filter-concat-vfr
|
FATE_FILTER-$(call FILTERFRAMECRC, TESTSRC SINE CONCAT, FILE_PROTOCOL) += fate-filter-concat fate-filter-concat-vfr
|
||||||
fate-filter-concat: tests/data/filtergraphs/concat
|
fate-filter-concat: tests/data/filtergraphs/concat
|
||||||
|
Loading…
Reference in New Issue
Block a user