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.
9 years ago
Nicolas George
918891e146
lavfi: export ff_filter_set_ready() to the library.
9 years ago
Nicolas George
4c24f3ac16
lavfi: add ff_inlink_acknowledge_status().
Also introduce libavfilter/filters.h for all functions needed
to implement filters.
9 years ago
Nicolas George
485617ea0f
lavfi: document that AVFilterLink is not for applications.
9 years ago
Nicolas George
e9ecada1d4
lavfi/tests/filtfmts: include internal.h.
9 years ago
Nicolas George
dbe9dbed31
lavfi/buffersink: add accessors for the stream properties.
av_buffersink_get_frame_rate() did already exist; its argument becomes const.
9 years ago
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.
9 years ago
Matthieu Bouron
e1f4971209
lavfi: use an audio frame pool for each link of the filtergraph
9 years ago
Matthieu Bouron
b1ed7957b8
lavfi/framepool: cosmetic style fixes
9 years ago
Matthieu Bouron
e2d336cf64
lavfi/framepool: re-indent after previous commit
9 years ago
Matthieu Bouron
eb3368178e
lavfi/framepool: add audio support
9 years ago
Matthieu Bouron
b1f68f00b1
lavfi/framepool: rename FFVideoFramePool to FFFramePool
9 years ago
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>
9 years ago
Paul B Mahol
7aef56864c
avfilter/af_sofalizer: speed and clean up fast convolution a little
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
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>
9 years ago
Clément Bœsch
27627c281e
lavfi/selectivecolor: add a link to algorithm explanations
9 years ago
Michael Niedermayer
bc6b53ae99
avfilter/asrc_flite: Fix textbuf leak
Fixes CID1244189
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Paul B Mahol
520c0736fd
avfilter/vf_shuffleframes: allow also dropping frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Paul B Mahol
72d6101510
avfilter/avf_aphasemeter: fix memleaks
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Michael Niedermayer
3d8a8fd27e
avfilter/vf_pad: Fix segfault if reconfiguration fails
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
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.
9 years ago
Michael Niedermayer
ffc3337e0b
avfilter/vf_pad: Add eval=frame support
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Paul B Mahol
49abd5dbb8
avfilter/avf_aphasemeter: make video output optional
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Clément Bœsch
afaaf8db18
lavfi/selectivecolor: simplify crazy mid val computations
9 years ago
Clément Bœsch
571a360157
lavfi/transpose: add missing const options flags
Fixes ffmpeg -h filter=transpose
9 years ago
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>
9 years ago
Paul B Mahol
c6c888e996
avfilter/vf_w3fdif: add >8 but <16 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Nicolas George
0ff5567a30
lavfi/buffersrc: push the frame deeper if requested.
Reduce peak memory consumption with ffmpeg in certain cases.
9 years ago
Nicolas George
3b64e3ea45
lavf/framesync: detect EOF immediately.
Fix an infinite loop in forward_status_change().
9 years ago
James Almer
e1b8271949
avfilter/framequeue: add missing check for ASSERT_LEVEL
Signed-off-by: James Almer <jamrial@gmail.com>
9 years ago
Paul B Mahol
9b26bf7e2a
avfilter/vf_deband: do not use uninitialized value
Fixes coverity report.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
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.
9 years ago
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>
9 years ago
Paul B Mahol
fdcb7a85cf
avfilter/vf_deband: add planes coupling mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Nicolas George
ff8b17c998
lavfi: take_samples: free frames after taking all samples.
9 years ago
Paul B Mahol
9933579a9b
avfilter/vf_psnr: add gray10 and gray12 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Nicolas George
bec8ea20c8
lavfi/framequeue: avoid empty structs.
Fix compilation on MSVC.
9 years ago
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>
9 years ago
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.
10 years ago
Nicolas George
62b11db0a0
lavfi: add FFFrameQueue API.
10 years ago
Paul B Mahol
334fad3645
avfilter/vf_ssim: add >8 bit depth suppport
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Paul B Mahol
745f4bcc2c
avfilter/vsrc_testsrc: draw_bar: make sure width is not negative
Reported-by: Josh de Kock
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Paul B Mahol
458fbee221
avfilter/af_sofalizer: warn if user gives unknown channel names
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Marton Balint
265d45183b
avfilter/avfilter: fix filtering frames with unknown channel layouts for filters needing writable frames
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Marton Balint
df694a5e9d
avfilter/af_ashowinfo: properly show input channel layout for unknown channel layouts
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Marton Balint
01a19f77ca
avfilter/af_channelmap: add support for unknown input channel layouts
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Marton Balint
bffc2bcd75
avfilter/af_atempo: add support for unknown channel layouts
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Marton Balint
7ceb9e6b11
avfilter/formats: allow unknown channel layouts by default
Since the default in the libav fork is to only allow known layouts, making
unknown layouts allowed by default here can be a security risk for filters
directly merged from libav. However, usually it is simple to detect such cases,
use of av_get_channel_layout_nb_channels is a good indicator, so I suggest we
change this regardless.
See http://ffmpeg.org/pipermail/ffmpeg-devel/2016-November/203204.html .
This patch indirectly adds unknown channel layout support for filters where
query_formats is not specified:
abench
afifo
ainterleave
anullsink
apad
aperms
arealtime
aselect
asendcmd
asetnsamples
asetpts
asettb
ashowinfo
azmq
It introduces a query_formats callback for the asyncts filter, which only
supports known channel layouts since it is using libavresample.
And it removes .query_formats callback from filters where it was only there to
support unknown layouts, as this is now the default:
aloop
ametadata
anull
asidedata
asplit
atrim
Acked-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
9 years ago
Paul B Mahol
a251149833
avfilter/vf_deband: fix silly mistakes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Srinath K R
4df5a6a26a
avfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
9 years ago