Paul B Mahol
7d65fe87e9
avfilter: add ff_inlink_queued_samples()
2018-10-04 12:10:20 +02:00
Marton Balint
8f14170b9a
avfilter/filters: add ff_inlink_peek_frame and ff_inlink_queued_frames to access frames in the inlink fifo
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-10-03 22:09:49 +02:00
Paul B Mahol
4c514edc5b
avfilter/avfilter: fix typos in comments
2018-10-03 19:11:52 +02:00
Jun Zhao
fe06ed22e6
lavfi: fix can't dispaly "slice" sub-option in "ffmpeg -h full"
...
fix can't dispaly "slice" sub-option in "ffmpeg -h full" for
AVFilter options.
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-08-16 19:45:07 +08:00
Josh de Kock
8f1382f80e
lavfi: add new iteration API
...
Signed-off-by: Josh de Kock <josh@itanimul.li>
2018-03-31 23:26:30 +01:00
Mark Thompson
bcab11a1a2
Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'
...
* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
lavfi: Add support for increasing hardware frame pool sizes
Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:28:12 +00:00
Mark Thompson
6d86cef06b
lavfi: Add support for increasing hardware frame pool sizes
...
AVFilterContext.extra_hw_frames functions identically to the field of
the same name in AVCodecContext.
2018-02-11 22:11:06 +00:00
James Almer
b2c42fc6dc
avfilter: deprecate avfilter_link_get_channels()
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-06 11:01:16 -03:00
James Almer
da5b05c833
Revert "avfilter: deprecate avfilter_link_get_channels()"
...
This reverts commit 798dcf2432
.
It was applied by accident before it could be reviewed.
2018-01-05 22:13:28 -03:00
James Almer
798dcf2432
avfilter: deprecate avfilter_link_get_channels()
...
And move the channels field to the public section of the struct.
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 17:49:09 -03:00
James Almer
167e659b28
avfilter: use a mutex instead of atomics in avfilter_register()
...
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 13:18:34 -03:00
Paul B Mahol
e6055af025
avfilter: pass correct argument to helper function
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-10-31 20:37:22 +01:00
James Almer
d1b1a65662
Merge commit '96a47364d1cf346a5d0437e054b1b10d44d8d969'
...
* commit '96a47364d1cf346a5d0437e054b1b10d44d8d969':
lavfi: Drop deprecated non-const filter retrieval
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:40:14 -03:00
James Almer
de0b26ce28
Merge commit '8e18328b18e69b38a5feae5d10ad01b403a205b6'
...
* commit '8e18328b18e69b38a5feae5d10ad01b403a205b6':
lavfi: Drop deprecated filter registration
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:37:34 -03:00
James Almer
5045cf27aa
Merge commit '52067b3c0e5ddbcf7021a093420798420351a9e2'
...
* commit '52067b3c0e5ddbcf7021a093420798420351a9e2':
lavfi: Drop deprecated filter initialization
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:35:14 -03:00
James Almer
7c4f63d05b
Merge commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9'
...
* commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9':
lavfi: Drop deprecated functions to open a filter or a filterchain
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:28:35 -03:00
James Almer
0ed61546c4
Merge commit '88fd836a015a5f3380df74592e440e7d1e5b8000'
...
* commit '88fd836a015a5f3380df74592e440e7d1e5b8000':
lavfi: Drop deprecated way of passing options for a few filters
Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:27:03 -03:00
Sasi Inguva
123f6dc6b5
lavfi/avfilter.c: Correct guess_status_pts to account for differing link timebases.
...
Signed-off-by: Sasi Inguva <isasi@google.com>
2017-10-07 11:17:23 +02:00
Nicolas George
76613618d9
lavfi: add helper functions and macros for activate.
2017-09-12 11:03:50 +02:00
Nicolas George
f5a9c63401
lavfi: guess a timestamp for compat status change.
...
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.
2017-09-08 10:21:59 +02:00
Nicolas George
dfa3aaa22a
lavfi: search options on child objects.
...
The child objects must be allocated and inited in the
preinit() callback.
2017-08-29 10:19:04 +02:00
Nicolas George
f8d7b5febb
lavfi: add a preinit callback to filters.
...
It is necessary for filters with child objects, to set the class
and default options values.
2017-08-29 10:19:04 +02:00
Nicolas George
b77f041dff
lavfi: make FFERROR_NOT_READY available to filters.
...
I am not entirely sure that this return code is useful,
but having and using it makes no harm.
2017-07-30 12:23:56 +02:00
Muhammad Faiz
fc3a03fcf9
avfilter: take_samples: do not directly return frame when samples are skipped
...
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>
2017-05-20 23:19:46 +07:00
Muhammad Faiz
6af050d7d0
avfilter: do not use AVFrame accessor
...
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-04-23 14:40:30 +07:00
Matthieu Bouron
b5e1ec5660
Merge commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9'
...
* commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9':
lavfi: Always propagate hw_frames_ctx through links
Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-03-30 00:02:08 +02:00
Vittorio Giovara
96a47364d1
lavfi: Drop deprecated non-const filter retrieval
...
Deprecated in 10/2013.
2017-03-23 10:09:11 +01:00
Vittorio Giovara
8e18328b18
lavfi: Drop deprecated filter registration
...
Deprecated in 04/2013.
2017-03-23 09:57:33 +01:00
Vittorio Giovara
52067b3c0e
lavfi: Drop deprecated filter initialization
...
Deprecated in 03/2013.
2017-03-23 09:57:33 +01:00
Vittorio Giovara
c5c7cfd5e8
lavfi: Drop deprecated functions to open a filter or a filterchain
...
Deprecated in 03/2013.
2017-03-23 09:57:32 +01:00
Vittorio Giovara
88fd836a01
lavfi: Drop deprecated way of passing options for a few filters
...
Deprecated in 02/2013.
2017-03-23 09:57:32 +01:00
Nicolas George
383057f8e7
lavfi: make ff_framequeue_skip_samples() more useful.
...
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>
2017-01-29 18:53:11 +01:00
Nicolas George
aaae459a85
lavfi: reindent after previous commit.
2017-01-12 14:06:16 +01:00
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
9eb4c79afd
lavfi: add ff_inlink_request_frame().
2017-01-12 14:06:16 +01:00
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
Matthieu Bouron
b1f68f00b1
lavfi/framepool: rename FFVideoFramePool to FFFramePool
2017-01-12 10:22:52 +01:00
Nicolas George
ff8b17c998
lavfi: take_samples: free frames after taking all samples.
2016-12-22 10:35:48 +01:00