| Commit message (Collapse) | Author | Age |
|\
| |
| |
| |
| |
| |
| | |
* commit 'e3fb74f7f9a8f1895381355f40c92cac3c1023d9':
lavfi: Always propagate hw_frames_ctx through links
Merged-by: Matthieu Bouron <matthieu.bouron@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '5b63b15663d31f50ce45d980b904a68795ad3f7a':
lavfi: set the link hwframes context before configuring the dst input
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| |
| |
| |
| |
| | |
The destination filter might expect the hw frames context to be already
set (this is the case e.g. for hwdownload).
|
| | |
|
| |
| |
| |
| | |
To be used in following commits.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '07a844f32ebb78503981df017fa3ebfedb75fe1c':
lavfi: generic hardware surface upload and download filters
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'b3dd30db0b2d857147fc0e1461a00bd6172a26a3':
lavfi: pass the hw frames context through the filter chain
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '48ff6683ba5d40b629428673b1028e8ec542a9fa':
lavfi: add a frame_rate field to AVFilterLink.
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| |
| |
| |
| |
| |
| | |
(cherry picked from ffmpeg commit 7b42036b3b23c85f473bf9369e37fa8da22eaf93)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| | |
It has no longer any effect.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'e65e4cbbda03ca3c9087f069c9867d518415fca1':
lavfi: Drop deprecated *_count suffixed variables
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| |
| |
| |
| | |
Deprecated in 06/2012.
|
|\|
| |
| |
| |
| |
| |
| | |
* commit '86e5056575f55f070609dd3926605302f7d2280e':
lavfi: Drop deprecated public AVFilterPad struct
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
|
| |
| |
| |
| | |
This applies to every library where performance is not critical.
|
| |
| |
| |
| |
| |
| |
| |
| | |
frame size changes
Fixes assertion failures
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
| | |
|
| | |
|