1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-10 17:41:09 +02:00
Commit Graph

6231 Commits

Author SHA1 Message Date
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
Nicolas George
8156b5ac94 avfilter/af_amerge: detect EOF immediately
Fix an infinite loop in forward_status_change().

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-23 03:47:43 +01:00
Paul B Mahol
fdcb7a85cf avfilter/vf_deband: add planes coupling mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-22 21:51:44 +01:00
Nicolas George
ff8b17c998 lavfi: take_samples: free frames after taking all samples. 2016-12-22 10:35:48 +01:00
Paul B Mahol
9933579a9b avfilter/vf_psnr: add gray10 and gray12 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-21 21:37:22 +01:00
Nicolas George
bec8ea20c8 lavfi/framequeue: avoid empty structs.
Fix compilation on MSVC.
2016-12-20 09:37:25 +01:00
Pavel Koshevoy
4240e5b047 lavfi/atempo: avoid false triggering an assertion failure
Steps to reproduce:
./ffmpeg_g -f s16be -i /dev/null -af atempo=0.5 -y /tmp/atempo.wav

Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-19 21:59:13 +01:00
Nicolas George
02aa0701ae lavfi: make filter_frame non-recursive.
A lot of changes happen at the same time:

- Add a framequeue fifo to AVFilterLink.

- split AVFilterLink.status into status_in and status_out: requires
  changes to the few filters and programs that use it directly
  (f_interleave, split, filtfmts).

- Add a field ready to AVFilterContext, marking when the filter is ready
  and its activation priority.

- Add flags to mark blocked links.

- Change ff_filter_frame() to enqueue the frame.

- Change all filtering functions to update the ready field and the
  blocked flags.

- Update ff_filter_graph_run_once() to use the ready field.

- buffersrc: always push the frame immediately.
2016-12-18 10:38:52 +01:00
Nicolas George
62b11db0a0 lavfi: add FFFrameQueue API. 2016-12-18 10:38:52 +01:00
Paul B Mahol
334fad3645 avfilter/vf_ssim: add >8 bit depth suppport
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-17 16:33:16 +01:00