summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.c
Commit message (Collapse)AuthorAge
* lavfi: reindent after previous commit.Nicolas George2017-01-12
|
* lavfi: make two functions static.Nicolas George2017-01-12
| | | | | ff_request_frame_to_filter() and ff_filter_frame_to_filter() are only used in avfilter.c.
* lavfi: disallow ff_request_frame for filters using activate.Nicolas George2017-01-12
| | | | | Having two different functions allows to have stricter tests and detect errors earlier.
* lavfi: add ff_inlink_request_frame().Nicolas George2017-01-12
|
* lavfi: move ff_update_link_current_pts() into the utility functions.Nicolas George2017-01-12
| | | | | | It does not change anything for the existing filters and makes better code fatrorization when future code will use the utility functions.
* lavfi: cosmetic: remove forward declaration.Nicolas George2017-01-12
|
* lavfi: add AVFilter.activate.Nicolas George2017-01-12
|
* lavfi: use the consume helpers in ff_filter_frame_to_filter().Nicolas George2017-01-12
|
* lavfi: add helpers to consume frames from link FIFOs.Nicolas George2017-01-12
|
* lavfi: pass min explicitly to samples_ready().Nicolas George2017-01-12
|
* lavfi: add ff_inlink_evaluate_timeline_at_frame().Nicolas George2017-01-12
|
* lavfi: add ff_inlink_process_commands().Nicolas George2017-01-12
|
* lavfi: merge two variables after a recent commit.Nicolas George2017-01-12
|
* lavfi: implement ff_inlink_make_frame_writable().Nicolas George2017-01-12
| | | | | | | | 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.
* lavfi: export ff_filter_set_ready() to the library.Nicolas George2017-01-12
|
* lavfi: add ff_inlink_acknowledge_status().Nicolas George2017-01-12
| | | | | Also introduce libavfilter/filters.h for all functions needed to implement filters.
* lavfi/framepool: rename FFVideoFramePool to FFFramePoolMatthieu Bouron2017-01-12
|
* lavfi: take_samples: free frames after taking all samples.Nicolas George2016-12-22
|
* lavfi: make filter_frame non-recursive.Nicolas George2016-12-18
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* avfilter/avfilter: fix filtering frames with unknown channel layouts for ↵Marton Balint2016-12-13
| | | | | | | filters needing writable frames Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* lavfi: split frame_count between input and output.Nicolas George2016-11-13
| | | | | | | | | | | | AVFilterLink.frame_count is supposed to count the number of frames that were passed on the link, but with min_samples, that number is not always the same for the source and destination filters. With the addition of a FIFO on the link, the difference will become more significant. Split the variable in two: frame_count_in counts the number of frames that entered the link, frame_count_out counts the number of frames that were sent to the destination filter.
* Merge commit '5b63b15663d31f50ce45d980b904a68795ad3f7a'Hendrik Leppkes2016-10-07
|\ | | | | | | | | | | | | * commit '5b63b15663d31f50ce45d980b904a68795ad3f7a': lavfi: set the link hwframes context before configuring the dst input Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavfi: set the link hwframes context before configuring the dst inputAnton Khirnov2016-06-25
| | | | | | | | | | The destination filter might expect the hw frames context to be already set (this is the case e.g. for hwdownload).
* | avfilter: add ff_filter_get_nb_threads()Paul B Mahol2016-08-29
| |
* | avfilter: add nb_threads to AVFilterContextPaul B Mahol2016-08-29
| | | | | | | | To be used in following commits.
* | Merge commit '07a844f32ebb78503981df017fa3ebfedb75fe1c'Derek Buitenhuis2016-04-14
|\| | | | | | | | | | | | | * commit '07a844f32ebb78503981df017fa3ebfedb75fe1c': lavfi: generic hardware surface upload and download filters Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavfi: generic hardware surface upload and download filtersMark Thompson2016-03-19
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'b3dd30db0b2d857147fc0e1461a00bd6172a26a3'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit 'b3dd30db0b2d857147fc0e1461a00bd6172a26a3': lavfi: pass the hw frames context through the filter chain Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavfi: pass the hw frames context through the filter chainAnton Khirnov2016-02-14
| |
* | lavfi: make request_frame() non-recursive.Nicolas George2015-12-22
| | | | | | | | | | | | | | 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.
* | lavfi: replace link.closed by link.status.Nicolas George2015-12-22
| | | | | | | | | | | | 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.
* | lavfi: add link.current_pts field.Nicolas George2015-12-22
| |
* | lavfi: rename link.current_pts to current_pts_us.Nicolas George2015-12-22
| | | | | | | | | | | | | | This field is used for fast comparison between link ages, it is in AV_TIME_BASE units, in other words microseconds, µs =~ us. Renaming it allows a second field in link time base units.
* | lavfi: use a video frame pool for each link of the filtergraphMatthieu Bouron2015-12-15
| |
* | Merge commit '48ff6683ba5d40b629428673b1028e8ec542a9fa'Hendrik Leppkes2015-11-11
|\| | | | | | | | | | | | | * commit '48ff6683ba5d40b629428673b1028e8ec542a9fa': lavfi: add a frame_rate field to AVFilterLink. Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavfi: add a frame_rate field to AVFilterLink.Nicolas George2015-11-09
| | | | | | | | | | | | (cherry picked from ffmpeg commit 7b42036b3b23c85f473bf9369e37fa8da22eaf93) Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | avfilter: ReindentTimothy Gu2015-10-26
| |
* | avfilter/avfilter: Error out if audio parameters change instead of failing ↵Michael Niedermayer2015-10-16
| | | | | | | | | | | | | | | | | | | | | | an assert Filters which support such changes should be excluded from these checks Fixes Ticket4884 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.Nicolas George2015-09-20
| | | | | | | | It has no longer any effect.
* | lavfi: drop the requirement that request_frame returns a frame.Nicolas George2015-09-20
| | | | | | | | | | | | | | | | 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.
* | Merge commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1'Hendrik Leppkes2015-09-05
|\| | | | | | | | | | | | | * commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1': lavfi: Drop deprecated *_count suffixed variables Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavfi: Drop deprecated *_count suffixed variablesVittorio Giovara2015-08-28
| | | | | | | | Deprecated in 06/2012.
* | Merge commit '86e5056575f55f070609dd3926605302f7d2280e'Hendrik Leppkes2015-09-05
|\| | | | | | | | | | | | | * commit '86e5056575f55f070609dd3926605302f7d2280e': lavfi: Drop deprecated public AVFilterPad struct Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | | | | | This applies to every library where performance is not critical.
* | avfilter/avfilter: Add a few more basic filters to the list which support ↵Michael Niedermayer2015-09-05
| | | | | | | | | | | | | | | | frame size changes Fixes assertion failures Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavfi: fix compilation with FF_API_OLD_FILTER_OPTS=0.Ronald S. Bultje2015-08-18
| |
* | lavfi: add error message to help users convert to new lavfi syntax.Ronald S. Bultje2015-08-18
| |
* | avfilter: add missing FF_API_AVFILTERPAD_PUBLIC guardAndreas Cadhalpun2015-08-12
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | avfilter: remove obsolete function declarationsAndreas Cadhalpun2015-08-08
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | Merge commit '88b160a457e491cb9e014630ef5387ad3500258e'Michael Niedermayer2015-03-06
|\| | | | | | | | | | | | | | | | | | | * commit '88b160a457e491cb9e014630ef5387ad3500258e': avfilter: Return more meaningful error codes Conflicts: libavfilter/avfilter.c Merged-by: Michael Niedermayer <michaelni@gmx.at>