Commit Graph

114 Commits

Author SHA1 Message Date
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
Vitor Sessak
e946c25a2f Add an equivalent to the mplayer format filter
Commited in SoC by Bobby Bingham on 2007-12-24 21:53:10

Originally committed as revision 12034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:55 +00:00
Vitor Sessak
cc0bb5a160 Change the passthrough filter to a noformat filter. It's now similar to
the mplayer noformat filter except that the default behavior if no formats
are specified is to allow allow all formats (ie. virtually the same as the
old passthrough behavior)

Commited in SoC by Bobby Bingham on 2007-12-24 21:42:56

Originally committed as revision 12033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:51 +00:00
Vitor Sessak
2fd46877f8 Indentation
Commited in SoC by Bobby Bingham on 2007-12-24 03:24:26

Originally committed as revision 12032 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:47 +00:00
Vitor Sessak
698181056d Rework link property configuration system.
This can now handle filters which are added to graphs out of order,
including auto-inserted scale filters.  As an added bonus, it can
now detect circular filter chains which wouldn't work anyway.

Commited in SoC by Bobby Bingham on 2007-12-24 03:22:10

Originally committed as revision 12031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:41 +00:00
Vitor Sessak
c35a047373 Add horizontal flip filter.
Commited in SoC by  on 2007-12-21 09:21:29

Originally committed as revision 12030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:36 +00:00
Vitor Sessak
e3065c8b59 Need to be careful when dealing with references.
Commited in SoC by Bobby Bingham on 2007-12-20 23:38:49

Originally committed as revision 12029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-15 21:39:32 +00:00