Commit Graph

603 Commits

Author SHA1 Message Date
Baptiste Coudurier
2c2b2c0ac2 silence gcc warning about potential uninitialized usage
Originally committed as revision 23093 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:39:52 +00:00
Vitor Sessak
8ad802e610 Alloc 16 extra bytes in libavfilter frames. Needed for MMX-optimized swscale.
Fix issue 1924.

Originally committed as revision 23077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-10 00:28:18 +00:00
Stefano Sabatini
b6bc205155 Bump lavfi minor after the addition of the fields interlaced and
top_field_first in AVFilterPicRef, done in r23044.

Originally committed as revision 23066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-09 20:02:40 +00:00
Stefano Sabatini
d760a316e9 Make config_props() show conversion information before to create the
swscale context.

This makes eventual warnings issued in case of swscale context
creation failure to be shown after the conversion information rather
than before, which is slightly less confusing.

Originally committed as revision 23056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 22:12:13 +00:00
Stefano Sabatini
38efdb2c6b Log input size, input format and swscale flags used for conversion in
config_props().

Useful for debugging.

Originally committed as revision 23055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 22:12:10 +00:00
Måns Rullgård
f66b390582 vf_pad: fix mixed code and declarations
Originally committed as revision 23054 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 17:53:29 +00:00
Michael Niedermayer
a0aa73544c c99 sucks. Replacing scanf("%i") by strtoul()
Originally committed as revision 23053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 13:00:56 +00:00
Michael Niedermayer
3c940173c0 Add pad filter.
Originally committed as revision 23046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 11:47:13 +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
Michael Niedermayer
3b9900c1c3 Enable vsrc_buffer
Originally committed as revision 23042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 09:22:32 +00:00
Michael Niedermayer
8155bbc944 Support setting flags for sws.
Originally committed as revision 23041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 09:20:45 +00:00
Michael Niedermayer
cf13f204cc Add "Memory buffer source filter" from SOC.
This is needed by the current SOC-ffmpeg.c code.

Originally committed as revision 23039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 01:25:00 +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
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
3748b2b8e8 Fix leak in avfilter_graph_add_filter().
In case of reallocation failure the pointer to the original filter
array was lost. The correct behavior seems to just keep the old array
and count.

Originally committed as revision 22905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-18 20:10:43 +00:00
Stefano Sabatini
22b7b23c17 Make avfilter_graph_add_filter() returns AVERROR(ENOMEM) in case of
failed reallocation, rather than just -1.

Originally committed as revision 22878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-13 23:22:22 +00:00
Stefano Sabatini
bc3c85a3e6 Apply grammar/consistency nits to avfilter_graph_add_filter() doxy.
Originally committed as revision 22842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:26:00 +00:00
Bobby Bingham
ac1c95645a Bump libavfilter minor version and Changelog for unsharp filter
Originally committed as revision 22830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-10 20:34:44 +00:00
Bobby Bingham
e0728d7991 Add unsharp video filter.
Contributed by Daniel G. Taylor (dan/at/programmer-art/dot/org)

Originally committed as revision 22813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-07 01:05:24 +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
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Bobby Bingham
15ba015f71 The vflip filter does not need to keep ownership of a picture reference.
Avoid creating and releasing useless extra picture references in the
start_frame and end_frame callbacks.

Originally committed as revision 22596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:13:04 +00:00
Bobby Bingham
d313e17ab1 Use the new null callbacks to simplify filters and reduce duplicated code.
Originally committed as revision 22595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:13:02 +00:00
Bobby Bingham
91d1c741bf Create a set of null callback functions.
These are useful for filters which don't modify the image data.

Originally committed as revision 22594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-18 23:12:48 +00:00
Bobby Bingham
e88c9dac07 Cosmetics: vertical align
Originally committed as revision 22578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:43 +00:00
Bobby Bingham
c0bc2fed8e Allow format and noformat filters to be more completely disabled when the
other is enabled.

Originally committed as revision 22577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:40 +00:00
Bobby Bingham
55fd1bbc1b Cosmetics: rearrange functions to simplify ifdeffery
Originally committed as revision 22576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 04:37:36 +00:00
Bobby Bingham
3922deb577 Add video filter to manipulate aspect ratio
Originally committed as revision 22573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-17 03:43:14 +00:00
Stefano Sabatini
89fb9ae9e6 Make the scale filter pass the pkt.pos information to the output
picref.

Originally committed as revision 22509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 12:33:44 +00:00
Stefano Sabatini
8955a324f4 Bump libavfilter minor version and add APIchanges entry after the
addition of the AVFilterPicRef.pos field.

Originally committed as revision 22508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 11:41:15 +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
ec7ab610d5 Extend the slice filter to make it issue slice height values randomly
choosen between 8 and 32 when the supplied parameter is the string
"random".

This is useful for testing the slice support, but it is not supposed
to be used for other purposes and this interface may change in the
future, thus it is not documented.

The randomization algorithm adopted is the standard Numerical Recipes
LCG.

Originally committed as revision 22505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 10:41:25 +00:00
Måns Rullgård
1250fcc862 avfilter: make avfilter_default_free_video_buffer() static
This function is not referenced outside this file and has no
prototype.  Feel free to flame if this is wrong.

Originally committed as revision 22314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 03:41:19 +00:00
Stefano Sabatini
3b2142af99 Make avfilter_default_start_frame() correctly pass the aspect ratio
information to the next filter.

Originally committed as revision 22300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 23:53:47 +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
11ab237e31 Add the graph2dot tools and document it.
Also link avfiltergraph.o and graphparser.o against libavfilter, as it
uses them.

Originally committed as revision 22063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-25 19:55:01 +00:00
Stefano Sabatini
ef9f8dd730 Use pixel format descriptors for checking if the input format is
paletted. Simpler and more robust.

Originally committed as revision 21631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 23:10:18 +00:00
Stefano Sabatini
d2a2b08cfe Use pixel format descriptors to check if the input format is paletted.
Originally committed as revision 21597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 19:50:17 +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
718c7b18c9 Use av_get_pix_fmt() instead of the deprecated avcodec_get_pix_fmt()
function.

Originally committed as revision 21550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:10:26 +00:00
Stefano Sabatini
006aa1a4c2 Implement null video sink.
Originally committed as revision 21242 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 11:05:36 +00:00
Stefano Sabatini
dd08b83c87 Implement null video source.
Originally committed as revision 21240 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:43:53 +00:00
Stefano Sabatini
b5eab66e9f Make avfilter_default_start_frame() request a buffer with the same
size of the output link of the destination filter, rather than of the
size of the input link.
In particular this fixes a crash in the rotate filter.

Originally committed as revision 21238 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 10:10:14 +00:00
Måns Rullgård
a482e61bd6 Add symbol versioning for shared libraries
Based on patch by Reinhard Tartler <siretart tauware de>

Originally committed as revision 21236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 04:49:02 +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
f37c934d20 Make query_formats() print an error message if an auto-inserted scale
filter cannot convert between input and output formats.

Originally committed as revision 21176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 00:09:24 +00:00
Stefano Sabatini
9ea977210c Make query_formats() increment the scaler_count after each scaler
insertion.

Originally committed as revision 21124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 14:23:19 +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
3fb8e77a8d Add a log context to avfilter_graph_config_links().
Originally committed as revision 21121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-10 13:39:56 +00:00
Stefano Sabatini
27d8f6b660 Make the scale filter set in the input and output links only the
respective pixel formats effectively supported by libswscale.

Originally committed as revision 21105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 23:48:32 +00:00
Stefano Sabatini
d3c01751a3 Fix compilation on gcc 2.95.3 (still supported) broken by r21077,
which was due to declaring variable after code.

Originally committed as revision 21086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 08:19:18 +00:00
Stefano Sabatini
063e769273 Make avfilter_formats_unref(AVFilterFormats **ref) handle the case
when *ref is NULL.

Originally committed as revision 21077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:59:22 +00:00
Stefano Sabatini
fe59258516 Use the @return doxy command, and extend documentation for the return
value of AVFilter.query_formats.

Originally committed as revision 21076 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:52:46 +00:00
Stefano Sabatini
c4d2e41ce4 Avoid the use of the modal auxiliary "should" in the
AVFilter.query_formats doxy.
The doxy expresses what a function does, not what it should do.

Originally committed as revision 21075 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:51:06 +00:00
Stefano Sabatini
516841ef63 Fix doxy, use third person.
Originally committed as revision 21073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 22:44:32 +00:00
Stefano Sabatini
c1d662fd88 Change avfilter_add_colorspace() to make it accept **avff rather than
*avff, so that an AVFilterFormats struct is created and returned by
the function if *avff is NULL.

Make the function use more convenient.

Originally committed as revision 21035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-06 16:19:13 +00:00
Stefano Sabatini
5ff84183de Make avfilter_all_colorspaces() add to the returned list of pixel
formats only the non-HW-accelerated formats, for which there is no
sense in filtering.

Originally committed as revision 21009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 00:08:11 +00:00
Stefano Sabatini
4fd1f1876a Implement avfilter_add_colorspace().
Originally committed as revision 21007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-03 22:26:59 +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
15a316c014 Make parse_filter() parsing more robust.
Add ';' and '\n' to the terminating characters for the name of a
filter, and ';' to the terminating characters for its args.

Originally committed as revision 20800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-11 20:02:10 +00:00
Stefano Sabatini
62096b99b1 Make parse_key_value_pair() print an error message if a key is not
found in the context.

Originally committed as revision 20779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 22:01:25 +00:00
Stefano Sabatini
7d132c544b Use an unsigned int to contain all the color values of the expressions
of the type 0xRRGBBAA parsed by av_parse_color(), using a simple int
was resulting in unexpected results as the most significant bit was
used for the sign.

Originally committed as revision 20778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 22:00:07 +00:00
Stefano Sabatini
e87eb039cc Fix alpha plane flipping for the yuva420p and similar pixel formats.
Originally committed as revision 20771 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-08 17:08:49 +00:00
Stefano Sabatini
3a1acfd79a Reindent after the last commit.
Originally committed as revision 20755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 17:41:49 +00:00
Stefano Sabatini
bf972d5e1c Fix slicify when the slice_direction is negative, make it send slices
from the bottom to the top one.

Originally committed as revision 20754 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-06 17:40:41 +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
b37aa4de2d Use the correct chroma values for the data[] array used in
draw_slice().

The chroma values to use are supposed to be those of the input format,
not that of the output format, the latter case was causing crashes and
chroma issues.

Originally committed as revision 20660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 18:02:19 +00:00
Stefano Sabatini
8aeb33225a Use a valid log context for av_log().
Originally committed as revision 20659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 17:40:53 +00:00
Stefano Sabatini
bd2837387c Document slice ordering assumption required by avfilter_draw_slice().
The assumption depends on the corresponding assumption done by
sws_scale() and by the scale filter.

Originally committed as revision 20655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 10:42:37 +00:00
Stefano Sabatini
4cc3f6afe4 Remove AVFilter.next field, since it is not used and it is not going
to be used since the implementation of the new filter registration
system.

Originally committed as revision 20611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-25 23:24:09 +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
Stefano Sabatini
2d64744fed Remove from the list of the supported formats the formats which are
not correctly supported.

See the thread:
"[FFmpeg-devel] [PATCH] Remove not truly supported formats support from the crop filter".

Originally committed as revision 20576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 11:51:41 +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
Diego Biurrun
1f20782c04 Add missing #includes for avutil.h, required for the AV_VERSION* macros.
Originally committed as revision 20544 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-16 18:39:26 +00:00
Stefano Sabatini
c3eabb7d2f Add scale filter.
Originally committed as revision 20519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 23:50:21 +00:00
Stefano Sabatini
5c3c0e3f2e Fix crop filter start_frame() for paletted formats different from
PAL8. Shift data[1] only if the input format is not paletted.

Originally committed as revision 20488 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 21:00:38 +00:00
Stefano Sabatini
dd18b301f4 Enable linking of parseutils.o.
Originally committed as revision 20487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 18:56:51 +00:00
Stefano Sabatini
ac74dfa436 Fix start_frame(), which was issuing chroma artifacts with planar
formats with more than 8 bits per pixel (e.g. YUVXXXP16).

Originally committed as revision 20479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-08 22:47:10 +00:00
Stefano Sabatini
cabc41b0c2 Vertical align.
Originally committed as revision 20447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:47:10 +00:00
Stefano Sabatini
198d56533e Use spaces after commas for improving readability.
Originally committed as revision 20446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:46:15 +00:00
Stefano Sabatini
bc37ec923d Add slicify video filter.
Originally committed as revision 20445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:41:38 +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
ae2abc69db Explicitely define get_video_buffer() callbacks in the format,
noformat and null filters.

Originally committed as revision 20443 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 22:04:55 +00:00
Stefano Sabatini
dc264e77a3 Change file doxy from
"video format and noformat filters" to
"format and noformat video filters",
as suggested by Diego.

Originally committed as revision 20442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 21:59:41 +00:00
Stefano Sabatini
09da17810b Fix/clarify description of the noformat filter.
Originally committed as revision 20441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-03 21:57:21 +00:00
Stefano Sabatini
c5ec0d9d4f Remove the get_video_buffer() callback.
That was never required since avfilter_get_video_buffer() already
calls itself on the next link if get_video_buffer is not defined.

Originally committed as revision 20419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-30 11:11:25 +00:00
Stefano Sabatini
2be414c8de Fix doxies, use third person and phrase-ending dots.
Originally committed as revision 20391 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 22:12:20 +00:00
Stefano Sabatini
fcbed3c735 Add format and noformat filters.
Originally committed as revision 20390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 21:40:43 +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
243110f968 Add a field 'next' to AVFilter.
Simplify the registration and iteration of all the registered filters,
consistent with what is done with formats / codecs.

Originally committed as revision 20385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 19:42:07 +00:00
Stefano Sabatini
b70bc02279 Add descriptions for the committed filters.
Originally committed as revision 20375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-27 00:43:45 +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
Stefano Sabatini
cccd292ae2 Move the description field of the filter from AVFilterContext to
AVFilter, where it should have had defined the first time.
+10L.

Originally committed as revision 20356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 23:03:25 +00:00
Stefano Sabatini
1551745c88 Add a description field to AVFilterContext.
Originally committed as revision 20354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:46:11 +00:00
Stefano Sabatini
c38ae71f54 Add video vertical flip filter.
Originally committed as revision 20352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-22 22:00:33 +00:00
Stefano Sabatini
067180220d Make the pix_fmts var in query_formats() static const.
Originally committed as revision 20343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 21:04:53 +00:00
Stefano Sabatini
190c166960 Add video crop filter.
Originally committed as revision 20342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:57:30 +00:00
Stefano Sabatini
9abba21ad3 Cosmetics: prefer "pix_fmts" over "pix_fmt" for the name of the
argument of avfilter_make_format_list(), as the argument represents a
list of elements.

Originally committed as revision 20341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:43:43 +00:00
Stefano Sabatini
1554fed2d6 Make avfilter_make_format_list() take in input a const argument.
Originally committed as revision 20340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-21 20:39:05 +00:00
Stefano Sabatini
c0da46c8e0 Break over-80-chars-long line.
Originally committed as revision 20320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-19 19:22:08 +00:00
Stefano Sabatini
6b5dc050a2 Rename avfilter_make_format_list2() to avfilter_make_format_list().
Originally committed as revision 20302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:39:54 +00:00
Stefano Sabatini
e768cb7668 Remove avfilter_make_format_list(), it has been replaced by
avfilter_make_format_list2().

Originally committed as revision 20301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:35:54 +00:00
Stefano Sabatini
f6a1fa850a Implement avfilter_make_format_list2(), which is going to replace
avfilter_make_format_list().

See the thread:
"[PATCH] Implement avfilter_make_format_list2(enum PixelFormat pix_fmt, ...)".

Originally committed as revision 20299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:06:52 +00:00
Stefano Sabatini
f28b385d47 Make clear in the doxy that this is a *video* filter.
Originally committed as revision 20298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 23:00:11 +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
7b018b1d7d Add the null video filter.
Originally committed as revision 20275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 09:44:33 +00:00
Stefano Sabatini
930aa45132 Use 'enum PixelFormat *' rather than 'int *' as type for the
AVFilterFormats.formats field.
Cleaner / safer.

Originally committed as revision 20274 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 09:31:57 +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
46c40e4835 Add w and h fields to AVFilterPic.
See the thread:
"[FFmpeg-devel] [PATCH] Add w,h fields to AVFilterPic".

Originally committed as revision 20189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-07 18:50:00 +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
Stefano Sabatini
0802356cfc Remove the const qualifier for the name field of AVFilterInOut, since
it is meant to be freed.
Fix warnings.

Originally committed as revision 19072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-01 16:07:48 +00:00
Stefano Sabatini
4ec42240ca Implement avfilter_graph_config_links().
Originally committed as revision 19066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 16:30:12 +00:00
Stefano Sabatini
62c58bcc65 Fix grammar for avfilter_graph_parse() doxy.
Originally committed as revision 18900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 22:38:41 +00:00
David Conrad
ef516f7377 Move ALIGN macro to libavutil/common.h and use it in various places
Originally committed as revision 18898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-22 21:32:13 +00:00
Stefano Sabatini
cec8e5f76a Log with level AV_LOG_ERROR if av_parse_color() cannot recognize a
color.

Originally committed as revision 18868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-18 17:59:03 +00:00
Stefano Sabatini
c1ec75b576 Implement av_set_options_string().
Originally committed as revision 18832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 22:57:08 +00:00
Stefano Sabatini
3d3bd64db8 Add support in av_parse_color() to a "random" color name, which will
result in a randomly choosen random color, as it is with the
"bikeshed" color.

Originally committed as revision 18828 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:58:06 +00:00
Stefano Sabatini
b69b622c22 Make case insensitive the match for the color name in
av_parse_color().

Originally committed as revision 18827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:54:25 +00:00
Stefano Sabatini
38efe76877 Use a single space after an ending period and the beginning of the
next sentence, consistent with the FFmpeg documentation style.

Originally committed as revision 18824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:19:42 +00:00
Stefano Sabatini
c5c6f62668 Apply documentation fixes: use third person, fix grammar and remove
inconsistent '\p'.

Originally committed as revision 18823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 18:13:17 +00:00
Vitor Sessak
b755a754d1 "[" is a terminating char for the filter name. This fixes the parsing of
things like

[in] vflip [out];

Originally committed as revision 18772 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-08 19:14:21 +00:00
Ramiro Polla
4fa61d1e98 Accept "bikeshed" as a random color.
Originally committed as revision 18758 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06 15:25:30 +00:00
Stefano Sabatini
a3015225c7 Implement av_parse_color().
Originally committed as revision 18748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-05 22:10:06 +00:00
Stefano Sabatini
2e032b32df Prefer (void) over () in function prototype.
Originally committed as revision 18727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 21:35:01 +00:00
Stefano Sabatini
dd04911c4e Make graphparser.c use av_get_token().
This also avoids the need for '\=' escaping.

Originally committed as revision 18726 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 18:17:59 +00:00
Michael Niedermayer
d11dbf092c av_get_token()
based on a patch by Stefano Sabatini

Originally committed as revision 18725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-01 14:38:07 +00:00
Stefano Sabatini
fd548e5bd6 Remove consume_whitespace() and replace it with direct calls to
strspn().

Originally committed as revision 18645 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-21 19:08:49 +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
Michael Niedermayer
6d4f53cbac Remove old scaler.
Originally committed as revision 17786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 22:51:30 +00:00
Stefano Sabatini
86a47378d5 Rename avfilter_parse_graph() to avfilter_graph_parse(), for better
consistency with the rest of the API.

Originally committed as revision 17624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 22:03:55 +00:00
Stefano Sabatini
d7dbe55823 Rename avfilter_destroy_graph() to avfilter_graph_destroy(), for better
consistency with the rest of the API.

Originally committed as revision 17623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 22:02:09 +00:00
Stefano Sabatini
39c07b8e44 Implement in AVFilterGraph the scale_sws_opts field, and pass its
value in the args for the auto-inserted scale filters.

Originally committed as revision 17547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-23 23:45:21 +00:00
Stefano Sabatini
fd51ff1643 Fix avfilter_parse_graph() invalid graph description detection.
See the thread:
"[FFmpeg-devel] [PATCH] Fix avfilter-parse-graph()".

Originally committed as revision 17222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-14 11:47:42 +00:00
Stefano Sabatini
822005ed45 Implement avfilter_graph_check_validity().
Originally committed as revision 16809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-26 20:21:25 +00:00
Stefano Sabatini
784712343c Print a warning and fail if the graph description cannot be
parsed.

Originally committed as revision 16648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-16 23:56:53 +00:00
Aurelien Jacobs
49fb20cb8a replace all occurrence of ENABLE_ by the corresponding CONFIG_, HAVE_ or ARCH_
and remove all ENABLE_ definitions.

Originally committed as revision 16600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 17:19:17 +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
Stefano Sabatini
2b187df99b Fix capitalization and missing periods issues.
Originally committed as revision 16517 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-10 10:26:05 +00:00
Stefano Sabatini
9ce95f272e Cosmetics: break line to make it not longer than 80 chars.
Originally committed as revision 16405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-02 10:07:26 +00:00
Stefano Sabatini
91535e5f38 Fix typos.
Originally committed as revision 16384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-29 12:11:01 +00:00
Stefano Sabatini
055068d001 Mention in the documentation of avfilter_poll_frame() that it returns
a negative value in case of error.

Originally committed as revision 16372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 17:07:47 +00:00
Stefano Sabatini
7f9b3266c9 Change thisIsAVar variable names to this_is_a_var style, more
consistent with the rest of libav*.

Originally committed as revision 16356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 09:31:05 +00:00
Stefano Sabatini
9864142b6d Fix and extend documentation for avfilter_graph_get_filter().
Originally committed as revision 16354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 22:25:47 +00:00
Stefano Sabatini
e916c2ac6a Fix typo: ommitted -> omitted.
Originally committed as revision 16353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 20:26:44 +00:00
Stefano Sabatini
e4a5f397fd Choose better names for the variables in create_filter().
Originally committed as revision 16320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 10:54:16 +00:00
Stefano Sabatini
175821c631 Fix documentation for avfilter_parse_graph().
Originally committed as revision 16319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-26 10:48:54 +00:00