Commit Graph

482 Commits

Author SHA1 Message Date
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