History

Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'

* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65': lavfi: mark filters with dynamic number of inputs or outputs with special flags

Michael Niedermayer committed 13 years ago

Commit 16fc24b2 parents 46de9ba 7cdd7376 files · +29 −0Browse files

Unified · Split

6 files
  1. doc/APIchanges +1 −0
  2. libavfilter/af_amix.c +2 −0
  3. libavfilter/af_channelsplit.c +2 −0
  4. libavfilter/af_join.c +2 −0
  5. libavfilter/avfilter.h +18 −0
  6. libavfilter/split.c +4 −0
doc/APIchanges+1−0
@@ -169,6 +169,7 @@ API changes, most recent first: · 168 unmodified lines
169 filter.169 filter.
170 Add avfilter_init_str(), deprecate avfilter_init_filter().170 Add avfilter_init_str(), deprecate avfilter_init_filter().
171 Add avfilter_init_dict().171 Add avfilter_init_dict().
172 Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
172 173
1732013-xx-xx - lavfi 3.7.0 - avfilter.h1742013-xx-xx - lavfi 3.7.0 - avfilter.h
174 Add AVFilter.priv_class for exporting filter options through the AVOptions API175 Add AVFilter.priv_class for exporting filter options through the AVOptions API
libavfilter/af_amix.c+2−0
@@ -557,4 +557,6 @@ AVFilter avfilter_af_amix = { · 556 unmodified lines
557 557
558 .inputs = NULL,558 .inputs = NULL,
559 .outputs = avfilter_af_amix_outputs,559 .outputs = avfilter_af_amix_outputs,
560
561 .flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
560};562};
libavfilter/af_channelsplit.c+2−0
@@ -146,4 +146,6 @@ AVFilter avfilter_af_channelsplit = { · 145 unmodified lines
146 146
147 .inputs = avfilter_af_channelsplit_inputs,147 .inputs = avfilter_af_channelsplit_inputs,
148 .outputs = NULL,148 .outputs = NULL,
149
150 .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
149};151};
libavfilter/af_join.c+2−0
@@ -525,4 +525,6 @@ AVFilter avfilter_af_join = { · 524 unmodified lines
525 525
526 .inputs = NULL,526 .inputs = NULL,
527 .outputs = avfilter_af_join_outputs,527 .outputs = avfilter_af_join_outputs,
528
529 .flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
528};530};
libavfilter/avfilter.h+18−0
@@ -410,6 +410,19 @@ const char *avfilter_pad_get_name(const AVFilterPad *pads, int pad_idx); · 409 unmodified lines
410 */410 */
411enum AVMediaType avfilter_pad_get_type(const AVFilterPad *pads, int pad_idx);411enum AVMediaType avfilter_pad_get_type(const AVFilterPad *pads, int pad_idx);
412 412
413/**
414 * The number of the filter inputs is not determined just by AVFilter.inputs.
415 * The filter might add additional inputs during initialization depending on the
416 * options supplied to it.
417 */
418#define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0)
419/**
420 * The number of the filter outputs is not determined just by AVFilter.outputs.
421 * The filter might add additional outputs during initialization depending on
422 * the options supplied to it.
423 */
424#define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1)
425
413/**426/**
414 * Filter definition. This defines the pads a filter contains, and all the427 * Filter definition. This defines the pads a filter contains, and all the
415 * callback functions used to interact with the filter.428 * callback functions used to interact with the filter.
@@ -432,6 +445,11 @@ typedef struct AVFilter { · 16 unmodified lines
432 */445 */
433 const AVClass *priv_class;446 const AVClass *priv_class;
434 447
448 /**
449 * A combination of AVFILTER_FLAG_*
450 */
451 int flags;
452
435 /*****************************************************************453 /*****************************************************************
436 * All fields below this line are not part of the public API. They454 * All fields below this line are not part of the public API. They
437 * may not be used outside of libavfilter and can be changed and455 * may not be used outside of libavfilter and can be changed and
libavfilter/split.c+4−0
@@ -133,6 +133,8 @@ AVFilter avfilter_vf_split = { · 132 unmodified lines
133 133
134 .inputs = avfilter_vf_split_inputs,134 .inputs = avfilter_vf_split_inputs,
135 .outputs = NULL,135 .outputs = NULL,
136
137 .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
136};138};
137 139
138static const AVFilterPad avfilter_af_asplit_inputs[] = {140static const AVFilterPad avfilter_af_asplit_inputs[] = {
@@ -157,4 +159,6 @@ AVFilter avfilter_af_asplit = { · 18 unmodified lines
157 159
158 .inputs = avfilter_af_asplit_inputs,160 .inputs = avfilter_af_asplit_inputs,
159 .outputs = NULL,161 .outputs = NULL,
162
163 .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
160};164};

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t