Anton Khirnov
129bb23843
lavfi: add a slice threading infrastructure
...
Mostly based on libavcodec's
12 years ago
Anton Khirnov
1565cbc65c
lavfi: make avfilter_free() remove the filter from its graph.
12 years ago
Anton Khirnov
bc1a985ba0
lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
...
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
12 years ago
Nicolas George
79d8cfacf0
lavfi: loop on request_frame if necessary.
...
Some filters need several input frames before producing output.
For these filter, it becomes simpler to return 0 in
request_frame() and let the framework call it again until
output has been produced.
12 years ago
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
12 years ago
Michael Niedermayer
2468827c06
internal.h: remove start/end_frame from AVFilterPad
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c0c0b19644
lavfi: remove some draw_slice related code that has become unneeded
...
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
8227a0b7df
libavfilter: update doxy for filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
3ed483cdfa
libavfilter: Support using filter_frame for video
...
With this we can mix filters using filter_frame OR start/draw_slice/end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
cd7febd33f
lavfi: replace filter_samples by filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
565e4993c6
lavfi: merge start_frame/draw_slice/end_frame
...
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
12 years ago
Clément Bœsch
54a48d2f04
lavfi: fix references to avfilter_* functions that don't exist anymore.
12 years ago
Nicolas George
9de731e9d0
lavfi/sink_buffer: implement libav compatibility API.
...
Implement av_buffersink_read() and av_buffersink_read_samples()
for ffmpeg's version of buffersink.
With this change, avconv linked against ffmpeg's libraries passes
the same number of tests whether it uses ffbuffersink or
buffersink_old.
12 years ago
Anton Khirnov
d4f89906e3
lavfi: add error handling to end_frame().
13 years ago
Anton Khirnov
e9b992d035
lavfi: add error handling to draw_slice().
13 years ago
Anton Khirnov
ebc8d97481
lavfi: add error handling to start_frame().
13 years ago
Nicolas George
cb6a20fa56
lavfi: add FF_*LINK_IDX convenience macros.
13 years ago
Nicolas George
97f86680eb
lavfi: make copy_buffer_ref common.
13 years ago
Anton Khirnov
cd99146253
lavfi: add error handling to filter_samples().
13 years ago
Stefano Sabatini
c17808cebd
lavfi: define macro AVFILTER_DEFINE_CLASS
...
The macro can be used to define consistently the internal class of a
filter, save some typing and factorize.
13 years ago
Anton Khirnov
58b049f2fa
lavfi: support automatically inserting the fifo filter when needed.
...
This breaks libavfilter ABI.
13 years ago
Anton Khirnov
9baeff9506
lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
...
This is more consistent with naming in the rest of Libav.
13 years ago
Anton Khirnov
9d0bfc5052
lavfi: make AVFilterPad opaque after two major bumps.
...
It will allow adding new fields to it without ABI breaks.
13 years ago
Stefano Sabatini
134815a030
lavfi: change name of tracing functions and of the macro which enables them
...
The enabling symbol is renamed FF_AVFILTER_TRACE. Avoid conflicts with
the DEBUG macro, which may be defined for different purposes.
13 years ago
Michael Niedermayer
7b0d362567
libavfilter: make ff_null_start_frame_keep_ref() a non static inline function.
...
Its only used through the start_frame pointer and thus cannot be inlined easily.
It also appears to break compilation with some unidentified compiler on darwin.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
1488c4dc0b
lavfi: move tracing utilities definition from video.c to avfilter.c
...
These utilities are meant to be defined in avfilter.c, since they are
generic and thus contain both audio and video code.
13 years ago
Anton Khirnov
803391f719
lavfi: remove request/poll and drawing functions from public API on next bump
...
They are only useful inside filters and we don't allow user filters for
now.
13 years ago
Anton Khirnov
fa417fcd27
lavfi: make avfilter_insert_pad and pals private on next bump.
...
They are only useful inside filters and we don't allow user filters for
now.
13 years ago
Anton Khirnov
8eb9bf0933
avfiltergraph: make some functions static.
...
They are not used outside of avfiltergraph.c
13 years ago
Michael Niedermayer
3448404a70
libavfilter: add ff_parse_time_base()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
4d4098da00
lavfi: drop planar/packed negotiation support
...
The planar/packed switch and the packing_formats list is no longer
required, since the planar/packed information is now stored in the sample
format enum.
This is technically a major API break, possibly it should be not too
painful as we marked the audio filtering API as unstable.
13 years ago
Anton Khirnov
0b45334a58
lavfi: move audio-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
13 years ago
Stefano Sabatini
6b55aab01a
lavfi: create buffer reference in filters which need to access the ref later
...
Also add internal function ff_null_start_frame_keep_ref().
Fix crash when a following filter (e.g. settb) will unref the reference
passed by start_frame(), and then the reference is accessed in
end_frame() through inlink->cur_buf.
13 years ago
Nicolas George
2ce7972779
avfiltergraph: add avfilter_graph_request_oldest().
...
Keep a heap of all sink links ordered by timestamps.
13 years ago
Michael Niedermayer
f068ce570f
avfilter: pool draining and self destruction support.
...
This should fix a memleak.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
386aee6864
sink_buffer: copy list of provided formats in the context
...
A list of formats may have been dynamically created by the calling code,
and thus should not be referenced by the sink buffer context.
Avoid possible invalid data reference.
13 years ago
Stefano Sabatini
8fe0c527f3
lavfi: add LUT (LookUp Table) generic filters
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Stefano Sabatini
e64de2ad1a
lavfi: document AVFilterCommand fields
13 years ago
Stefano Sabatini
4381bddc9f
lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
...
Also consistent with AVCodecContext.sample_rate. Simplify/avoid
pointless type checks and conversions.
Breaks audio API/ABI.
13 years ago
Michael Niedermayer
3d8176d2f5
avfilter: Add avfilter_graph_que_command()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Stefano Sabatini
e26782a9b4
lavfi: add ff_parse_pixel_format() internal function, and use it
...
Reduce code duplication.
14 years ago
Mina Nagy Zaki
3f07d40ea2
lavfi: add internal functions for parsing format arguments
...
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
14 years ago
Stefano Sabatini
7464a53aaa
lavfi: make pix_fmt_is_in() in vf_lut.c an internal function
...
Also generalize it, making it accept ints rather than pixel formats.
Allow factorization.
14 years ago
Stefano Sabatini
77b32b73ed
lavfi: apply misc style fixes
...
Adopt K&R style for overall consistency/readability.
14 years ago
Diego Biurrun
153382e1b6
multiple inclusion guard cleanup
...
Add missing multiple inclusion guards; clean up #endif comments;
add missing library prefixes; keep guard names consistent.
14 years ago
Michael Niedermayer
39f66edbea
AVFilter: use picture pool to avoid malloc().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Elio Pettenò
97e528a9e1
Make the avfilter debug functions and macros static to avfilter.c
...
This removes ff_get_ref_perms_string, ff_dprintf_ref and ff_dprintf_link
fro the interface of libavfilter.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit eb7ccf8f33
)
14 years ago
Diego Elio Pettenò
eb7ccf8f33
Make the avfilter debug functions and macros static to avfilter.c
...
This removes ff_get_ref_perms_string, ff_dprintf_ref and ff_dprintf_link
fro the interface of libavfilter.
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Stefano Sabatini
4723bc2868
Make avfilter_default_free_buffer() an internal shared symbol, so that
...
it can be referenced outside defaults.c.
Originally committed as revision 25826 to svn://svn.ffmpeg.org/ffmpeg/trunk
14 years ago