aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/avfiltergraph.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | avfiltergraph: use aresample not aconvert in the alternative merge code.Michael Niedermayer2012-05-171-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi: drop planar/packed negotiation supportStefano Sabatini2012-05-161-10/+6
| | | | | | | | | | | | | | | | | | The planar/packed switch and the packing_formats list is no longer required, since the planar/packed information is now stored in the sample format enum. This is technically a major API break, possibly it should be not too painful as we marked the audio filtering API as unstable.
* | avfiltergraph: switch to swresample by defaultMichael Niedermayer2012-05-161-2/+2
| | | | | | | | | | | | all known bugs in the interface code have been fixed Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-161-50/+286
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (26 commits) fate: use diff -b in oneline comparison Add missing version bumps and APIchanges/Changelog entries. lavfi: move buffer management function to a separate file. lavfi: move formats-related functions from default.c to formats.c lavfi: move video-related functions to a separate file. fate: make smjpeg a demux test fate: separate sierra-vmd audio and video tests fate: separate smacker audio and video tests libmp3lame: set supported channel layouts. avconv: automatically insert asyncts when -async is used. avconv: add support for audio filters. lavfi: add asyncts filter. lavfi: add aformat filter lavfi: add an audio buffer sink. lavfi: add an audio buffer source. buffersrc: add av_buffersrc_write_frame(). buffersrc: fix invalid read in uninit if the fifo hasn't been allocated lavfi: rename vsrc_buffer.c to buffersrc.c avfiltergraph: reindent lavfi: add channel layout/sample rate negotiation. ... Conflicts: Changelog doc/APIchanges doc/filters.texi ffmpeg.c ffprobe.c libavcodec/libmp3lame.c libavfilter/Makefile libavfilter/af_aformat.c libavfilter/allfilters.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/avfiltergraph.c libavfilter/buffersrc.c libavfilter/defaults.c libavfilter/formats.c libavfilter/src_buffer.c libavfilter/version.h libavfilter/vf_yadif.c libavfilter/vsrc_buffer.c libavfilter/vsrc_buffer.h libavutil/avutil.h tests/fate/audio.mak tests/fate/demux.mak tests/fate/video.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avfiltergraph: reindentAnton Khirnov2012-05-141-60/+60
| |
| * lavfi: add channel layout/sample rate negotiation.Anton Khirnov2012-05-141-35/+222
| |
| * lavfi: autoinsert resample filter when necessary.Anton Khirnov2012-05-121-16/+42
| |
* | lavfi: add avfilter_graph_set_auto_convert().Nicolas George2012-05-141-0/+13
| |
* | avfiltergraph: improve pick_format()Michael Niedermayer2012-05-101-10/+33
| | | | | | | | | | | | without this the recent changes to format/sink handling would cause a regression in fate Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfiltergraph: fix format selection.Nicolas George2012-04-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The old code had two bugs: For audio filters, the format was not set. For video filters, if several links reference the same format list, the same format must be selected in the end. This is done by setting formats->format_count to 1: the other links sharing the reference will therefore have only one choice. If the heuristic does not pick the first format, the selected format must also be moved to the first position.
* | avfiltergraph: free the sink_links heap.Nicolas George2012-04-231-0/+1
| |
* | avfiltergraph: add avfilter_graph_request_oldest().Nicolas George2012-04-231-8/+99
| | | | | | | | Keep a heap of all sink links ordered by timestamps.
* | avfilter: add a pointer from links to graph.Nicolas George2012-04-231-0/+16
| |
* | avfiltergraph: More advanced heuristic to select colorspace.Michael Niedermayer2012-04-171-7/+31
| | | | | | | | | | | | This fixes regressions caused by switching from ffmpegs system to avfilters. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-021-2/+62
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vsrc_buffer: allow buffering arbitrary number of frames. vf_scale: avoid a pointless memcpy in no-op conversion. avfiltergraph: try to reduce format conversions in filters. avfiltergraph: add an AVClass to AVFilterGraph on next major bump. id3v2: fix skipping extended header in id3v2.4 Conflicts: libavfilter/vf_scale.c libavfilter/vsrc_buffer.c libavformat/id3v2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avfiltergraph: try to reduce format conversions in filters.Anton Khirnov2012-04-011-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | Current code, with a filterchain such as (input - yuv411) -> (scale - any) -> (sink - any) will result in yuv420 being chosen for the second link, which is clearly not right. This commit attempts to improve in the following way: repeat until convergence: loop over all filters find input link with exactly one format force this format on all output links of the same type (if possible)
| * avfiltergraph: add an AVClass to AVFilterGraph on next major bump.Anton Khirnov2012-04-011-1/+15
| | | | | | | | It will be used for logging, possibly also AVOptions.
| * lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()Stefano Sabatini2011-09-281-1/+1
| | | | | | | | | | | | Require "void *" rather than "AVClass *" for the log context type. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * avfiltergraph: use meaningful error codesStefano Sabatini2011-09-281-5/+7
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Make avfilter_graph_free() free the graph.Stefano Sabatini2011-02-041-6/+7
| | | | | | | | | | | | | | | | | | | | 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>
* | avfiltergraph: avoid harmful auto audio conversions.Nicolas George2012-02-231-3/+8
| | | | | | | | | | | | | | | | 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.
* | lavfi: refactor query_formats and auto-insert audio conversion filtersMina Nagy Zaki2011-09-161-28/+73
| | | | | | | | | | | | | | | | | | 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>
* | avfilter: dont crash on filters with NULL instance names.Michael Niedermayer2011-09-061-1/+1
| | | | | | | | | | Found-by: Rolf Siegrist Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter_graph_queue_command: Allow queueing commands out of orderMichael Niedermayer2011-08-291-2/+5
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter: Add avfilter_graph_que_command()Michael Niedermayer2011-08-291-0/+25
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avfilter: Add command passing supportMichael Niedermayer2011-08-291-0/+30
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi: add audio channel packing negotiation fieldsMina Nagy Zaki2011-07-161-1/+5
| | | | | | | | Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
* | lavfi: add layout negotiation fields and helper functions.Mina Nagy Zaki2011-06-191-1/+8
| |
* | lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()Stefano Sabatini2011-06-111-1/+1
| | | | | | | | Require "void *" rather than "AVClass *" for the log context type.
* | avfiltergraph: use meaningful error codesStefano Sabatini2011-06-111-5/+7
| |
* | Make avfilter_graph_free() free the graph.Stefano Sabatini2011-02-061-6/+7
|/ | | | | | | | | | | 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 4359288c565705d1734f63d277f8918ee5af5e54)
* Make avfilter_graph_free() do nothing if graph is NULL.Stefano Sabatini2011-01-121-0/+2
| | | | Originally committed as revision 26323 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix style nits in avfiltergraph.c.Stefano Sabatini2010-12-281-16/+16
| | | | Originally committed as revision 26116 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add avfilter_graph_create_filter().Stefano Sabatini2010-12-021-11/+27
| | | | Originally committed as revision 25862 to svn://svn.ffmpeg.org/ffmpeg/trunk
* In libavfilter, use consistently "Copyright (c)" in the licenseStefano Sabatini2010-11-281-2/+2
| | | | | | headers. Originally committed as revision 25838 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Prefix with "ff_" the functions:Stefano Sabatini2010-11-131-6/+7
| | | | | | | | | | | | 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
* Rename avfilter_destroy() as avfilter_free().Stefano Sabatini2010-11-081-2/+2
| | | | | | | 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
* Rename avfilter_graph_destroy() to avfilter_graph_free().Stefano Sabatini2010-11-041-1/+1
| | | | | | | | 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
* Implement avfilter_graph_alloc().Stefano Sabatini2010-11-041-0/+5
| | | | Originally committed as revision 25673 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add avfilter_graph_config().Stefano Sabatini2010-10-161-0/+13
| | | | Originally committed as revision 25502 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change avfilter_open() signature, from:Stefano Sabatini2010-08-111-2/+1
| | | | | | | | | | | 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
* Generalize pixel format enum fields to int formats.S.N. Hemanth Meenakshisundaram2010-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix leak in avfilter_graph_add_filter().Stefano Sabatini2010-04-181-5/+5
| | | | | | | | 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
* Make avfilter_graph_add_filter() returns AVERROR(ENOMEM) in case ofStefano Sabatini2010-04-131-1/+1
| | | | | | failed reallocation, rather than just -1. Originally committed as revision 22878 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make query_formats() print an error message if an auto-inserted scaleStefano Sabatini2010-01-131-4/+8
| | | | | | filter cannot convert between input and output formats. Originally committed as revision 21176 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make query_formats() increment the scaler_count after each scalerStefano Sabatini2010-01-101-1/+1
| | | | | | insertion. Originally committed as revision 21124 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a log context to avfilter_graph_config_links().Stefano Sabatini2010-01-101-3/+3
| | | | Originally committed as revision 21121 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Implement avfilter_graph_config_links().Stefano Sabatini2009-05-311-0/+17
| | | | Originally committed as revision 19066 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename avfilter_destroy_graph() to avfilter_graph_destroy(), for betterStefano Sabatini2009-02-261-1/+1
| | | | | | consistency with the rest of the API. Originally committed as revision 17623 to svn://svn.ffmpeg.org/ffmpeg/trunk