Commit Graph

610 Commits

Author SHA1 Message Date
Nicolas George
f8d7b5febb lavfi: add a preinit callback to filters.
It is necessary for filters with child objects, to set the class
and default options values.
2017-08-29 10:19:04 +02:00
Matthieu Bouron
b5e1ec5660 Merge commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9'
* commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9':
  lavfi: Always propagate hw_frames_ctx through links

Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-03-30 00:02:08 +02:00
Vittorio Giovara
96a47364d1 lavfi: Drop deprecated non-const filter retrieval
Deprecated in 10/2013.
2017-03-23 10:09:11 +01:00
Vittorio Giovara
8e18328b18 lavfi: Drop deprecated filter registration
Deprecated in 04/2013.
2017-03-23 09:57:33 +01:00
Vittorio Giovara
52067b3c0e lavfi: Drop deprecated filter initialization
Deprecated in 03/2013.
2017-03-23 09:57:33 +01:00
Vittorio Giovara
c5c7cfd5e8 lavfi: Drop deprecated functions to open a filter or a filterchain
Deprecated in 03/2013.
2017-03-23 09:57:32 +01:00
Rostislav Pehlivanov
3796fb2692 lavfi: deprecate AVFilterGraph->resample_lavr_opts
Not used by anything at all since we don't auto insert lavr filters.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-18 07:37:35 +00:00
Nicolas George
3ff01feda3 lavfi: add AVFilter.activate. 2017-01-12 14:06:16 +01:00
Nicolas George
485617ea0f lavfi: document that AVFilterLink is not for applications. 2017-01-12 14:06:16 +01:00
Matthieu Bouron
b1f68f00b1 lavfi/framepool: rename FFVideoFramePool to FFFramePool 2017-01-12 10:22:52 +01:00
Nicolas George
02aa0701ae lavfi: make filter_frame non-recursive.
A lot of changes happen at the same time:

- Add a framequeue fifo to AVFilterLink.

- split AVFilterLink.status into status_in and status_out: requires
  changes to the few filters and programs that use it directly
  (f_interleave, split, filtfmts).

- Add a field ready to AVFilterContext, marking when the filter is ready
  and its activation priority.

- Add flags to mark blocked links.

- Change ff_filter_frame() to enqueue the frame.

- Change all filtering functions to update the ready field and the
  blocked flags.

- Update ff_filter_graph_run_once() to use the ready field.

- buffersrc: always push the frame immediately.
2016-12-18 10:38:52 +01:00
Nicolas George
183ce55b0d lavfi: split frame_count between input and output.
AVFilterLink.frame_count is supposed to count the number of frames
that were passed on the link, but with min_samples, that number is
not always the same for the source and destination filters.
With the addition of a FIFO on the link, the difference will become
more significant.

Split the variable in two: frame_count_in counts the number of
frames that entered the link, frame_count_out counts the number
of frames that were sent to the destination filter.
2016-11-13 10:41:16 +01:00
Mark Thompson
e3fb74f7f9 lavfi: Always propagate hw_frames_ctx through links
Also adds a new flag to mark filters which are aware of hwframes and
will perform this task themselves, and marks all appropriate filters
with this flag.

This is required to allow software-mapped hardware frames to work,
because we need to have the frames context available for any later
mapping operation in the filter graph.

The output from the filter graph should only propagate further to an
encoder if the hardware format actually matches the visible format
(mapped frames are valid here and have an hw_frames_ctx, but this
should not be given to the encoder as its hardware context).
2016-11-02 20:29:05 +00:00
Paul B Mahol
449339084f avfilter: add nb_threads to AVFilterContext
To be used in following commits.
2016-08-29 16:27:09 +02:00
Timothy Gu
58c7bf789f doxygen: Standardize root-level modules 2016-08-02 22:15:25 -07:00
Timo Rothenpieler
1a75145559 lavfi: Move new field to the end of AVFilterContext
This fixes an accidental ABI break introduced at 8688d3a.
2016-06-29 18:23:28 +02:00
Timo Rothenpieler
1eb43af1a0 lavfi: Move new field to the end of AVFilterLink
Even though this is not part of the public API, some external
applications access fields after it, thus breaking after updating from
ffmpeg 3.0 or earlier.
Since it is not public, it can be freely moved to the end to avoid
that problem in the future.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-29 12:53:07 +02:00
Vittorio Giovara
41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Derek Buitenhuis
8688d3af39 Merge commit '07a844f32ebb78503981df017fa3ebfedb75fe1c'
* commit '07a844f32ebb78503981df017fa3ebfedb75fe1c':
  lavfi: generic hardware surface upload and download filters

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-14 13:59:45 +01:00
Mark Thompson
07a844f32e lavfi: generic hardware surface upload and download filters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-19 15:41:04 +01:00
Derek Buitenhuis
10424024a1 Merge commit 'b3dd30db0b2d857147fc0e1461a00bd6172a26a3'
* commit 'b3dd30db0b2d857147fc0e1461a00bd6172a26a3':
  lavfi: pass the hw frames context through the filter chain

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-02-24 16:03:57 +00:00
Anton Khirnov
b3dd30db0b lavfi: pass the hw frames context through the filter chain 2016-02-14 22:21:00 +01:00
Paul B Mahol
547d412078 avfilter: update some comments
start_frame is no more, samplesref argument is now frame argument.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-24 14:32:14 +01:00
Nicolas George
1655788712 lavfi: make request_frame() non-recursive.
Instead of calling the input filter request_frame() method,
ff_request_frame() now marks the link and returns immediately.
buffersink is changed to activate the marked filters until
a frame is obtained.
2015-12-22 16:04:30 +01:00
Nicolas George
108b4de552 lavfi: replace link.closed by link.status.
The status field can carry any error code instead of just EOF.
Also only update it through a wrapper function and provide a timestamp.
Update the few filters that used it directly.
2015-12-22 16:04:30 +01:00
Nicolas George
39a09e995d lavfi: deprecate avfilter_link_set_closed().
Applications are not supposed to mess with links,
they should close the sinks.
Furthermore, this function does not distinguish what end
of the link caused the close and does not have a timestamp.
2015-12-22 16:04:22 +01:00
Nicolas George
b8b7d5ac6c lavfi: add link.current_pts field. 2015-12-22 15:55:00 +01:00
Nicolas George
d03eab34dd lavfi: rename link.current_pts to current_pts_us.
This field is used for fast comparison between link ages,
it is in AV_TIME_BASE units, in other words microseconds,
µs =~ us.
Renaming it allows a second field in link time base units.
2015-12-22 15:55:00 +01:00
Matthieu Bouron
0c59d40ae0 lavfi: use a video frame pool for each link of the filtergraph 2015-12-15 10:35:41 +01:00
Hendrik Leppkes
0b73d0ff0d Merge commit '48ff6683ba5d40b629428673b1028e8ec542a9fa'
* commit '48ff6683ba5d40b629428673b1028e8ec542a9fa':
  lavfi: add a frame_rate field to AVFilterLink.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-11 14:47:29 +01:00
Nicolas George
48ff6683ba lavfi: add a frame_rate field to AVFilterLink.
(cherry picked from ffmpeg commit 7b42036b3b)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-11-09 08:09:34 +01:00
Nicolas George
2a351f6c55 lavfi: drop the requirement that request_frame returns a frame.
It requires a loop in filters or the framework,
that makes the scheduling less efficient and more complex.
This is purely an internal change since the loop is now
present in buffersink.
Note that no filter except buffersink did rely on the requirement.
2015-09-20 19:02:33 +02:00
Hendrik Leppkes
3433228795 lavfi: remove old graph parser API with different semantics
This API hasn't been active since the last bump already.
2015-09-05 18:35:09 +02:00
Hendrik Leppkes
144fb06806 Remove left-over FF_API_AVFILTERBUFFER cruft 2015-09-05 16:27:19 +02:00
Hendrik Leppkes
033764e015 Merge commit 'f6974fe651d29ef6eb68d66d73f7b6c011062aa0'
* commit 'f6974fe651d29ef6eb68d66d73f7b6c011062aa0':
  lavfi: Drop deprecated AVFilterBuffer* code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:22:03 +02:00
Hendrik Leppkes
43e2e172df Merge commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1'
* commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1':
  lavfi: Drop deprecated *_count suffixed variables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:11:22 +02:00
Hendrik Leppkes
2751d5f0ba Merge commit '86e5056575f55f070609dd3926605302f7d2280e'
* commit '86e5056575f55f070609dd3926605302f7d2280e':
  lavfi: Drop deprecated public AVFilterPad struct

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:01:24 +02:00
Andreas Cadhalpun
e6c20e214e avfilter: add missing FF_API_AVFILTERBUFFER guards
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:24:22 +02:00
Vittorio Giovara
f6974fe651 lavfi: Drop deprecated AVFilterBuffer* code
Deprecated in 11/2012.
2015-08-28 16:01:16 +02:00
Vittorio Giovara
e65e4cbbda lavfi: Drop deprecated *_count suffixed variables
Deprecated in 06/2012.
2015-08-28 16:01:13 +02:00
Vittorio Giovara
86e5056575 lavfi: Drop deprecated public AVFilterPad struct
Deprecated in 06/2012.
2015-08-28 11:06:37 +02:00
Vittorio Giovara
7046bd9bc9 lavfi: Move avcodec header to the only filter needing it
af_ashowinfo, due to the enum AVAudioServiceType use.
2015-05-19 18:56:40 +01:00
Michael Niedermayer
aa65ff2adf Merge commit 'cfe64613923a2d47644a87386146ada1f9f6b659'
* commit 'cfe64613923a2d47644a87386146ada1f9f6b659':
  avfilter: Document avfilter_graph_alloc return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-22 04:03:20 +01:00
Federico Tomassetti
cfe6461392 avfilter: Document avfilter_graph_alloc return value
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-21 23:18:15 +01:00
Stefano Sabatini
af7b89e08b lavfi: document assumptions about the input and output labels of a filter graph description 2015-01-29 10:12:34 +01:00
Lukasz Marek
b217dc91bf lavfi/avfilter: clarify avfilter_graph_get_filter() doxygen
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 02:16:56 +02:00
Lukasz Marek
b2682db34c lavfi/avfilter: fix typos in doxgens
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 23:49:11 +02:00
Roman Fietze
f5d718ac7e avfilter.h, buffer.c: use const src pointer in avfilter_copy_buffer_ref_props
Signed-off-by: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 13:49:13 +02:00
Yu Xiaolei
fbe9ae482d avfilter: make avfilter_graph_get_filter use const string name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-14 23:18:59 +01:00
Michael Niedermayer
48276731d6 Merge commit 'd44bd7fb27d4121512eae0ffce5e48bac25e82dc'
* commit 'd44bd7fb27d4121512eae0ffce5e48bac25e82dc':
  avfilter: add documentation for needs_writable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 03:34:52 +01:00
Vittorio Giovara
d44bd7fb27 avfilter: add documentation for needs_writable 2014-01-09 23:13:05 +01:00
Michael Niedermayer
a1ce060c51 Merge commit '5c439b41d0489412c0a4cf6dfb98915251677b8e'
* commit '5c439b41d0489412c0a4cf6dfb98915251677b8e':
  avfilter: have avfilter_get_by_name return const for next bump

Conflicts:
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-28 13:07:05 +01:00
Vittorio Giovara
5c439b41d0 avfilter: have avfilter_get_by_name return const for next bump
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-10-28 07:57:44 +01:00
Michael Niedermayer
d5ec8ba7f2 Do not leave positive values undefined when negative are defined as error
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 16:42:57 +02:00
Michael Niedermayer
7381d31f22 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: allow user-provided execute() callbacks

Conflicts:
	libavfilter/avfilter.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:02:01 +02:00
Anton Khirnov
0767bfd199 lavfi: allow user-provided execute() callbacks 2013-09-28 08:06:19 +02:00
Michael Niedermayer
46b3dbf9ca Merge commit '77cc958f60f73963be4281d6e82ef81707e40c26'
* commit '77cc958f60f73963be4281d6e82ef81707e40c26':
  lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:22:18 +02:00
Anton Khirnov
77cc958f60 lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()
This function should never modify the filter.
2013-08-04 15:46:19 +02:00
Michael Niedermayer
b0edd59994 Merge commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2'
* commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2':
  Add missing deprecation attributes

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:44:34 +02:00
Diego Biurrun
bf4b0ed1d5 Add missing deprecation attributes 2013-07-27 16:08:49 +02:00
wm4
122536e01a avfilter: fix preprocessor condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 22:10:16 +02:00
Stefano Sabatini
838bd73139 lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.

If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().

At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.

Should address trac ticket #2672.
2013-07-03 13:21:42 +02:00
Michael Niedermayer
2280b539c5 Merge commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff'
* commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff':
  lavfi doxy: improve/extend AVFilter doxy.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:05:41 +02:00
Anton Khirnov
8b7dffc2d6 lavfi doxy: improve/extend AVFilter doxy. 2013-06-04 17:18:33 +02:00
Michael Niedermayer
8d4e969afe Merge commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f'
* commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f':
  lavfi: add a slice threading infrastructure

Conflicts:
	Changelog
	cmdutils.c
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 14:07:00 +02:00
Anton Khirnov
129bb23843 lavfi: add a slice threading infrastructure
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Michael Niedermayer
0718f0cc24 Merge commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec'
* commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec':
  lavfi doxy: add a page for lavfi.
  jpegls: check the scan offset

Conflicts:
	libavcodec/jpeglsdec.c
	libavfilter/avfilter.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:04:11 +02:00
Anton Khirnov
bc8c1cdc7b lavfi doxy: add a page for lavfi. 2013-05-17 20:26:11 +02:00
Clément Bœsch
1776177b7f lavfi: replace passthrough_filter_frame with a flag.
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.

This commit is technically a small compat break, but the timeline was
introduced very recently.

Doxy by Stefano Sabatini.
2013-05-12 13:07:47 +02:00
Stefano Sabatini
e1332ff324 lavfi/avfilter.h: fix typo 2013-05-10 10:33:00 +02:00
Michael Niedermayer
df9f9caba5 avfilter: Make enabled/disabled state available as a field of the AVFilterContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Clément Bœsch
fdd93eabfb lavfi: add timeline support.
Flag added in a few simple filters. A bunch of other filters can likely
use the feature as well.
2013-04-23 01:02:27 +02:00
Clément Bœsch
b8a5c76131 lavfi: add frame counter into AVFilterLink and use it in filters. 2013-04-23 01:02:27 +02:00
Clément Bœsch
dcea58502c lavfi: drop now unused shorthand field from AVFilter. 2013-04-13 00:45:30 +02:00
Michael Niedermayer
835cc0f2e7 Merge commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da'
* commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da':
  lavfi: change the filter registering system to match the other libraries

Conflicts:
	cmdutils.c
	ffplay.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h

This removes the ability to put AVFilters in read only memory and having
them shareable.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:08:40 +02:00
Michael Niedermayer
f4db6bfeb8 Merge commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa'
* commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa':
  lavfi: add a function for counting elements in AVFilterPad arrays.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:49:30 +02:00
Michael Niedermayer
16fc24b240 Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
  lavfi: mark filters with dynamic number of inputs or outputs with special flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:30:34 +02:00
Michael Niedermayer
46de9ba598 Merge commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58'
* commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58':
  lavfi: add avfilter_init_dict() for initializing a filter with a dict.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:25:27 +02:00
Michael Niedermayer
fd6228e657 lavfi: remove now unused args parameter from AVFilter.init and init_opaque
This is mostly automated global search and replace

The deprecated aconvert filter is disabled, if it still has users
it should be updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Anton Khirnov
d69a4177b9 lavfi: remove now unused args parameter from AVFilter.init
Conflicts:

	libavfilter/avfilter.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_movie.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Michael Niedermayer
710b0aa801 Merge commit '48a5adab62bd2a553f5069d41fa632a0701835e5'
* commit '48a5adab62bd2a553f5069d41fa632a0701835e5':
  lavfi: add avfilter_init_str() to replace avfilter_init_filter().

avfilter_graph_create_filter() opaque is still passed to avfilter_init_filter()
which continues to pass it to init_opaque as its still used in the buffer sinks
the sinks should be changed and the opaque passing removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 01:31:55 +02:00
Michael Niedermayer
eb0f774d4b Merge commit '1565cbc65cbb9f95c11367314a080068895e0cf0'
* commit '1565cbc65cbb9f95c11367314a080068895e0cf0':
  lavfi: make avfilter_free() remove the filter from its graph.

Conflicts:
	libavfilter/avfilter.c
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:54:05 +02:00
Michael Niedermayer
4fde705396 Merge commit '111367263af41c88a44bd763ceefc11d53a7f655'
* commit '111367263af41c88a44bd763ceefc11d53a7f655':
  lavfi: add AVFilterContext.graph.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:44:18 +02:00
Michael Niedermayer
5c68e14e42 Merge commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee'
* commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee':
  lavfi: deprecate avfilter_graph_add_filter().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:39:09 +02:00
Michael Niedermayer
86070b8e5a Merge commit 'bc1a985ba030e9861d24965d42792850b43a43ea'
* commit 'bc1a985ba030e9861d24965d42792850b43a43ea':
  lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:31:44 +02:00
Michael Niedermayer
231fd4411f Merge commit '38f0c0781a6e099f11c0acec07f9b8be742190c4'
* commit '38f0c0781a6e099f11c0acec07f9b8be742190c4':
  lavfi: merge avfiltergraph.h into avfilter.h

Conflicts:
	doc/APIchanges
	ffmpeg_filter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.h
	libavfilter/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:50:39 +02:00
Michael Niedermayer
9f3ae7aafd Merge commit '4a37d4b3f8137a4c2bbbca043de076af966b9446'
* commit '4a37d4b3f8137a4c2bbbca043de076af966b9446':
  lavfi: add const to the pads parameter of avfilter_pad_get_name/type
  lavfi: add const to AVFilterContext.filter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:31:01 +02:00
Anton Khirnov
fa2a34cd40 lavfi: change the filter registering system to match the other libraries
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov
7e8fe4be5f lavfi: add a function for counting elements in AVFilterPad arrays.
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov
7cdd737ba8 lavfi: mark filters with dynamic number of inputs or outputs with special flags
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Anton Khirnov
1ba95a9cca lavfi: add avfilter_init_dict() for initializing a filter with a dict. 2013-04-11 20:40:20 +02:00
Anton Khirnov
48a5adab62 lavfi: add avfilter_init_str() to replace avfilter_init_filter().
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov
1565cbc65c lavfi: make avfilter_free() remove the filter from its graph. 2013-04-11 20:38:48 +02:00
Anton Khirnov
111367263a lavfi: add AVFilterContext.graph.
It will be useful in the following commits.
2013-04-11 20:38:23 +02:00
Anton Khirnov
c2c9801bc9 lavfi: deprecate avfilter_graph_add_filter().
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
2013-04-11 20:36:42 +02:00
Anton Khirnov
bc1a985ba0 lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov
38f0c0781a lavfi: merge avfiltergraph.h into avfilter.h
We do not support using filters without AVFilterGraph in practice
anyway, so there is no point in pretending we do.
2013-04-11 20:33:33 +02:00
Anton Khirnov
4a37d4b3f8 lavfi: add const to the pads parameter of avfilter_pad_get_name/type 2013-04-11 20:33:23 +02:00
Anton Khirnov
91d2efa7d6 lavfi: add const to AVFilterContext.filter.
lavfi should never modify the filter through that pointer.
2013-04-11 20:32:39 +02:00
Michael Niedermayer
44d4488301 Merge commit '8114c101607843a86960bd3e0e9c40487dc2a961'
* commit '8114c101607843a86960bd3e0e9c40487dc2a961':
  lavfi: add avfilter_get_class().

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:59:06 +02:00