Age | Commit message (Collapse) | Author |
|
* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
lavfi: Add support for increasing hardware frame pool sizes
Merged-by: Mark Thompson <sw@jkqxz.net>
|
|
AVFilterContext.extra_hw_frames functions identically to the field of
the same name in AVCodecContext.
|
|
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
This reverts commit 798dcf2432999f449c76c0e0fe2d7a4ee5eabbc2.
It was applied by accident before it could be reviewed.
|
|
And move the channels field to the public section of the struct.
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
|
|
Signed-off-by: Paul B Mahol <onemda@gmail.com>
|
|
* commit '96a47364d1cf346a5d0437e054b1b10d44d8d969':
lavfi: Drop deprecated non-const filter retrieval
Merged-by: James Almer <jamrial@gmail.com>
|
|
* commit '8e18328b18e69b38a5feae5d10ad01b403a205b6':
lavfi: Drop deprecated filter registration
Merged-by: James Almer <jamrial@gmail.com>
|
|
* commit '52067b3c0e5ddbcf7021a093420798420351a9e2':
lavfi: Drop deprecated filter initialization
Merged-by: James Almer <jamrial@gmail.com>
|
|
* commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9':
lavfi: Drop deprecated functions to open a filter or a filterchain
Merged-by: James Almer <jamrial@gmail.com>
|
|
* commit '88fd836a015a5f3380df74592e440e7d1e5b8000':
lavfi: Drop deprecated way of passing options for a few filters
Merged-by: James Almer <jamrial@gmail.com>
|
|
timebases.
Signed-off-by: Sasi Inguva <isasi@google.com>
|
|
|
|
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.
|
|
The child objects must be allocated and inited in the
preinit() callback.
|
|
It is necessary for filters with child objects, to set the class
and default options values.
|
|
I am not entirely sure that this return code is useful,
but having and using it makes no harm.
|
|
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>
|
|
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
|
|
* commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9':
lavfi: Always propagate hw_frames_ctx through links
Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
|
|
Deprecated in 10/2013.
|
|
Deprecated in 04/2013.
|
|
Deprecated in 03/2013.
|
|
Deprecated in 03/2013.
|
|
Deprecated in 02/2013.
|
|
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>
|
|
|
|
ff_request_frame_to_filter() and ff_filter_frame_to_filter()
are only used in avfilter.c.
|
|
Having two different functions allows to have stricter tests
and detect errors earlier.
|
|
|
|
It does not change anything for the existing filters and makes
better code fatrorization when future code will use the utility
functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
Also introduce libavfilter/filters.h for all functions needed
to implement filters.
|
|
|
|
|
|
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.
|
|
filters needing writable frames
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
|
|
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.
|
|
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).
|
|
* commit '5b63b15663d31f50ce45d980b904a68795ad3f7a':
lavfi: set the link hwframes context before configuring the dst input
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|