Commit Graph

644 Commits

Author SHA1 Message Date
Stefano Sabatini
4055438b48 Apply misc cosmetical style fixes.
Originally committed as revision 24365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 16:23:25 +00:00
Stefano Sabatini
b5634e458f Add @file doxy.
Originally committed as revision 24364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 16:23:18 +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
S.N. Hemanth Meenakshisundaram
ff5f1be0fe Move the AV_PERM_* flags definition outside the AVFilterPicRef
definition.

This way it is easier to reference them in other structures, for
example in the pending AVFilterSamplesRef struct.

Patch by S.N. Hemanth Meenakshisundaram smeenaks AT ucsd DOT edu.

Originally committed as revision 24294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 18:55:56 +00:00
Stefano Sabatini
32d7bcd4b1 Clarify AVFilterBuffer documentation, make it clear that it is not
necessarily video-related.

Originally committed as revision 24293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 18:27:11 +00:00
S.N. Hemanth Meenakshisundaram
b5c582fa9d Remove AVFilterBuffer w and h fields.
These fields are never used, and they do not seem to belong to
AVFilterBuffer anymore, now that it is now a media-independent
structure and these fields are video-related.

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

Originally committed as revision 24291 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 18:13:17 +00:00
S.N. Hemanth Meenakshisundaram
f0d77b2085 Rename AVFilterPic to AVFilterBuffer.
The struct is going to be used for audio data as well, so the new name
is less misleading.

Patch by S.N. Hemanth Meenakshisundaram smeenaks AT ucsd DOT edu.

Originally committed as revision 24284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 10:44:14 +00:00
Stefano Sabatini
23ccf3c7a7 Add color source.
Originally committed as revision 24282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-17 10:14:52 +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
Stefano Sabatini
ee4355808c Reindent after r24101.
Originally committed as revision 24126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 22:05:33 +00:00
Stefano Sabatini
ce1cd1cba2 Rename read/write_line() to av_read/write_image_line().
The old names were not av_ prefixed, and they were causing linking
failure on many platforms.  The new names are also more descriptive.

Patch by Stefano Sabatini.

Originally committed as revision 24101 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 23:41:42 +00:00
Stefano Sabatini
ce2e4ae35a Add pixdesctest filter and corresponding test.
Originally committed as revision 24092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 18:24:55 +00:00
Stefano Sabatini
4d508e4de5 Implement avfilter_copy_picref_props().
Originally committed as revision 24091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-07 18:23:54 +00:00
Måns Rullgård
d0b9b91b57 vf_pad: restore use of _CCIR colourspace conversion macros
Originally committed as revision 24073 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-06 12:35:59 +00:00
Stefano Sabatini
1b364fd26e Move shareable draw_rectangle() and query_formats function to the top
of the file, and put under #if CONFIG_PAD_FILTER the code specific to
the pad filter.

Simplify the inclusion of the color source.

Originally committed as revision 24067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 22:33:06 +00:00
Stefano Sabatini
039baa7813 Factorize out some code and implement the fill_line_with_color()
function. Allow to share code with the pending color source.

Originally committed as revision 24066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 22:33:02 +00:00
Stefano Sabatini
478b9d74d4 Enhance pad filter command-line description.
Based on a patch by John Calcote $name.$surname@gmail.com.

Originally committed as revision 24030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 19:41:22 +00:00
Baptiste Coudurier
b504981483 Use default graph swscale opts when no opts are supplied
Originally committed as revision 24016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 03:12:29 +00:00
Diego Biurrun
9a58234fea Fix misspelled parameter names in Doxygen documentation.
This fixes one Doxygen warning each.

Originally committed as revision 23970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 10:49:29 +00:00
Stefano Sabatini
2b4abbd6f5 Move colorspace.h from libavcodec to libavutil.
Avoid a compile-time dependency of the pad filter on libavcodec.

Originally committed as revision 23940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 18:49:44 +00:00
Stefano Sabatini
2e79db0141 Set pad description with NULL_IF_CONFIG_SMALL(), consistent with the
other filters.

Originally committed as revision 23923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 23:52:28 +00:00
Stefano Sabatini
a74f893b85 Improve description for the pad filter.
Originally committed as revision 23922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 23:52:26 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Stefano Sabatini
6951515cbf Bump micro and add APIchanges entry after av_parse_color() extension.
Originally committed as revision 23838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 22:48:12 +00:00
Stefano Sabatini
9e74966b3f Cosmetics: merge "} else" and "if (...) {" lines, less confusing.
Originally committed as revision 23837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 22:35:42 +00:00
Stefano Sabatini
4cf0b43ac9 Reindent after the last commit.
Originally committed as revision 23836 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 22:35:39 +00:00
Stefano Sabatini
a52e2c3a46 Extend color syntax, make it accept an alpha component specifier.
Originally committed as revision 23835 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 22:35:35 +00:00
Stefano Sabatini
8e094dd667 Rename ColorEntry.rgba_color to rgb_color and do not reserve a fourth
byte for the alpha component, as it is never used, clarify the code
and prevent bad usage of it.

Originally committed as revision 23834 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 22:35:32 +00:00
Eli Friedman
93f7aeb5ad Add a const declaration, fixing a warning
Patch by Eli Friedman, eli dot friedman at gmail

Originally committed as revision 23830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 19:03:59 +00:00
Eli Friedman
206afa55e2 Fix clang warning, make initialization more readable
Patch by Eli Friedman, eli dot friedman at gmail

Originally committed as revision 23829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 19:02:15 +00:00
Carl Eugen Hoyos
9164afcbf9 Use enum PixelFormat to silence one icc warning:
warning #188: enumerated type mixed with another type
      enum PixelFormat pix_fmts[] = { c->pix_fmt, PIX_FMT_NONE };
                                      ^

Originally committed as revision 23640 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-17 22:33:42 +00:00
Michael Niedermayer
701935968d add #include so make checkheaders passes
Originally committed as revision 23637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-17 10:13:11 +00:00
Stefano Sabatini
30d9331050 Document what av_get_token() returns in case of allocation failure.
Originally committed as revision 23596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-13 09:32:03 +00:00
Stefano Sabatini
053a79b2ab Resort @param in av_get_token() doxy to reflect the same order they
have in the function.

Originally committed as revision 23595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-13 09:32:01 +00:00
Stefano Sabatini
5ba949fe90 Add missing check to av_get_token().
Originally committed as revision 23594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-13 09:27:09 +00:00
Stefano Sabatini
47f0704eb2 Prefix value for flags with "0x", to make it clear that it is an
hexadecimal value.

Originally committed as revision 23262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 19:11:43 +00:00
Martin Storsjö
576fb48e6d Make ff_random_get_seed public, rename to av_get_random_seed, export the header
Keep an old ff_ named function for binary compatibility until the
next major bump.

Originally committed as revision 23254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 08:53:40 +00:00
Baptiste Coudurier
03c3bb5c5a use filter name when graph parser add filters
Originally committed as revision 23147 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-16 18:13:55 +00:00
Stefano Sabatini
aeaa9630e5 Remove the name of the file from the @file doxy, it is unnecessary and
inconsistent with the other files.

Originally committed as revision 23122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 18:26:11 +00:00
Stefano Sabatini
622e6ce53a Make the init and config_filter callbacks of the pad filter return
AVERROR(EINVAL) rather than -1 in case of invalid parameters.

Originally committed as revision 23121 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 18:26:07 +00:00
Stefano Sabatini
dc0eaef318 Make av_parse_color() return AVERROR(EINVAL) rather than -1.
Originally committed as revision 23120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-13 18:26:03 +00:00
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