Commit Graph

120 Commits

Author SHA1 Message Date
Stefano Sabatini b4b6645655 Avoid usage of avcodec_get_pix_fmt_name() and
avcodec_get_chroma_sub_sample(), directly access
av_pix_fmt_descriptors instead.

Remove some of the dependancies of lavfi on lavc.

Originally committed as revision 21575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 16:33:29 +00:00
Stefano Sabatini 08f8b51f69 Make avfilter_insert_filter() log the names of the filters between
which it inserts the new filter.

Originally committed as revision 21177 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 00:16:52 +00:00
Stefano Sabatini 999c23a13a Make avfilter_insert_filter() print the instance name of the
auto-inserted scale filter, rather than the filter name, as this
provides more information.

Originally committed as revision 21123 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 13:45:55 +00:00
Stefano Sabatini 4160069067 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for XXX_configuration() and
XXX_license() functions, consistent with the rest of FFmpeg.

Originally committed as revision 21005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 14:31:25 +00:00
Stefano Sabatini a13a543797 Add a slice_dir parameter to avfilter_draw_slice().
Avoid the need to implement slice direction detection code, thus
reducing code duplication.

See the thread:
"[FFmpeg-devel] [PATCH] Add a slice_dir parameter to avfilter_start_frame()".

Originally committed as revision 20734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 23:26:13 +00:00
Stefano Sabatini 1433c4abf2 Implement avfilter_next().
Originally committed as revision 20607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:58:48 +00:00
Stefano Sabatini 86a60fa1ac Implement a new registration system for filters.
Create a new static array containing pointers to the AVFilter
definitions, so that the non-constant next filter in the AVFilter
struct is not anymore required and the AVFilter definitions may be
stored in shareable memory.

Also change the signature for avfilter_register(), make it return an
int since it may fail if there is not enough space in the static array
for the registered filters.

Originally committed as revision 20605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-24 23:47:33 +00:00
Diego Biurrun c173693698 Add functions to return library license and library configuration.
Originally committed as revision 20547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-18 17:15:17 +00:00
Stefano Sabatini da23d42476 Make avfilter_get_video_buffer() use
avfilter_default_get_video_buffer() if the get_video_buffer() callback
is not defined in a filter.

Libavfilter filters author have to explicitely define the
get_video_buffer() callback if they want the buffer to be requested to
the filter following in the filterchain.

See the thread:
"[FFmpeg-devel] [PATCH] Make avfilter_get_video_buffer() use
default_get_video_buffer if callback not defined".

Originally committed as revision 20444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:15:52 +00:00
Stefano Sabatini 3555d2e88e Introduce first_avfilter and use that, together with AVFilter.next,
for registering and finding filters, rather than use the struct
AVFilterList, which is removed.

Simplify the filter registration management code.

Originally committed as revision 20387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:52:14 +00:00
Stefano Sabatini 8fdb01c10e Make dprintf_link() show the name of the link pixel format.
Originally committed as revision 20372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-25 21:06:00 +00:00
Vitor Sessak 9dd08b4e1e Fix recursive avfilter_poll_frame(). It was doing
min = FFMIN(min, avfilter_poll_frame(link->src->inputs[i]))
which, since FFMIN is a macro, was calling itself
twice for every input, causing an exponential cost in time.

Originally committed as revision 20295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 22:33:37 +00:00
Stefano Sabatini 0eb4ff9e37 Make avfilter_get_video_buffer() recursive.
When called on a link with a filter whose destination pad has not a
get_video_buffer callback defined, it will call
avfilter_get_video_buffer() on the first output link of the
destination filer, rather than use avfilter_default_get_buffer(), so
the video buffer can be allocated forward in the filterchain.

Also add the w and h parameters to avfilter_get_video_buffer(), as the
minimum width and height requested by each filter in the filterchain
may change, this allows for example a memcpy-less pad filter.

This change breaks API / ABI backward compatibility.

See the thread:
"[PATCH] Implement recusive avfilter_get_video_buffer()".

Originally committed as revision 20272 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 08:16:18 +00:00
Stefano Sabatini 96da1c51f6 Implement trace messages logging in the filterchain processing.
It is only enabled when the DEBUG symbol is defined.

Originally committed as revision 20187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-06 22:07:32 +00:00
Cédric Schieli fe479c9d63 Also copy pixel_aspect when copying the picref in avfilter_start_frame.
This avoids a division by zero in '[in]fifo,scale[out]'

Originally committed as revision 18507 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-14 08:48:47 +00:00
Víctor Paesa b6fec3eb7f Make static the list of registered filters.
Originally committed as revision 18198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-26 21:46:45 +00:00
Stefano Sabatini 90993b3848 Reindent after the last commit, while at it also add some spaces for
improving readability.

Originally committed as revision 16566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:34:34 +00:00
Stefano Sabatini 689a5f493b Make avfilter_open() set to NULL the pads and the filters when the
corresponding count is zero, rather than allocate a 16 bytes sized
block for them. Improve safety.

Originally committed as revision 16565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-12 20:30:57 +00:00
Stefano Sabatini b9609848f3 Implement the avfilter_default_draw_slice() handler and use it in
avfilter_draw_slice() when the draw_slice callback is not defined in
the input pad.

Originally committed as revision 16554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:05:48 +00:00
Carl Eugen Hoyos 5bc8ebd3ea Use PIX_FMT_NONE to silence icc warning #188:
enumerated type mixed with another type

Originally committed as revision 15942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-26 18:59:36 +00:00
Stefano Sabatini 540f1c7b13 Implement avfilter_version().
Originally committed as revision 14669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-08 18:43:38 +00:00
Diego Biurrun 245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Måns Rullgård b049ad5054 fix AVClass for avfilter
Originally committed as revision 12357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-07 09:08:28 +00:00
Vitor Sessak 805d0232c5 Do not copy more data than needed
Commited in SoC by Vitor Sessak on 2008-02-15 21:11:35

Originally committed as revision 12061 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:42:01 +00:00
Vitor Sessak e9f54274c7 Remove header now made useless
Commited in SoC by Vitor Sessak on 2008-02-12 20:59:51

Originally committed as revision 12060 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:49 +00:00
Vitor Sessak 3bc2a52643 Remove unneeded function.
Commited in SoC by Vitor Sessak on 2008-02-12 20:54:11

Originally committed as revision 12059 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:43 +00:00
Vitor Sessak b57fc32787 Missed this file in my conditional compilation patch
Commited in SoC by Vitor Sessak on 2008-02-12 20:40:32

Originally committed as revision 12058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:40 +00:00
Vitor Sessak 74b46655d4 Simplify
Commited in SoC by Vitor Sessak on 2008-02-11 18:19:37

Originally committed as revision 12057 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:38 +00:00
Vitor Sessak ce657d80cc Simplify
Commited in SoC by Vitor Sessak on 2008-02-11 17:35:13

Originally committed as revision 12056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:35 +00:00
Vitor Sessak c245ddf23f Indent after last commit
Commited in SoC by Vitor Sessak on 2008-02-11 17:29:12

Originally committed as revision 12055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:31 +00:00
Vitor Sessak c48e31aef9 Remove unneded else
Commited in SoC by Vitor Sessak on 2008-02-11 17:18:16

Originally committed as revision 12054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:28 +00:00
Vitor Sessak a5b5d95a70 Cosmetical: indentation
Commited in SoC by Vitor Sessak on 2008-02-11 17:17:15

Originally committed as revision 12053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:23 +00:00
Vitor Sessak b3431ecde2 Nit: Alignment
Commited in SoC by Vitor Sessak on 2008-02-11 17:16:35

Originally committed as revision 12052 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:19 +00:00
Vitor Sessak d9b575d384 Remove useless ()
Commited in SoC by Vitor Sessak on 2008-02-11 17:16:05

Originally committed as revision 12051 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:15 +00:00
Vitor Sessak 7a9fd2a03c Do not always fail for circular filter chains
Commited in SoC by Vitor Sessak on 2008-02-10 16:52:54

Originally committed as revision 12050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:11 +00:00
Vitor Sessak 5b7c403353 Remove unused var (dead code leftover?).
Commited in SoC by Vitor Sessak on 2008-02-10 09:55:55

Originally committed as revision 12049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:08 +00:00
Vitor Sessak ac8a116e87 Avoid link_dpad() overuse in avfilter_start_frame()
Commited in SoC by Vitor Sessak on 2008-02-10 09:53:00

Originally committed as revision 12048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:41:03 +00:00
Vitor Sessak 2c5741b857 Add context to av_log()
Commited in SoC by Vitor Sessak on 2008-02-10 09:05:39

Originally committed as revision 12047 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:59 +00:00
Vitor Sessak 19dc71045d Merge loops
Commited in SoC by Vitor Sessak on 2008-02-10 09:01:31

Originally committed as revision 12046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:55 +00:00
Vitor Sessak e079d22ea2 Coding style changes
Commited in SoC by Vitor Sessak on 2008-02-09 23:43:45

Originally committed as revision 12045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:46 +00:00
Vitor Sessak 02e9479717 Remove unneded headers
Commited in SoC by Vitor Sessak on 2008-02-09 23:35:19

Originally committed as revision 12044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:43 +00:00
Vitor Sessak 16790dc3ae Nits: more punctuation and capitalization
Commited in SoC by Vitor Sessak on 2008-02-09 20:02:29

Originally committed as revision 12043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:40 +00:00
Vitor Sessak be36bc0950 Move setting the pts of the copied frame to a more adequated place.
Suggested by Bobby Bingham.

Commited in SoC by Vitor Sessak on 2008-02-09 16:56:55

Originally committed as revision 12042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:36 +00:00
Vitor Sessak 05decb00cb Add const to silence warnings
Commited in SoC by Vitor Sessak on 2008-02-09 15:59:47

Originally committed as revision 12041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:33 +00:00
Vitor Sessak 35db407eb2 The filter framework as is hangs with filters that
modify the input buffer, even if it asks for the right
permission. This is a fix for that.
See "Box blurring with libavfilter" thread in libav-user.

Commited in SoC by Vitor Sessak on 2008-02-09 11:03:35

Originally committed as revision 12040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:30 +00:00
Vitor Sessak 7b02c484eb Implement poll_frame() method. Fix ffmpeg.c bug with
vf_fps filter.

Commited in SoC by Vitor Sessak on 2008-02-06 19:55:36

Originally committed as revision 12039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:26 +00:00
Vitor Sessak b62966c02e Add movie file video source filter.
Commited in SoC by  on 2008-01-31 20:55:50

Originally committed as revision 12038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:23 +00:00
Vitor Sessak 0970ec6ae0 Presentation timestamp (PTS) modification filter
Commited in SoC by  on 2008-01-12 00:35:29

Originally committed as revision 12037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:20 +00:00
Vitor Sessak be69699067 Rename filter
Commited in SoC by Vitor Sessak on 2008-01-06 17:03:21

Originally committed as revision 12036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:06 +00:00
Vitor Sessak 0715e6d598 90 degrees counter-clockwise rotation filter
Commited in SoC by Vitor Sessak on 2008-01-06 13:19:12

Originally committed as revision 12035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:40:02 +00:00