Vittorio Giovara
5655732c77
avfilter: add needs_writable field to the internal AVFilterPad structure
11 years ago
Nicolas George
6e2473edfd
lavfi: parsing helper for unknown channel layouts.
...
Make ff_parse_channel_layout() accept unknown layouts too.
11 years ago
Michael Niedermayer
d5ec8ba7f2
Do not leave positive values undefined when negative are defined as error
...
Define positive return values as non errors and leave further meaning undefined
This allows future extensions to use these values
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
0767bfd199
lavfi: allow user-provided execute() callbacks
11 years ago
Paul B Mahol
211a185cba
avfilter/avfilter: check allocation failure in ff_insert_pad()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
11 years ago
Michael Niedermayer
247fa6c27c
avfilter: remove ff_copy_int*_list
...
The functions are unused
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
11 years ago
Diego Biurrun
45dd1ae1b3
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
11 years ago
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>
13 years ago
Stefano Sabatini
e26782a9b4
lavfi: add ff_parse_pixel_format() internal function, and use it
...
Reduce code duplication.
13 years ago
Mina Nagy Zaki
3f07d40ea2
lavfi: add internal functions for parsing format arguments
...
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
13 years ago