Commit Graph

204 Commits

Author SHA1 Message Date
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
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
4a1ac8c43f lavfi: move buffer management function to a separate file. 2012-05-15 06:53:22 +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
ff1f51a8aa lavfi: add channel layout/sample rate negotiation. 2012-05-14 21:36:10 +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
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
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
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
Anton Khirnov
0bbd874743 lavfi: support audio in avfilter_copy_frame_props(). 2012-05-07 07:10:48 +02:00
Stefano Sabatini
1c9e340d35 lavfi: add avfilter_copy_frame_props()
avfilter_copy_frame_props() avoids code duplication and increases
robustness.
2011-12-25 16:18:57 +01:00
Mans Rullgard
cc276c85d1 Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.

Fixes a few invalid shifts.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Alex Converse
0d7a16a946 avfilter: Don't copy garbage from the stack when setting up video pictures. 2011-11-03 15:54:04 -07:00
Diego Biurrun
d6e0729b24 avfilter: Surround function only used in debug mode by appropriate #ifdef.
This fixes the warning:
libavfilter/avfilter.c:219: warning: ‘ff_get_ref_perms_string’ defined but not used
2011-05-29 13:43:03 +02:00
Stefano Sabatini
5dc65a3d03 lavfi: print key-frame and picture type information in ff_dlog_ref()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
(cherry picked from commit f7bdffb09d)
2011-05-16 14:13:03 -07:00
Ronald S. Bultje
0699dbb847 avfilter: check malloc return values. 2011-05-03 22:35:23 -04:00
Ronald S. Bultje
f8af93ab99 avfilter: don't av_malloc(0). 2011-05-03 22:29:13 -04:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Janne Grunau
a03be6e1ba use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_* 2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Stefano Sabatini
70c275f8c3 Make avfilter_config_links() propagate audio information of the source link if it is not explicitely set by the filter. 2011-02-14 21:00:25 +01:00
Michael Niedermayer
910b5b82e8 Add sample_aspect_ratio to AVFilterLink
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 13:07:21 +00:00
Stefano Sabatini
5fce60c3a9 Log debug information in filter_samples().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-02 12:12:32 +00:00
Luca Barbato
dfd2a005eb Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
2011-01-29 23:55:37 +01:00
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>
2011-01-26 15:33:12 +00:00
Stefano Sabatini
b1779800c4 Include libavcore/audioconvert.h, required for
av_get_channel_layout_string() in ff_dprintf_link.

Fix compilation.

Originally committed as revision 26380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 20:43:01 +00:00
Stefano Sabatini
1d5b188518 Reindent.
Originally committed as revision 26379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 20:02:03 +00:00
Stefano Sabatini
7986e34db0 Make ff_dprintf_link() print meaningful information for audio links.
Originally committed as revision 26378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 19:58:29 +00:00
Stefano Sabatini
a242ac3620 Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
More consistent with the rest of FFmpeg and sounds more natural to
English speaking people.

Originally committed as revision 26374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:31:34 +00:00
Stefano Sabatini
6baf4afa99 Make avfilter_unref_buffer() accept a NULL parameter.
Originally committed as revision 26373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:21:15 +00:00
Stefano Sabatini
891aeeee72 Check linked pads media type mismatch in avfilter_link().
Originally committed as revision 26325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-13 01:00:36 +00:00
Michael Niedermayer
36dc00de52 Add w,h,format back into AVFilterBuffer, these are required for direct rendering.
These fields are needed to be able to know which area of memory is allocated and
which is off limits.
This reverts 24291 and parts of r24424.

Originally committed as revision 26314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-11 23:53:17 +00:00
Michael Niedermayer
0ccabeeaef Support filters and decoders that dont support negative linesizes.
This patch is based on work by stefano.

Originally committed as revision 26108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 15:10:21 +00:00
Stefano Sabatini
fee0deb61f Fix avfilter_draw_slice() copy code with alpha planes.
Originally committed as revision 26060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-19 19:08:30 +00:00
Stefano Sabatini
3fa77bde1b In libavfilter, use consistently "Copyright (c)" in the license
headers.

Originally committed as revision 25838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-28 10:22:58 +00:00
Stefano Sabatini
d38c340fdc Implement avfilter_get_video_buffer_ref_from_arrays().
Originally committed as revision 25827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-25 20:50:28 +00:00
Stefano Sabatini
906eaab460 In ff_get_ref_perms_string() use 'u' and 'U' for representing
AV_PERM_REUSE and AV_PERM_REUSE2 flags, avoid conflict with the char
'r' used for AV_PERM_READ.

Originally committed as revision 25739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 09:20:32 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Stefano Sabatini
24de0edbd5 Rename avfilter_destroy() as avfilter_free().
The new name is shorter and more consistent with the FFmpeg API, and
sounds less evil.

Originally committed as revision 25707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-08 12:32:39 +00:00
Stefano Sabatini
d545aea8f0 100l: remove bogus inclusion of libavcodec/audioconvert.c in
avfilter.c.

Originally committed as revision 25565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-25 04:28:36 +00:00
Stefano Sabatini
cf5fe8ec9e Make avfilter_config_links() use the timebase of the first input link
of a filter for setting the output timebase, if there is such a link,
rather than always use AV_TIME_BASE_Q.

This fixes configuration for all the filters which do not use the
default config_props for the output link, and do not set explicitely
the timebase.

Originally committed as revision 25456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 22:32:31 +00:00
Stefano Sabatini
867ae7aa5d Add a time_base field to AVFilterLink.
This is required for allowing a filter to use a time base different
from AV_TIME_BASE_Q, as it was previously assumed.

Originally committed as revision 25441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 22:26:14 +00:00
Stefano Sabatini
69f73a8928 Make avfilter_config_links() propagate the error code coming from the
callee functions.

Originally committed as revision 25433 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 18:54:39 +00:00
Stefano Sabatini
486adc55c0 Use more expressive names for the avfilter_insert_filter() in and out
parameters.

Originally committed as revision 25235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 21:57:16 +00:00
Stefano Sabatini
db9dfa3cc3 Make avfilter_insert_filter() propagate an error code in case the
called avfilter_link() fails.

Originally committed as revision 25229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 17:28:53 +00:00