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
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
Paul B Mahol
5b1907142d
avfilter: add ff_filter_get_nb_threads()
2016-08-29 16:27:09 +02:00
Paul B Mahol
547d412078
avfilter: update some comments
...
start_frame is no more, samplesref argument is now frame argument.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-01-24 14:32:14 +01:00
Nicolas George
1655788712
lavfi: make request_frame() non-recursive.
...
Instead of calling the input filter request_frame() method,
ff_request_frame() now marks the link and returns immediately.
buffersink is changed to activate the marked filters until
a frame is obtained.
2015-12-22 16:04:30 +01:00
Nicolas George
108b4de552
lavfi: replace link.closed by link.status.
...
The status field can carry any error code instead of just EOF.
Also only update it through a wrapper function and provide a timestamp.
Update the few filters that used it directly.
2015-12-22 16:04:30 +01:00
Matthieu Bouron
0c59d40ae0
lavfi: use a video frame pool for each link of the filtergraph
2015-12-15 10:35:41 +01:00
Ganesh Ajjanagadde
62144b225d
avfilter/internal: Doxygen for ff_fmt_is_in
...
This clarifies and adds Doxygen for ff_fmt_is_in.
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-17 18:58:38 -04:00
Ganesh Ajjanagadde
01790484c1
avfilter/internal: add av_warn_unused_result
...
av_warn_unused_result is added to functions whose return status should
be checked. Currently does not trigger any warnings, but should be
useful for future robustness.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-17 12:27:45 -04:00
Nicolas George
44f660e7e7
lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.
...
It has no longer any effect.
2015-09-20 19:02:33 +02:00
Nicolas George
2a351f6c55
lavfi: drop the requirement that request_frame returns a frame.
...
It requires a loop in filters or the framework,
that makes the scheduling less efficient and more complex.
This is purely an internal change since the loop is now
present in buffersink.
Note that no filter except buffersink did rely on the requirement.
2015-09-20 19:02:33 +02:00
Hendrik Leppkes
144fb06806
Remove left-over FF_API_AVFILTERBUFFER cruft
2015-09-05 16:27:19 +02:00
Hendrik Leppkes
033764e015
Merge commit 'f6974fe651d29ef6eb68d66d73f7b6c011062aa0'
...
* commit 'f6974fe651d29ef6eb68d66d73f7b6c011062aa0':
lavfi: Drop deprecated AVFilterBuffer* code
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:22:03 +02:00
Hendrik Leppkes
43e2e172df
Merge commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1'
...
* commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1':
lavfi: Drop deprecated *_count suffixed variables
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:11:22 +02:00
Hendrik Leppkes
2751d5f0ba
Merge commit '86e5056575f55f070609dd3926605302f7d2280e'
...
* commit '86e5056575f55f070609dd3926605302f7d2280e':
lavfi: Drop deprecated public AVFilterPad struct
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-05 16:01:24 +02:00
Andreas Cadhalpun
e6c20e214e
avfilter: add missing FF_API_AVFILTERBUFFER guards
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:24:22 +02:00
Vittorio Giovara
f6974fe651
lavfi: Drop deprecated AVFilterBuffer* code
...
Deprecated in 11/2012.
2015-08-28 16:01:16 +02:00
Vittorio Giovara
e65e4cbbda
lavfi: Drop deprecated *_count suffixed variables
...
Deprecated in 06/2012.
2015-08-28 16:01:13 +02:00
Vittorio Giovara
86e5056575
lavfi: Drop deprecated public AVFilterPad struct
...
Deprecated in 06/2012.
2015-08-28 11:06:37 +02:00
Andreas Cadhalpun
8bd74aafe8
avfilter: remove obsolete function declarations
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-08 21:58:48 +02:00
Michael Niedermayer
9d8070afe1
avfilter/internal: add more words to sentance
...
Hopefully fixes english syntax
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 13:09:41 +02:00
Michael Niedermayer
522256b374
avfilter/internal: Improve docs about ff_request_frame()
...
Reviewed-by: James Darnley <james.darnley@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 00:09:14 +02:00
Vittorio Giovara
1a3eb042c7
Replace av_dlog with normal av_log at trace level
...
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Michael Niedermayer
bdb136d302
avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling issue
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:27:49 +01:00
Arwa Arif
4df01d5d44
avfilter: Factorize the use of norm_qscale in pp7
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:22:02 +01:00
Michael Niedermayer
8788d31606
Merge commit '5655732c77f2df9c1dfbddc30cd4844390a6921f'
...
* commit '5655732c77f2df9c1dfbddc30cd4844390a6921f':
avfilter: add needs_writable field to the internal AVFilterPad structure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-10 03:37:03 +01:00
Vittorio Giovara
5655732c77
avfilter: add needs_writable field to the internal AVFilterPad structure
2014-01-09 23:13:05 +01:00
Nicolas George
6e2473edfd
lavfi: parsing helper for unknown channel layouts.
...
Make ff_parse_channel_layout() accept unknown layouts too.
2013-11-03 10:30:25 +01:00
Michael Niedermayer
d5ec8ba7f2
Do not leave positive values undefined when negative are defined as error
...
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-19 16:42:57 +02:00
Michael Niedermayer
7381d31f22
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavfi: allow user-provided execute() callbacks
Conflicts:
libavfilter/avfilter.h
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-28 11:02:01 +02:00
Anton Khirnov
0767bfd199
lavfi: allow user-provided execute() callbacks
2013-09-28 08:06:19 +02:00
Paul B Mahol
211a185cba
avfilter/avfilter: check allocation failure in ff_insert_pad()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 11:09:23 +00:00
Michael Niedermayer
247fa6c27c
avfilter: remove ff_copy_int*_list
...
The functions are unused
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
20be5e0a0e
Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'
...
* commit '7950e519bb094897f957b9a9531cc60ba46cbc91':
Disable deprecation warnings for cases where a replacement is available
Conflicts:
libavcodec/avpacket.c
libavcodec/pthread.c
libavcodec/utils.c
libavdevice/v4l2.c
libavfilter/avfiltergraph.c
libavfilter/buffersrc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:08:30 +02:00
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
2013-08-02 19:19:02 +02:00
Michael Niedermayer
0c8efe4891
Merge commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f'
...
* commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f':
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
Conflicts:
libavfilter/buffer.c
libavfilter/internal.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:36:54 +02:00
Diego Biurrun
45dd1ae1b3
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
2013-07-31 19:23:00 +02:00
Michael Niedermayer
8d4e969afe
Merge commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f'
...
* commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f':
lavfi: add a slice threading infrastructure
Conflicts:
Changelog
cmdutils.c
doc/APIchanges
libavfilter/Makefile
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/avfiltergraph.c
libavfilter/internal.h
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 14:07:00 +02:00
Anton Khirnov
129bb23843
lavfi: add a slice threading infrastructure
...
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Michael Niedermayer
eb0f774d4b
Merge commit '1565cbc65cbb9f95c11367314a080068895e0cf0'
...
* commit '1565cbc65cbb9f95c11367314a080068895e0cf0':
lavfi: make avfilter_free() remove the filter from its graph.
Conflicts:
libavfilter/avfilter.c
libavfilter/avfiltergraph.c
libavfilter/graphparser.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:54:05 +02:00
Michael Niedermayer
86070b8e5a
Merge commit 'bc1a985ba030e9861d24965d42792850b43a43ea'
...
* commit 'bc1a985ba030e9861d24965d42792850b43a43ea':
lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Conflicts:
libavfilter/avfiltergraph.c
libavfilter/internal.h
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:31:44 +02:00
Anton Khirnov
1565cbc65c
lavfi: make avfilter_free() remove the filter from its graph.
2013-04-11 20:38:48 +02:00
Anton Khirnov
bc1a985ba0
lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
...
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Nicolas George
79d8cfacf0
lavfi: loop on request_frame if necessary.
...
Some filters need several input frames before producing output.
For these filter, it becomes simpler to return 0 in
request_frame() and let the framework call it again until
output has been produced.
2013-04-03 17:33:27 +02:00
Michael Niedermayer
a05a44e205
Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
...
* commit '7e350379f87e7f74420b4813170fe808e2313911':
lavfi: switch to AVFrame.
Conflicts:
doc/filters.texi
libavfilter/af_ashowinfo.c
libavfilter/audio.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersink.c
libavfilter/buffersrc.c
libavfilter/buffersrc.h
libavfilter/f_select.c
libavfilter/f_setpts.c
libavfilter/fifo.c
libavfilter/split.c
libavfilter/src_movie.c
libavfilter/version.h
libavfilter/vf_aspect.c
libavfilter/vf_bbox.c
libavfilter/vf_blackframe.c
libavfilter/vf_delogo.c
libavfilter/vf_drawbox.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_fieldorder.c
libavfilter/vf_fps.c
libavfilter/vf_frei0r.c
libavfilter/vf_gradfun.c
libavfilter/vf_hqdn3d.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_showinfo.c
libavfilter/vf_transpose.c
libavfilter/vf_vflip.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavfilter/yadif.h
Following are notes about the merge authorship and various technical details.
Michael Niedermayer:
* Main merge operation, notably avfilter.c and video.c
* Switch to AVFrame:
- afade
- anullsrc
- apad
- aresample
- blackframe
- deshake
- idet
- il
- mandelbrot
- mptestsrc
- noise
- setfield
- smartblur
- tinterlace
* various merge changes and fixes in:
- ashowinfo
- blackdetect
- field
- fps
- select
- testsrc
- yadif
Nicolas George:
* Switch to AVFrame:
- make rawdec work with refcounted frames. Adapted from commit
759001c534
by Anton Khirnov.
Also, fix the use of || instead of | in a flags check.
- make buffer sink and src, audio and video work all together
Clément Bœsch:
* Switch to AVFrame:
- aevalsrc
- alphaextract
- blend
- cellauto
- colormatrix
- concat
- earwax
- ebur128
- edgedetect
- geq
- histeq
- histogram
- hue
- kerndeint
- life
- movie
- mp (with the help of Michael)
- overlay
- pad
- pan
- pp
- pp
- removelogo
- sendcmd
- showspectrum
- showwaves
- silencedetect
- stereo3d
- subtitles
- super2xsai
- swapuv
- thumbnail
- tile
Hendrik Leppkes:
* Switch to AVFrame:
- aconvert
- amerge
- asetnsamples
- atempo
- biquads
Matthieu Bouron:
* Switch to AVFrame
- alphamerge
- decimate
- volumedetect
Stefano Sabatini:
* Switch to AVFrame:
- astreamsync
- flite
- framestep
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Michael Niedermayer
2468827c06
internal.h: remove start/end_frame from AVFilterPad
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 23:36:09 +01:00
Michael Niedermayer
c0c0b19644
lavfi: remove some draw_slice related code that has become unneeded
...
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-30 16:58:50 +01:00
Michael Niedermayer
8227a0b7df
libavfilter: update doxy for filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-28 16:43:34 +01:00