Anton Khirnov
6f834293d3
af_asyncts: fix request_frame() behavior.
...
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:15 +02:00
Justin Ruggles
8ca08066fc
lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
...
Also make this the default value.
2012-07-08 15:22:11 -04:00
Anton Khirnov
b7558ac293
af_amix: avoid spurious EAGAIN.
...
Input on/off state can change in request_samples(), which can result in
a state where only the first input is active. get_available_samples()
will then return 0, and request_frame() will fail with EAGAIN even
though there is data on the single active input.
Take this into account and check the number of active inputs again after
calling request_samples().
2012-07-06 13:51:58 +02:00
Anton Khirnov
54bf88e65f
af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
...
0 should only be returned when there was at least one output frame.
2012-07-06 13:51:58 +02:00
Anton Khirnov
428b369804
af_amix: only consider negative return codes as errors.
2012-07-06 13:51:58 +02:00
Mans Rullgard
7c29377b70
lavfi: reclassify showfiltfmts as a TESTPROG
...
This tool uses lavfi internal symbols not accessible in shared
libraries. TESTPROGS are linked statically to allow them use of
library internals not normally exported.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 17:48:25 +01:00
Diego Biurrun
2047e40e6e
Clarify Doxygen comment for FF_API_* #defines.
2012-07-04 15:10:10 +02:00
Diego Biurrun
1a068bfefd
cosmetics: Consistently use C-style comments with multiple inclusion guards
2012-07-03 17:35:12 +02:00
Diego Biurrun
09f211987c
misc typo and wording fixes
2012-07-03 17:35:11 +02:00
Mans Rullgard
fb93e61e2b
x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
...
These functions are defined conditionally so any uses need to have
preprocessor guards.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Mans Rullgard
a87b17f328
vf_yadif: move x86 init code to x86/yadif.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Mans Rullgard
2f0accf103
vf_gradfun: move x86 init code to x86/gradfun.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Anton Khirnov
61d158c321
avfiltergraph: shut up uninitialized variable warning.
...
The warning silenced was:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:500:13: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:10:17 +02:00
Anton Khirnov
fd2784c3b5
af_join: initialize a variable to shut up gcc warning.
...
The warning silenced was:
libavfilter/af_join.c: In function ‘join_request_frame’:
libavfilter/af_join.c:451:9: warning: ‘nb_samples’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:09:15 +02:00
Anton Khirnov
422008ac63
amix: fix format specifier for AVFilterLink.sample_rate.
...
It is a plain int now.
2012-06-26 19:08:26 +02:00
Anton Khirnov
1a49a169eb
lavfi: make filters less verbose.
2012-06-26 19:08:13 +02:00
Anton Khirnov
83ba22392d
lavfi: reorder AVFilterLink fields.
...
Move private fields to the private section, remove holes.
2012-06-26 13:25:13 +02:00
Anton Khirnov
f892013ac4
lavfi: reorder AVFilterContext fields.
...
Place related fields together, remove holes.
2012-06-26 13:24:36 +02:00
Anton Khirnov
9618080512
lavfi: reorder AVFilter fields.
...
Place related fields together, remove holes, move private fields to the
end and mark them as private.
2012-06-26 13:23:51 +02:00
Anton Khirnov
f14e685609
lavfi: reorder AVFilterBufferRef fields.
...
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
cb81e29138
lavfi: reorder AVFilterBuffer fields.
...
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
1961e46c15
lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft
2012-06-26 13:20:19 +02:00
Anton Khirnov
5e88b96f37
lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft
2012-06-26 13:18:44 +02:00
Anton Khirnov
205e90249a
lavfi: use proper FF_API guards for different deprecated functions
2012-06-26 13:17:31 +02:00
Anton Khirnov
0b3b958135
lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft
2012-06-26 13:15:26 +02:00
Anton Khirnov
6c1e065bd4
lavfi: remove disabled FF_API_SAMPLERATE64 cruft
2012-06-26 13:15:14 +02:00
Anton Khirnov
8d900aa4d0
lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft
2012-06-26 13:14:59 +02:00
Anton Khirnov
a5e8c41c28
lavfi: remove 'opaque' parameter from AVFilter.init()
...
It is not used in any filters currently and is inherently evil. If
passing binary data to filters is required in the future, it should be
done with some AVOptions-based system.
2012-06-26 13:13:48 +02:00
Alex Converse
41e637e449
lavfi: Add the af_channelmap audio channel mapping filter.
...
Inspired by MPlayer's af_channels filter and SoX's remix effect.
2012-06-22 13:55:58 -07:00
Anton Khirnov
dc07fb6f7b
lavfi: add join audio filter.
...
It joins multiple input streams into one multi-channel output.
2012-06-22 21:26:18 +02:00
Anton Khirnov
f75be9856a
lavfi: allow audio filters to request a given number of samples.
...
This makes synchronization simpler for filters with multiple inputs.
2012-06-22 21:23:42 +02:00
Anton Khirnov
58b049f2fa
lavfi: support automatically inserting the fifo filter when needed.
...
This breaks libavfilter ABI.
2012-06-22 21:06:01 +02:00
Anton Khirnov
fa06623930
lavfi/audio: eliminate ff_default_filter_samples().
...
It currently does the following:
1) get a zeroed audio buffer
2) copy some properties (but not the data) of the input buffer to it
3) pass this buffer to the output filter
This looks useless and is indeed not used by any filters, therefore
delete it.
Make ff_null_filter_samples() (just pass the buffer to the next filter)
the new default.
2012-06-22 20:58:19 +02:00
Anton Khirnov
e026c9b390
lavfi/audio: don't set cur_buf in ff_filter_samples().
...
It's redundant, since the input buffer is passed as a parameter to the
filter_samples() callback, and can lead to stale pointers remaining on
the link.
2012-06-21 09:27:05 +02:00
Anton Khirnov
4a97ff2fa7
lavfi/fifo: add audio version of the fifo filter.
2012-06-21 07:38:35 +02:00
Anton Khirnov
27570e211a
fifo: fix parenthesis placement.
2012-06-21 07:38:28 +02:00
Anton Khirnov
394a2a0452
lavfi: rename vf_fifo.c -> fifo.c
...
It will be used for audio too.
2012-06-21 07:38:14 +02:00
Justin Ruggles
ae46fbee1d
af_amix: allow float planar sample format as input
2012-06-18 18:01:14 -04:00
Justin Ruggles
f0ece49e74
af_amix: use AVFloatDSPContext.vector_fmac_scalar()
2012-06-18 18:01:14 -04:00
Janne Grunau
fbc5740566
af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64
2012-06-15 19:10:58 +02:00
Anton Khirnov
9cdf74f904
lavfi/audio: use av_samples_copy() instead of custom code.
...
Fixes a possible invalid write, found by Nicolas George.
2012-06-13 13:58:58 +02:00
Anton Khirnov
24b2f4ed21
avfiltergraph: remove a redundant call to avfilter_get_by_name().
2012-06-13 13:58:03 +02:00
Anton Khirnov
2f296e39a1
lavfi: allow building without swscale.
2012-06-13 13:57:47 +02:00
Anton Khirnov
9baeff9506
lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
...
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov
9d0bfc5052
lavfi: make AVFilterPad opaque after two major bumps.
...
It will allow adding new fields to it without ABI breaks.
2012-06-13 11:11:33 +02:00
Anton Khirnov
84b9fbe055
lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
...
This will allow making AVFilterPad opaque for the calling apps, since
those are the only two fields that can be useful to the users.
2012-06-13 11:10:17 +02:00
Anton Khirnov
6d58358a3a
lavfi: make avfilter_get_video_buffer() private on next bump.
...
They are only useful inside filters and we don't allow user filters for
now.
2012-06-13 11:09:15 +02:00
Anton Khirnov
d625136877
lavfi: add channelsplit audio filter.
2012-06-12 21:38:59 +02:00
Alex Converse
65a80ee1ec
avfilter: Log an error if avfilter fails to configure a link.
2012-06-12 10:05:31 -07:00
Anton Khirnov
d7d071a673
vf_libopencv: add missing headers.
...
Fix build after b74a1da4
.
2012-06-10 08:02:02 +02:00
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.
2012-06-05 09:38:16 +02:00
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.
2012-06-05 09:38:08 +02:00
Anton Khirnov
b74a1da49d
lavfi: make formats API private on next bump.
...
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Anton Khirnov
8eb9bf0933
avfiltergraph: make some functions static.
...
They are not used outside of avfiltergraph.c
2012-06-04 14:17:39 +02:00
Justin Ruggles
c7bd556d48
lavfi: amix: check active input count before calling request_samples
...
fixes use of the amix filter with only 1 input
2012-05-30 16:20:03 -04:00
Janne Grunau
12d42cd7a8
avfilter: include required header file avfilter.h in video.h
2012-05-29 15:36:06 +02:00
Justin Ruggles
c7448c182a
lavfi: add audio mix filter
2012-05-23 16:37:34 -04:00
Anton Khirnov
0ce4a627c9
lavfi: fix comment, audio is supported now.
2012-05-22 21:37:44 +02:00
Anton Khirnov
ce353a881f
lavfi: fix incorrect comment.
...
poll_frame()/request_frame() are used for audio too.
2012-05-22 21:37:44 +02:00
Anton Khirnov
c04c533f62
lavfi: remove avfilter_null_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:36:23 +02:00
Anton Khirnov
43c7a01e98
lavfi: remove avfilter_default_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:33:26 +02:00
Mina Nagy Zaki
88c3b87bd8
lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
...
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.
Remove now empty defaults.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-22 21:32:57 +02:00
Anton Khirnov
ccefa89f39
avfiltergraph: smarter sample format selection.
2012-05-22 21:29:36 +02:00
Anton Khirnov
f297dd3812
asyncts: reset delta to 0 when it's not used.
...
Fixes an invalid write.
2012-05-22 21:28:20 +02:00
Justin Ruggles
e0d8427dce
af_resample: remove an extra space in the log output
2012-05-21 18:26:51 -04:00
Justin Ruggles
afeb3590fc
lavfi: add an audio split filter
...
Based on current version of the asplit filter in FFmpeg written by
Stefano Sabatini and others.
2012-05-21 14:49:52 -04:00
Justin Ruggles
cc30080b3f
lavfi: rename vf_split.c to split.c
...
This is in preparation for adding an audio split filter.
2012-05-21 14:49:52 -04:00
Anton Khirnov
54c5dd89e3
lavfi: Add fps filter.
...
Partially based on a patch by Robert Nagy <ronag89@gmail.com>
2012-05-18 19:33:54 +02:00
Anton Khirnov
7b3b24a8ee
lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs.
2012-05-18 19:29:39 +02:00
Diego Biurrun
91791ac2ed
avfilter: Move ff_get_ref_perms_string() to where it is used.
...
This fixes a compilation failure with -DDEBUG.
2012-05-15 19:10:46 +02:00
Anton Khirnov
d89eca507c
Add missing version bumps and APIchanges/Changelog entries.
2012-05-15 06:57:31 +02:00
Anton Khirnov
4a1ac8c43f
lavfi: move buffer management function to a separate file.
2012-05-15 06:53:22 +02:00
Anton Khirnov
4c64fed37c
lavfi: move formats-related functions from default.c to formats.c
...
It's more convenient to have them all in one file.
2012-05-15 06:52:01 +02:00
Anton Khirnov
c5432d3ca4
lavfi: move video-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-15 06:51:23 +02:00
Anton Khirnov
9f26421b0b
lavfi: add asyncts filter.
2012-05-14 21:36:11 +02:00
Anton Khirnov
fb604ae850
lavfi: add aformat filter
...
Based on a patch by Mina Nagy Zaki <mnzaki@gmail.com>
2012-05-14 21:36:11 +02:00
Anton Khirnov
a2cd9be212
lavfi: add an audio buffer sink.
2012-05-14 21:36:11 +02:00
Anton Khirnov
4c66c40718
lavfi: add an audio buffer source.
2012-05-14 21:36:11 +02:00
Anton Khirnov
720c6b78d1
buffersrc: add av_buffersrc_write_frame().
...
It's the same as av_vsrc_buffer_add_frame(), except it doesn't take pts
or pixel_aspect parameters. Those are read from AVFrame.
Deprecate av_vsrc_buffer_add_frame().
2012-05-14 21:36:11 +02:00
Anton Khirnov
8b05e13df3
buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
2012-05-14 21:36:10 +02:00
Anton Khirnov
fad729fa50
lavfi: rename vsrc_buffer.c to buffersrc.c
...
Most of the code will be shared for both audio and video version.
2012-05-14 21:36:10 +02:00
Anton Khirnov
fd127ede62
avfiltergraph: reindent
2012-05-14 21:36:10 +02:00
Anton Khirnov
ff1f51a8aa
lavfi: add channel layout/sample rate negotiation.
2012-05-14 21:36:10 +02:00
Anton Khirnov
5775a1832c
lavfi: add types and functions for channel layout/samplerate negotiation
2012-05-14 21:36:10 +02:00
Robert Nagy
394a0267ab
yadif: Flush filter on eof.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Robert Nagy
7dd56d411e
yadif: Improve pts accuracy.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Anton Khirnov
012f04a277
lavfi: autoinsert resample filter when necessary.
2012-05-12 18:09:29 +02:00
Anton Khirnov
d371e7b988
lavfi: add lavr-based audio resampling filter.
2012-05-12 18:09:28 +02:00
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.
2012-05-09 20:32:49 +02:00
Anton Khirnov
472fb3bbfa
lavfi: remove some audio-related function from public API.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:31:56 +02:00
Anton Khirnov
f20ab492ac
lavfi: change AVFilterLink.sample_rate from int64_t to int on next bump
...
There is no real reason for it to be 64bit, it's just a plain int in the
rest of Libav.
2012-05-09 20:31:26 +02:00
Anton Khirnov
a6bdfc2a92
lavfi: change AVFilterBufferRefAudioProps.sample_rate from uint32_t to int
...
There's no reason for it to be explicitly 32 bits. It's declared as a
plain int in all other places in Libav.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:30:28 +02:00
Stefano Sabatini
7ef0adcc2e
lavfi: simplify signature for avfilter_get_audio_buffer() and friends
...
The additional parameters are just complicating the function interface.
Assume that a requested samples buffer will *always* have the format
specified in the requested link.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:29:53 +02:00
Stefano Sabatini
6735534f19
lavfi: use avfilter_get_audio_buffer_ref_from_arrays() in avfilter_default_get_audio_buffer
2012-05-09 20:28:56 +02:00
Stefano Sabatini
e727bca392
lavfi: cleanup avfilter_get_audio_buffer() and pals.
...
Remove AVFilterBufferRefAudioProps.size, and use nb_samples in its place
everywhere.
This is required as the size in the audio buffer may be aligned, so it
may not contain a well defined number of samples.
Also remove the useless planar parameter, which can be deduced from the
sample format.
This is technically an API and ABI break, but since the audio part of
lavfi is not usable now, this should not be a problem in practice.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:26:19 +02:00
Stefano Sabatini
1b8c9271bd
lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 17:51:13 +02:00
Anton Khirnov
9453c9e1de
lavfi: add extended_data to AVFilterBuffer.
...
This is similar to what has previously been done in AVFrame to allow
dealing with more than 8 channels.
2012-05-09 17:47:53 +02:00
Anton Khirnov
ac71230902
lavfi: add video buffer sink, and use it in avtools
...
Also add the public interface libavfilter/buffersink.h.
Based on a commit by Stefano Sabatini.
2012-05-09 08:59:37 +02:00
Anton Khirnov
ab165047a6
lavfi: add a function for copying properties from AVFilterBufferRef->AVFrame
...
Based on a commit by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-05-09 08:49:36 +02:00
Anton Khirnov
8134fafe9b
lavfi: uninline avfilter_copy_buffer_ref_props().
...
A nontrivial public function such as this should most certainly NOT be
inline.
2012-05-07 14:23:36 +02:00