summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.c
Commit message (Collapse)AuthorAge
...
| * lavfi: Drop deprecated filter registrationVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 04/2013.
* | Merge commit '52067b3c0e5ddbcf7021a093420798420351a9e2'James Almer2017-10-21
|\| | | | | | | | | | | | | * commit '52067b3c0e5ddbcf7021a093420798420351a9e2': lavfi: Drop deprecated filter initialization Merged-by: James Almer <jamrial@gmail.com>
| * lavfi: Drop deprecated filter initializationVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 03/2013.
* | Merge commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9'James Almer2017-10-21
|\| | | | | | | | | | | | | * commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9': lavfi: Drop deprecated functions to open a filter or a filterchain Merged-by: James Almer <jamrial@gmail.com>
| * lavfi: Drop deprecated functions to open a filter or a filterchainVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 03/2013.
* | Merge commit '88fd836a015a5f3380df74592e440e7d1e5b8000'James Almer2017-10-21
|\| | | | | | | | | | | | | * commit '88fd836a015a5f3380df74592e440e7d1e5b8000': lavfi: Drop deprecated way of passing options for a few filters Merged-by: James Almer <jamrial@gmail.com>
| * lavfi: Drop deprecated way of passing options for a few filtersVittorio Giovara2017-03-23
| | | | | | | | Deprecated in 02/2013.
* | lavfi/avfilter.c: Correct guess_status_pts to account for differing link ↵Sasi Inguva2017-10-07
| | | | | | | | | | | | timebases. Signed-off-by: Sasi Inguva <isasi@google.com>
* | lavfi: add helper functions and macros for activate.Nicolas George2017-09-12
| |
* | lavfi: guess a timestamp for compat status change.Nicolas George2017-09-08
| | | | | | | | | | | | | | | | | | Use the earliest input with the same status. If that fails, print a warning and use the earliest source. With this change, simple filter forward correctly the timestamp of EOF. Filters that are supposed to change it should be updated to actually forward it.
* | lavfi: search options on child objects.Nicolas George2017-08-29
| | | | | | | | | | The child objects must be allocated and inited in the preinit() callback.
* | lavfi: add a preinit callback to filters.Nicolas George2017-08-29
| | | | | | | | | | It is necessary for filters with child objects, to set the class and default options values.
* | lavfi: make FFERROR_NOT_READY available to filters.Nicolas George2017-07-30
| | | | | | | | | | I am not entirely sure that this return code is useful, but having and using it makes no harm.
* | avfilter: take_samples: do not directly return frame when samples are skippedMuhammad Faiz2017-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modifying data pointer when skipping samples may make it unaligned. Workaround for Ticket6349. This should fix the crash of ticket's testcase and a crash/regression with avxsynth (reported by Michael Niedermayer). Also change frame->nb_samples < max to frame->nb_samples <= max. This improves performance. Benchmark: ./ffmpeg -filter_complex "aevalsrc=0:n=1166,firequalizer=fixed=on" -f null null old: 25767 decicycles in take_samples, 1023 runs, 1 skips 25422 decicycles in take_samples, 2047 runs, 1 skips 25181 decicycles in take_samples, 4095 runs, 1 skips 24904 decicycles in take_samples, 8191 runs, 1 skips new: 550 decicycles in take_samples, 1024 runs, 0 skips 548 decicycles in take_samples, 2048 runs, 0 skips 545 decicycles in take_samples, 4096 runs, 0 skips 544 decicycles in take_samples, 8192 runs, 0 skips Reviewed-by: Nicolas George <george@nsup.org> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* | avfilter: do not use AVFrame accessorMuhammad Faiz2017-04-23
| | | | | | | | | | Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* | Merge commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9'Matthieu Bouron2017-03-30
|\| | | | | | | | | | | | | * commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9': lavfi: Always propagate hw_frames_ctx through links Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
| * lavfi: Always propagate hw_frames_ctx through linksMark Thompson2016-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also adds a new flag to mark filters which are aware of hwframes and will perform this task themselves, and marks all appropriate filters with this flag. This is required to allow software-mapped hardware frames to work, because we need to have the frames context available for any later mapping operation in the filter graph. The output from the filter graph should only propagate further to an encoder if the hardware format actually matches the visible format (mapped frames are valid here and have an hw_frames_ctx, but this should not be given to the encoder as its hardware context).
* | lavfi: make ff_framequeue_skip_samples() more useful.Nicolas George2017-01-29
| | | | | | | | | | | | | | | | | | | | Instead of just updating statistics and leaving the work to the call site, have it actually do the work. Also: skip the samples by updating the frame data pointers instead of moving the samples. More efficient and avoid writing into shared frames. Found-By: Muhammad Faiz <mfcc64@gmail.com>
* | 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
| |