Commit Graph

174 Commits

Author SHA1 Message Date
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
Stefano Sabatini acc0490f09 Make AVFilterLink store the pointers to the source and destination
pads, rather than their index.

Originally committed as revision 25227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 16:58:48 +00:00
Stefano Sabatini b1a05b820e Make avfilter_destroy() code less convoluted, introducing a temporary
variable link.

Originally committed as revision 25217 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 01:17:46 +00:00
Stefano Sabatini e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Stefano Sabatini eedca998eb Implement ff_get_ref_perms_string() and use it for tracing.
Originally committed as revision 24900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:12:13 +00:00
Stefano Sabatini 5a9dd3de63 Make avfilter_start_frame() invoke avfilter_get_video_buffer() on the
link rather than avfilter_default_get_video_buffer().

This is required as the buffer requested may be greater than the
buffer allocated locally by avfilter_default_get_video_buffer(), for
example if in filterchain there is a pad filter (like in "fifo,pad").

In that case the pad filter will try to write beyond the data of the
allocated buffer, resulting in a crash.

Originally committed as revision 24895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 08:37:54 +00:00
Stefano Sabatini 014df3a2aa Make ff_dprintf_ref() print audio related information if available.
Originally committed as revision 24849 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 15:16:10 +00:00
Stefano Sabatini e29b451a51 Cosmetics: merge two lines in ff_dprintf_ref().
Originally committed as revision 24848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 15:16:07 +00:00
Stefano Sabatini 0055b2d11a Make ff_dprintf_ref() print the information related to the referenced
AVFilterBuffer.

Originally committed as revision 24847 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 15:16:02 +00:00
Stefano Sabatini b5fbb31e55 Rename ff_dprintf_picref() to ff_dprintf_ref().
The function is going to be used to represent also audio data.

Originally committed as revision 24846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 15:15:57 +00:00
Stefano Sabatini 801ab98088 Extend ff_dprintf_picref() to make it print video interlaced and
top_field_first information.

Originally committed as revision 24845 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 14:41:23 +00:00
Stefano Sabatini 382ecd3537 Make ff_dprintf_picref() print video properties only if available.
Originally committed as revision 24844 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 14:41:21 +00:00
Stefano Sabatini 28c52b1ed9 Only print the pointer to the first plane in ff_dprintf_picref().
To display the other planes is usually not useful and add noise to the
output.

Originally committed as revision 24843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 14:41:18 +00:00
Stefano Sabatini dc46661ae2 Enable and change the log level to DEBUG for the message printed in
case of picref copy.

Originally committed as revision 24831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 14:32:36 +00:00
Stefano Sabatini ca8574310f Cosmetics: apply misc spacing style fixes.
Originally committed as revision 24830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-19 14:32:31 +00:00
S.N. Hemanth Meenakshisundaram ad2c950154 Implement libavfilter audio framework.
Patch by S.N. Hemanth Meenakshisundaram * smeenaks * ucsd * edu *.

Originally committed as revision 24811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 18:08:03 +00:00
Stefano Sabatini 4f9ce3c4c7 Add missing NULL checks in avfilter_ref_buffer().
Originally committed as revision 24808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 15:12:22 +00:00
Stefano Sabatini 81c1ecabab Deprecate ff_get_plane_bytewidth() in favor of
av_get_image_linesize().

Originally committed as revision 24787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:06:04 +00:00
S.N. Hemanth Meenakshisundaram 382ac60e44 Set type on buffer in get_video_buffer().
Patch by S.N. Hemanth Meenakshisundaram reverse("skaneems") + "@ucsd.edu".

Originally committed as revision 24775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 15:38:50 +00:00
Stefano Sabatini 84c0386960 Change avfilter_open() signature, from:
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

This way it is possible to propagate an error code telling the reason
of the failure.

Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:44:51 +00:00
S.N. Hemanth Meenakshisundaram cc80caff52 Separate video specific BufferRef properties into VideoProps.
Define a new struct AVFilterBufferRefVideoProps and add a type field
to AVFilterBufferRef.

Video specific properties in AVFilterBufferRefVideoProps are now
referred to by *video pointer in AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram smeenaks->ucsd.edu.

Originally committed as revision 24763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:06:04 +00:00
S.N. Hemanth Meenakshisundaram 5d4890d73d Rename fields:
AVFilterLink.srcpic    ->  AVFilterLink.src_buf
AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
AVFilterLink.outpic    ->  AVFilterLink.out_buf

The new names are more generic and more consistent, since the struct
they contain, which was named AVFilterPicRef, has been renamed to
AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram %smeenaks%ucsd%edu%.

Originally committed as revision 24732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:34 +00:00
S.N. Hemanth Meenakshisundaram 7fce481a69 Rename functions and fields:
avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

They have been renamed to allow sharing with audio.

Patch by S.N. Hemanth Meenakshisundaram $smeenaks$ucsd$edu$.

Originally committed as revision 24731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:27 +00:00
S.N. Hemanth Meenakshisundaram ecc8dada37 Rename AVFilterPicRef to AVFilterBufferRef.
The struct is going to be used for storing audio buffer references as
well, and the new name is more generic.

Patch by S.N. Hemanth Meenakshisundaram @smeenaks@ucsd@edu@.

Originally committed as revision 24730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:19 +00:00
Måns Rullgård 5a6fbf4c39 avfilter: indent
Originally committed as revision 24720 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 22:25:39 +00:00
Måns Rullgård 0bb7408e55 avfilter: do not crash on null link src/dst in avfilter_destroy()
Originally committed as revision 24719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 22:25:36 +00:00
Måns Rullgård f3b90d25ee avfilter: free link in/out_formats in avfilter_destroy()
Originally committed as revision 24718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 22:25:33 +00:00
S.N. Hemanth Meenakshisundaram bdab614be8 Generalize pixel format enum fields to int formats.
This is needed to make the libavfilter framework work with audio
filters.

In particular add a type field to AVFilterLink, change the field types:
enum PixelFormat format   -> int format   in AVFilterBuffer
enum PixelFormat *formats -> int *formats in AVFilterFormats
enum PixelFormat *format  -> int format   in AVFilterLink

and change the function signatures:
AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
AVFilterFormats *avfilter_make_format_list(const int *fmts);

int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
int avfilter_add_format(AVFilterFormats **avff, int fmt);

AVFilterFormats *avfilter_all_colorspaces(void); ->
AVFilterFormats *avfilter_all_formats(enum AVMediaType type);

This change breaks libavfilter API/ABI.

Patch by S.N. Hemanth Meenakshisundaram |smeenaks|ucsd|edu|.

Originally committed as revision 24424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:12:47 +00:00
Stefano Sabatini 9f0e31d29a Make avfilter.c dprintf* functions internal and declare them in an
internal.h header, so they can be easily used from other files.

Originally committed as revision 24319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 22:37:39 +00:00
Víctor Paesa 922189feb0 Use avfilter_copy_picref_props() along lavfi.
Originally committed as revision 24196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 14:44:43 +00:00
Michael Niedermayer efdc74ef19 Try to keep track of interlaced and top field first.
Originally committed as revision 23044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 10:02:59 +00:00