With the current code, an automatically inserted aconvert necessary
for format change would usually convert to mono for no good reason.
The new code will not avoid all conversions, but at least will keep
them among the layouts common to both filters.
Behaviour has been changed to fail negotiation if fields have been
left empty.
Patch was originally based on a patch by Hemanth.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.
Simplify usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4359288c56)
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.
Simplify usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
ff_avfilter_graph_check_validity()
ff_avfilter_graph_config_links()
ff_avfilter_graph_config_formats()
and move their declaration to internal.h. These functions are never
used in application code, so it is better to consider them internal
functions, this can be changed later if necessary. Simplify API.
Originally committed as revision 25737 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
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
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
This is needed to make the libavfilter framework work with audio
filters.
In particular add a type field to AVFilterLink, change the field types:
enum PixelFormat format -> int format in AVFilterBuffer
enum PixelFormat *formats -> int *formats in AVFilterFormats
enum PixelFormat *format -> int format in AVFilterLink
and change the function signatures:
AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
AVFilterFormats *avfilter_make_format_list(const int *fmts);
int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
int avfilter_add_format(AVFilterFormats **avff, int fmt);
AVFilterFormats *avfilter_all_colorspaces(void); ->
AVFilterFormats *avfilter_all_formats(enum AVMediaType type);
This change breaks libavfilter API/ABI.
Patch by S.N. Hemanth Meenakshisundaram |smeenaks|ucsd|edu|.
Originally committed as revision 24424 to svn://svn.ffmpeg.org/ffmpeg/trunk
In case of reallocation failure the pointer to the original filter
array was lost. The correct behavior seems to just keep the old array
and count.
Originally committed as revision 22905 to svn://svn.ffmpeg.org/ffmpeg/trunk
framework. Split it.
Commited in SoC by Vitor Sessak on 2008-04-03 16:29:07
Originally committed as revision 12746 to svn://svn.ffmpeg.org/ffmpeg/trunk
Now the parser link the filters from the graph directly
with avfilter_link().
Commited in SoC by Vitor Sessak on 2008-03-29 15:12:47
Originally committed as revision 12743 to svn://svn.ffmpeg.org/ffmpeg/trunk