Commit Graph
6240 Commits
Author SHA1 Message Date
Steven Liu 90096e42e1 avfilter:vf_drawtext: add new line space size set parameter
add line_spacing parameter to set the space between two lines

Based on an idea by: Leandro Santiago <leandrosansilva@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-19 07:09:22 +08:00
Sergey Kudryashov a9b33b5a37 libavfilter/af_biquads: warn about clipping only after frame with clipping 2017-01-12 19:52:29 +01:00
Nicolas George f7191ccad6 lavfi: remove stray semicolons.
Hopefully fix compilation with suncc.
2017-01-12 15:07:18 +01:00
Nicolas George aaae459a85 lavfi: reindent after previous commit. 2017-01-12 14:06:16 +01:00
Nicolas George 912969a33e lavfi/buffersink: move to the new design. 2017-01-12 14:06:16 +01:00
Nicolas George 32c59a115d lavfi: do not call ff_filter_frame() with activate.
avfilter_graph_request_oldest() does work that should be done by
either the filter or the application.

The principle of this function, calling ff_request_frame() from
outside the filter was always shaky. This version is less elegant
since it requires making special cases for each filter, but it
is more robust since it no longer calls ff_request_frame()
directly without notifying the filter.

Eventually, avfilter_graph_request_oldest() will be deprecated
for a function to just run the graph.
2017-01-12 14:06:16 +01:00
Nicolas George c619a4e525 lavfi: make two functions static.
ff_request_frame_to_filter() and ff_filter_frame_to_filter()
are only used in avfilter.c.
2017-01-12 14:06:16 +01:00
Nicolas George ae4650f0b9 lavfi: disallow ff_request_frame for filters using activate.
Having two different functions allows to have stricter tests
and detect errors earlier.
2017-01-12 14:06:16 +01:00
Nicolas George 9eb4c79afd lavfi: add ff_inlink_request_frame(). 2017-01-12 14:06:16 +01:00
Nicolas George d3cb140433 lavfi: move ff_update_link_current_pts() into the utility functions.
It does not change anything for the existing filters and makes
better code fatrorization when future code will use the utility
functions.
2017-01-12 14:06:16 +01:00
Nicolas George 7910127a8e lavfi: cosmetic: remove forward declaration. 2017-01-12 14:06:16 +01:00
Nicolas George 3ff01feda3 lavfi: add AVFilter.activate. 2017-01-12 14:06:16 +01:00
Nicolas George db4a71c0ff lavfi: use the consume helpers in ff_filter_frame_to_filter(). 2017-01-12 14:06:16 +01:00
Nicolas George d360ddf03b lavfi: add helpers to consume frames from link FIFOs. 2017-01-12 14:06:16 +01:00
Nicolas George 2e5af443c3 lavfi: pass min explicitly to samples_ready(). 2017-01-12 14:06:16 +01:00
Nicolas George e7e4c8dfbe lavfi: add ff_inlink_evaluate_timeline_at_frame(). 2017-01-12 14:06:16 +01:00
Nicolas George 0e3d2496e2 lavfi: add ff_inlink_process_commands(). 2017-01-12 14:06:16 +01:00
Nicolas George 846f142134 lavfi: merge two variables after a recent commit. 2017-01-12 14:06:16 +01:00
Nicolas George 28c62df672 lavfi: implement ff_inlink_make_frame_writable().
Unlike av_frame_is_writable(), it uses the link's alloc callback,
making direct rendering possible.

The code comes from ff_filter_frame_framed(), moved with mostly
trivial changes.
2017-01-12 14:06:16 +01:00
Nicolas George 918891e146 lavfi: export ff_filter_set_ready() to the library. 2017-01-12 14:06:16 +01:00
Nicolas George 4c24f3ac16 lavfi: add ff_inlink_acknowledge_status().
Also introduce libavfilter/filters.h for all functions needed
to implement filters.
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
Nicolas George e9ecada1d4 lavfi/tests/filtfmts: include internal.h. 2017-01-12 14:06:16 +01:00
Nicolas George dbe9dbed31 lavfi/buffersink: add accessors for the stream properties.
av_buffersink_get_frame_rate() did already exist; its argument becomes const.
2017-01-12 14:06:16 +01:00
Nicolas George 0b66c456f9 lavfi, ffmpeg: simplify filter names.
The names are only used for technical output and debugging.
Make them similar to C identifiers for easier quick reading
of debug dumps.
2017-01-12 14:06:16 +01:00
Matthieu Bouron e1f4971209 lavfi: use an audio frame pool for each link of the filtergraph 2017-01-12 10:22:52 +01:00
Matthieu Bouron b1ed7957b8 lavfi/framepool: cosmetic style fixes 2017-01-12 10:22:52 +01:00
Matthieu Bouron e2d336cf64 lavfi/framepool: re-indent after previous commit 2017-01-12 10:22:52 +01:00
Matthieu Bouron eb3368178e lavfi/framepool: add audio support 2017-01-12 10:22:52 +01:00
Matthieu Bouron b1f68f00b1 lavfi/framepool: rename FFVideoFramePool to FFFramePool 2017-01-12 10:22:52 +01:00
Steven Liu 184c13f64a avfilter/vf_libopencv: fix resource leak in read_shape_frame_filter
CID: 1324298
add a label when error goto the label to release resource

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 09:59:55 +08:00
Paul B Mahol 7aef56864c avfilter/af_sofalizer: speed and clean up fast convolution a little
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-09 18:38:25 +01:00
Paul B Mahol 0ddc24d232 avfilter/af_dynaudnorm: fix hang with too short input
The only thing we can do at such point is return samples unchanged.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-08 20:42:17 +01:00
Clément Bœsch 27627c281e lavfi/selectivecolor: add a link to algorithm explanations 2017-01-07 14:25:57 +01:00
Michael Niedermayer bc6b53ae99 avfilter/asrc_flite: Fix textbuf leak
Fixes CID1244189

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-06 16:26:05 +01:00
Paul B Mahol 520c0736fd avfilter/vf_shuffleframes: allow also dropping frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-06 12:27:46 +01:00
Paul B Mahol 72d6101510 avfilter/avf_aphasemeter: fix memleaks
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-04 13:15:19 +01:00
Michael Niedermayer 3d8a8fd27e avfilter/vf_pad: Fix segfault if reconfiguration fails
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-02 18:42:31 +01:00
Clément Bœsch 771b3a956e lavfi/selectivecolor: rename adjust_range to scale
This variable corresponds to the final scale of the adjustement for a
given color range.
2016-12-31 13:01:04 +01:00
Michael Niedermayer ffc3337e0b avfilter/vf_pad: Add eval=frame support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-30 02:29:19 +01:00
Paul B Mahol 49abd5dbb8 avfilter/avf_aphasemeter: make video output optional
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-28 17:03:57 +01:00
Clément Bœsch afaaf8db18 lavfi/selectivecolor: simplify crazy mid val computations 2016-12-27 23:56:23 +01:00
Clément Bœsch 571a360157 lavfi/transpose: add missing const options flags
Fixes ffmpeg -h filter=transpose
2016-12-27 23:49:44 +01:00
Marton Balint 0db48ee425 avfilter/af_amerge: properly handle unknown input layouts
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-25 21:10:03 +01:00
Paul B Mahol c6c888e996 avfilter/vf_w3fdif: add >8 but <16 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-25 09:50:36 +01:00
Nicolas George 0ff5567a30 lavfi/buffersrc: push the frame deeper if requested.
Reduce peak memory consumption with ffmpeg in certain cases.
2016-12-24 13:18:03 +01:00
Nicolas George 3b64e3ea45 lavf/framesync: detect EOF immediately.
Fix an infinite loop in forward_status_change().
2016-12-24 13:18:02 +01:00
James Almer e1b8271949 avfilter/framequeue: add missing check for ASSERT_LEVEL
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-24 01:56:24 -03:00
Paul B Mahol 9b26bf7e2a avfilter/vf_deband: do not use uninitialized value
Fixes coverity report.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-23 18:53:20 +01:00
Nicolas George 373f21a911 lavfi: avfilter_graph_request_oldest: request a frame again before returning.
With min_samples, if a frame arrives but is too small, it clears
frame_wanted_out. In most cases, the destination filter would be
activated again later because of frame_wanted_out on its own
outputs, but not sinks.
avfilter_graph_request_oldest() is doing the work of the sink
itself, and is therefore allowed to use frame_blocked_in.
2016-12-23 15:21:43 +01:00