Commit Graph

143 Commits

Author SHA1 Message Date
Luca Barbato 285fe5b098 avfilter: Support both syntaxes for the scale filter 2015-09-13 17:34:45 +02:00
Vittorio Giovara 9d3b752fce graphparser: Check av_get_token() memory error
CC: libav-stable@libav.org
Bug-Id: CID 1267891
2015-02-17 11:27:41 -05:00
Diego Biurrun cffecc0e7e avfilter/graphparser: Directly free filter memory if initialization fails 2013-11-06 22:06:15 +01:00
Anton Khirnov c22263d3e8 graphparser: only print filter arguments if they are non-NULL 2013-04-30 11:16:57 +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 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 6e3c13a559 avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Anton Khirnov 42c7c61ab2 avfiltergraph: replace AVFilterGraph.filter_count with nb_filters
This is more consistent with the naming in the rest of Libav.
2013-03-16 05:33:23 +01:00
Reimar Döffinger efa7f42020 Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Janne Grunau 285b706b55 avfilter: fix graphparser memleaks on error paths
Fixes CID700635, CID700636 and CID732274.
2012-10-25 15:00:15 +02:00
Martin Storsjö 1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Anton Khirnov 8d900aa4d0 lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft 2012-06-26 13:14:59 +02:00
Anton Khirnov 9baeff9506 lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov aff01de641 graphparser: set next to NULL on an entry extracted from inputs list
Prevents it from referring to the rest of the list.
2012-04-16 09:28:34 +02:00
Anton Khirnov 7af99a01c4 graphparser: fix the order in which unlabeled input links are returned. 2012-04-15 20:20:03 +02:00
Stefano Sabatini 91d3cbe0fd avfiltergraph: make the AVFilterInOut alloc/free API public
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-04-14 09:25:46 +02:00
Anton Khirnov 12e7e1d03e graphparser: allow specifying sws flags in the graph description. 2012-04-14 09:25:46 +02:00
Anton Khirnov 4e781c25b7 graphparser: fix the order of connecting unlabeled links.
Right now, e.g. scale,[in]overlay would connect scale to the first
overlay input and [in] to the second, which goes against the
documentation and is unintuitive.

The bug happens because of the ordering mess in curr_inputs variable:
1) the unlabeled links from the previous filter are added to it in
correct order
2) input labels are parsed and inserted to the beginning one by one
(i.e. in reverse order)
3) curr_inputs is matched against filter inputs in reverse order

Fix the problem by always using proper ordering without trying to be
clever.
2012-04-14 09:25:46 +02:00
Anton Khirnov d7bcc71dad graphparser: add avfilter_graph_parse2().
Unlike avfilter_graph_parse(), it returns unlinked inputs and outputs
to the caller, which allows parsing of graphs where inputs/outputs are
not known in advance.
2012-04-14 09:25:46 +02:00
Stefano Sabatini 57fa314090 lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
Require "void *" rather than "AVClass *" for the log context type.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:02:53 +02:00
Stefano Sabatini 64abd375ec graphparser: prefer void * over AVClass * for log contexts
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:02:42 +02:00
Diego Biurrun 96c1e6d40d doxygen: Make sure parameter names match between .c and .h files. 2011-07-14 04:09:49 +02:00
Diego Biurrun 24c9babaaf doxygen: Fix parameter names to match the function prototypes. 2011-07-03 18:30:02 +02:00
Stefano Sabatini f80b381bfd graphparser: add a NULL check on the argument passed to strstr
Fix crash in create_filter() which occurrs if a scale filter with no
args is provided.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-25 22:45:44 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Stefano Sabatini e8e5dde779 Make avfilter_graph_parse() not free the input graph
Make avfilter_graph_parse() only release the internal structures
allocated during the parsing, and leave to free the graph itself to
the calling code.

This approach looks cleaner, as the graph is not allocated by the
function.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-04 02:55:11 +00:00
Stefano Sabatini 3bf3fc0e54 Add the word "Parsed" in the parsed filter names.
Originally committed as revision 26334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 20:58:47 +00:00
Stefano Sabatini 9241cd2095 Make avfilter_parse_graph() output a more meaningful message when an
invalid filterchain is detected.

Originally committed as revision 25936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 13:39:16 +00:00
Stefano Sabatini 3fa77bde1b In libavfilter, use consistently "Copyright (c)" in the license
headers.

Originally committed as revision 25838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-28 10:22:58 +00:00
Aurelien Jacobs 0985e1a3ca move the av_parse_color() function from libavfilter to libavcore
Originally committed as revision 25761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-17 22:58:28 +00:00
Stefano Sabatini 668673f10c Add missing check on the existence of an associated output pad for
each specified output link label.

Fix crash.

Originally committed as revision 25723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-11 22:41:22 +00:00
Stefano Sabatini 24de0edbd5 Rename avfilter_destroy() as avfilter_free().
The new name is shorter and more consistent with the FFmpeg API, and
sounds less evil.

Originally committed as revision 25707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-08 12:32:39 +00:00
Stefano Sabatini 1e80a0eaa4 Remove graphparser.h header, move AVFilterInOut and
avfilter_graph_parse() declaration to libavfilter/avfiltergraph.h.

Simplify, and less confusing for the user.

Originally committed as revision 25705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 22:56:29 +00:00
Stefano Sabatini 55b2a9ba3b Extend documentation for parse_filter().
Originally committed as revision 25703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 22:47:33 +00:00
Stefano Sabatini 7313132bcc Rename AVFilterInOut field filter to filter_ctx, more semantically correct.
Originally committed as revision 25700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:18 +00:00
Stefano Sabatini c24f76b948 Make avfilter_graph_parse() always return meaningful error codes.
Originally committed as revision 25699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:14 +00:00
Stefano Sabatini 0cc8b65950 Make parse_outputs() always return meaningful error codes.
Originally committed as revision 25698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:12 +00:00
Stefano Sabatini 00b3ca3c7a Add missing memory check in parse_inputs(), and fix possible (yet very unlikely) crash.
Originally committed as revision 25697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:09 +00:00
Stefano Sabatini 42e7f6d781 Make parse_inputs() return AVERROR(EINVAL) rather than -1 in case the
link label parsed by parse_link_name() is invalid.

Originally committed as revision 25696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:07 +00:00
Stefano Sabatini fbd97184f8 Add missing check in link_filter_inouts(), and fix possible (yet very unlikely) crash.
Originally committed as revision 25695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:04 +00:00
Stefano Sabatini ed581e65e2 Rename the variable filter to filt_ctx in link_filter_inouts, as the variable denotes a filter context.
Less confusing.

Originally committed as revision 25694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:01 +00:00
Stefano Sabatini 684ade4935 Make link_filter_inouts() return meaningful error codes.
Originally committed as revision 25693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:39:58 +00:00
Stefano Sabatini 688b9dad9c Change the signature of parse_filter() to make it return an error code.
Originally committed as revision 25692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:39:54 +00:00
Stefano Sabatini c58572f87b Change the signature of create_filter() to make it return an error code.
Originally committed as revision 25691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:39:52 +00:00
Stefano Sabatini 97dd1e4a87 Rename avfilter_graph_destroy() to avfilter_graph_free().
The new name is shorter and more consistent with the rest of the API.

This change breaks libavfilter API/ABI.

Originally committed as revision 25674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:24 +00:00
Stefano Sabatini 372e288408 Move av_get_token() from libavfilter to libavutil.
Originally committed as revision 25225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 16:23:43 +00:00
Stefano Sabatini 84c0386960 Change avfilter_open() signature, from:
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

This way it is possible to propagate an error code telling the reason
of the failure.

Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:44:51 +00:00
Stefano Sabatini 98137a1a5b Document create_filter().
Originally committed as revision 24423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 09:56:09 +00:00