Commit Graph

125 Commits

Author SHA1 Message Date
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
Michael Niedermayer
2308b6c19a Add version to AVClass so we can add to and use fields of AVClass without ABI issues.
Originally committed as revision 22987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-28 20:00:23 +00:00
Bobby Bingham
2bb962567e Remove variable whose value was never read. Found by clang.
Originally committed as revision 22794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 15:29:48 +00:00
Stefano Sabatini
5bb5c1dc86 Add AVFilterPicRef.pos field and make libavfilter propagate stream
byte position information, as stored in the pkt.pos, through the
filterchain.

Note that the pos field is added *non* at the end of the
AVFilterPicRef struct, thus breaking ABI compatibility, which is
allowed as the API is still considered non-stable.

Originally committed as revision 22506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:27:05 +00:00
Stefano Sabatini
63833766dc Show aspect ratio information in dprintf_picref() traces.
Originally committed as revision 22255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-06 21:28:08 +00:00
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