Commit Graph

537 Commits

Author SHA1 Message Date
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