Commit Graph

449 Commits

Author SHA1 Message Date
Stefano Sabatini 482ce0ce4e vf_drawtext: make x and y options parametric
Address trac issue #378.
2011-09-24 12:36:48 +02:00
Stefano Sabatini 163854bca0 vf_drawtext: drop text wrapping feature
Or in other word, do not go to the next line when the text cannot be
rendered within the frame.

The rationale is that wrapping is hard to manage, as it depends on the
position of the text, thus making hard/impossible to compute the size
occupied by the rendered text, and makes the filter behavior
unpredictible with moving text (implemented in a pending patch).

Also the current wrapping code is very limited (for example it splits
words in the middle), and correctly handling wrapping requires much
more complexity (alignment, gravity, word parsing etc.), while
drawtext is meant to be only a thin wrapper around libfreetype, so
such advanced features don't belong here.
2011-09-24 12:36:39 +02:00
Stefano Sabatini b87d4c2b9f vf_drawtext: do not set limitations on fontsize
It may be needed to use values greater than 72, and in general greater
than an arbitrary big value. Let the user choose what's too big for
her.
2011-09-23 01:35:38 +02:00
Clément Bœsch 46c9ddf83c lavfi: fix avfilter_get_audio_buffer() doxy to match reality. 2011-09-18 17:32:03 +02:00
Stefano Sabatini e72aa524d8 asrc_anullsrc: implement a request_frame callback for returning frames
This is mainly useful for filters (like the sox synth), which
overwrite the content of the passed data.
2011-09-18 12:38:33 +02:00
Stefano Sabatini 44ab77db9e asrc_anullsrc: extend syntax to make it accept a non positional list of arguments
The new syntax is more extensible and more user-friendly.

This breaks the previous syntax, should not be an issue as possibly
no-one is already using anullsrc.
2011-09-18 12:30:01 +02:00
Stefano Sabatini d763fb7d47 lavfi: add select filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-17 19:08:30 +02:00
Stefano Sabatini 37cc443c83 lavfi: add audio convert filter
Add aconvert filter to perform sample format, channel layout, and
packing format conversion.

The aconvert code depends on audio conversion code in libavcodec, so
this requires a dependency on libavcodec.

Based on previous work by S.N. Hemanth Meenakshisundaram and Mina Nagy
Zaki, performed for the GSoC 2010 and 2011.
2011-09-16 20:44:27 +02:00
Stefano Sabatini ea8de109af lavfi: add avfilter_all_channel_layouts public symbol
This list is mainly useful to be directly used as a parameter by the
audio sink buffer, when there is no need to force a specific channel
layout.

The list of formats is generated programmatically, and avoids channel
layouts not supported by libavfilter (with more than 8 channels).

We preferred to avoid compile-time generation in order to avoid some
unnecessary complexity (build hacks, generating code maintainance
etc.).

A more compact way to express this list through the use of macros
should be possible when libavfilter will support more than 8 channels,
as there will be no need to filter out channel layouts with more than
8 channels.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: add ff_all_channel_layouts internal symbol
Date: Sat, 20 Aug 2011 15:33:16 +0200
2011-09-16 00:46:41 +02:00
Stefano Sabatini 9899037dc6 lavfi: rename avfilter_all_* function names to avfilter_make_all_*
A function name should tell what the function does rather than what
the function returns. This also avoids possible conflicts
(e.g. between a function and a public list of all supported formats),
and clarifies the code.

Breaks audio API/ABI, add a backward compatibility layer for video
API/ABI.
2011-09-16 00:42:47 +02:00
Stefano Sabatini 9efae6a161 lavfi: bump minor and update APIchanges after recent updates
These changes were forgotten in commits:
  lavfi: simplify signature for avfilter_get_audio_buffer() and friends
  (commit 2c0317419b)
and
  lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
  (commit 4381bddc9f)
2011-09-12 22:08:53 +02:00
Stefano Sabatini 4381bddc9f lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
Also consistent with AVCodecContext.sample_rate. Simplify/avoid
pointless type checks and conversions.

Breaks audio API/ABI.
2011-09-12 18:51:46 +02:00
Stefano Sabatini 2c0317419b lavfi: simplify signature for avfilter_get_audio_buffer() and friends
The additional parameters were never used and are complicating the
function interface. Also, they were inconsistent with the way the
video API works.

So this assumes that a requested samples buffer will have *always* the
format specified in the requested link.

This breaks audio filtering API and ABI.
2011-09-12 18:51:18 +02:00
Bobby Bingham 615baa13e4 lavfi: add split filter from soc.
Some fixes by Stefano.
For detailed authorship see SOC repo

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 08:48:16 +02:00
Stefano Sabatini ee42716b07 lavfi: add showinfo filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 08:48:14 +02:00
Stefano Sabatini 4f7dfe12ea lavfi: rename vsink_buffer.c to sink_buffer.c, and vsink_buffer.h to buffersink.h
This is done in order to clarify the non-video-specific nature of the
buffersink code, as the result of the video/audio API unification of
the previous commit, and for improving overall consistency.
2011-09-06 18:51:09 +02:00
Stefano Sabatini c4415f6ec9 lavfi: unify asink_buffer and vsink_buffer API
The new API is more generic (no distinction between audio/video for
pulling frames), and avoids code duplication.

A backward compatibility layer is kept for avoiding tools ABI breaks
(only for the video binary interface, audio interface was never used
in the tools).
2011-09-06 18:47:04 +02:00
Michael Niedermayer 3d8176d2f5 avfilter: Add avfilter_graph_que_command()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:10 +02:00
Michael Niedermayer 1e5014c7c7 avfilter: Add command passing support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:01 +02:00
Stefano Sabatini 24ddfb2bdb lavfi: add amovie source - audio movie source 2011-08-27 12:46:55 +02:00
Stefano Sabatini df4c7ae9db asink_abuffer: extend ABufferSinkContext to make it accept lists of formats in input
This is required for the pending lavfi indev extension, also
consistent with the video buffer sink.
2011-08-22 10:34:43 +02:00
Stefano Sabatini 34c997599e vsrc_testsrc: allow to set the sample aspect ratio
Add the sar option. Useful for debugging/testing purposes.
2011-08-21 15:27:09 +02:00
Mina Nagy Zaki 587c8ab912 lavfi: add asrc_abuffer - audio buffer source
Originally based on code by Stefano Sabatini and S. N. Hemanth.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-21 11:37:57 +02:00
Stefano Sabatini e30a0b1b3b lavfi: add ashowinfo filter
Useful for debugging.
2011-08-20 15:00:23 +02:00
Mina Nagy Zaki 3a9e227fb1 lavfi: add aresample filter
Based on a patch by Stefano.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-17 13:12:40 +02:00
Stefano Sabatini 6e89bdfecf lavfi: remove delogo mp wrapper
The delogo filter has been natively integrated into libavfilter,
simplify.
2011-08-14 12:26:44 +02:00
Stefano Sabatini 2701f6cc6a lavfi: port libmpcodecs delogo filter
The ported filter supports named option parsing and more YUV formats.
2011-08-14 12:17:10 +02:00
Mina Nagy Zaki 0a2295815d lavfi: add aformat filter
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-14 10:31:23 +02:00
Stefano Sabatini 3560089e12 vsink_buffer: make the buffer cache all the incoming frames
Allow to cache more than one frame (e.g. for filters which return
more than one frame when avfilter_request_frame() is called on them),
and do not discard previously cached frames when a new one is added.
2011-08-14 02:04:19 +02:00
Stefano Sabatini e72657f83d lavfi: remove mp test wrapper
The source was natively integrated into libavfilter, with the name
mptestsrc.
2011-08-11 16:19:53 +02:00
Stefano Sabatini 1a5e63f924 lavfi: port mp test source 2011-08-11 16:19:48 +02:00
Stefano Sabatini 640a905ece lavfi: remove gradfun mp wrapper
The gradfun filter was already integrated natively in libavfilter.
Both filters issue the same output, and have a comparable performance.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: remove gradfun mp wrapper
Date: Fri,  5 Aug 2011 00:19:04 +0200
2011-08-07 17:43:02 +02:00
Mina Nagy Zaki a8dcf5eebb lavfi: add asink_abuffer - audio buffer sink
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-06 13:17:49 +02:00
Mina Nagy Zaki 3e12b5893d lavfi: fix doxygen doc for config_props() callback
Update/extend documentation related to the link fields to set, and fix
a pads->filters braino.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-06 12:14:37 +02:00
Mina Nagy Zaki 5f68a91be2 lavfi: remove default config_props() callback and refactor avfilter_config_links()
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.

Also remove channel_layout check as it is now negotiated.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-06 12:13:18 +02:00
Stefano Sabatini 4b7889453e lavfi: remove avfilter_default_config_input_link() declaration
The function is not implemented (and possibly useless).
2011-08-06 12:11:12 +02:00
Stefano Sabatini 45f9e053d8 vf_crop: add support for a, dar, sar, hsub, and vsub variables
Consistent with the pad and scale filters.
2011-07-30 18:30:07 +02:00
Stefano Sabatini 61d55fda2b lavfi: tweak display aspect ratio variables in pad and scale filters
Previously, "dar" and "a" were documented like "input display aspect
ratio", but their actual value was "in_w/in_h".

In order to avoid to break scripts which rely on the "a" variable, the
patch keeps the same semantics but fixes the corresponding docs, and
fixes the semantics of the recently added "dar" variable, which
now correctly expresses the input Display Aspect Ratio value as
"(inw_w/in_h)*sar".
2011-07-30 18:27:24 +02:00
Stefano Sabatini cc0dc50d02 vf_mp: remove blackframe filter wrapper
blackframe is integrated as a native filter.
2011-07-23 10:55:50 +02:00
Stefano Sabatini 8c2863b87f vf_mp: remove cropdetect wrapper
The cropdetect filter is natively integrated into libavfilter.
2011-07-21 13:04:48 +02:00
Stefano Sabatini c76974524a vf_blackframe: port missing features from libmpcodecs blackframe
Use and show picref->video->pict_type and key_frame information.
The pict_type and key_frame information was not available at the time
of the port.
2011-07-21 13:04:48 +02:00
Mina Nagy Zaki b57df29f95 lavfi: add audio channel packing negotiation fields
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-07-16 19:22:49 +02:00
Stefano Sabatini 9dbe8d9e22 lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
The licence was changed from GPL to LGPL with explicit approval from
the original author.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: add rgbtestsrc source,
        ported from MPlayer libmpcodecs
Date: Mon, 11 Jul 2011 16:32:41 +0200
2011-07-15 01:44:56 +02:00
Stefano Sabatini 4bd28579e5 vf_mp: remove boxblur wrapper
It is natively included in libavfilter.
2011-07-15 01:06:00 +02:00
Stefano Sabatini 6b61920ab7 lavfi: port boxblur filter from libmpcodecs
With the following additions:
* support to gray format
* support to yuva420p format
* parametric luma/chroma/alpha radius
* consistency check on the radius values, avoid crashes with invalid values
2011-07-14 00:00:31 +02:00
Stefano Sabatini 2420763638 graphparser: simplify condition in avfilter_graph_parse()
Since avfilter_graph_parse() creates the "[in]" inout for the first
unlabelled input pad, it is expected that it will create an "[out]"
inout for last unlabelled output pad, even in the case where it cannot
find any open input pad with that name.

This change removes the check on the existence of an open input pad
named "out", so it simplifies the checked condition while implementing
a more intuitive behavior.
2011-07-10 18:00:50 +02:00
Nicolas George e6d88f63a8 libavfilter: add a default to silence a warning. 2011-07-05 08:27:42 +02:00
Stefano Sabatini 0bf02fb1ea vf_pad: add support for a "sar" variable
Also add a "dar" alias for "a", for avoiding confusion with sar/dar.
2011-07-04 11:20:00 +02:00
Stefano Sabatini 01151a26c0 vf_scale: add a "sar" variable
Also create a "dar" alias for the "a" variable, for avoiding possible
confusion between dar/sar.
2011-07-04 11:19:46 +02:00
Michael Niedermayer 976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/flvenc.c
	libavformat/oggenc.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard abc78a5a7c Do not include log.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:07 +01:00
Mans Rullgard d49ea4afb4 Do not include pixfmt.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:07 +01:00
Mans Rullgard e91709ca17 Do not include rational.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Stefano Sabatini 7464a53aaa lavfi: make pix_fmt_is_in() in vf_lut.c an internal function
Also generalize it, making it accept ints rather than pixel formats.
Allow factorization.
2011-07-01 12:14:16 +02:00
Stefano Sabatini 2f222b9550 lavfi: add testsrc source 2011-06-26 19:49:24 +02:00
Mina Nagy Zaki fd2c0a5db2 lavfi: add layout negotiation fields and helper functions. 2011-06-19 22:58:32 +02:00
Mina Nagy Zaki 527ca3985c lavfi: use int64_t lists in AVFilteFormats
The list type was changed to int64_t to be able to hold
channel layouts.

avfilter_make_format_list() still takes a int32_t array and converts
it to int64_t. A new function, avfilter_make_format64_list, that
takes int64_t arrays has been added.
2011-06-19 22:58:31 +02:00
Stefano Sabatini 44f669e7bc lavfi: add vsink_buffer, and use it in ff* tools
Also add the public interface libavfilter/vsink_buffer.h.
2011-06-19 19:18:33 +02:00
Stefano Sabatini 15f03725ce lavfi: add negate filter
This filter is a simple wrapper around the LUT filter.
2011-06-19 19:06:55 +02:00
Stefano Sabatini dd2793c880 lavfi: add LUT (LookUp Table) generic filters 2011-06-19 19:06:35 +02:00
Stefano Sabatini 3fe6bbd5dc libavfilter: implement avfilter_fill_frame_from_video_buffer_ref() 2011-06-12 22:46:02 +02:00
Stefano Sabatini c535494268 avfiltergraph: make the AVFilterInOut alloc/free API public
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.
2011-06-12 22:46:02 +02:00
Stefano Sabatini 6119b23a36 avfiltergraph: change the syntax of avfilter_graph_parse()
Make it returns the list of open inputs and outputs, so it can be
reused by applications.

Breaks API/ABI.
2011-06-12 22:46:02 +02:00
Stefano Sabatini d468ed0321 lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
Require "void *" rather than "AVClass *" for the log context type.
2011-06-11 12:23:03 +02:00
Stefano Sabatini c3819600e2 lavfi: implement avfilter_get_audio_buffer_ref_from_arrays() 2011-06-10 12:47:33 +02:00
Mina Nagy Zaki 47d2ca3205 lavfi: handle NULL lists in avfilter_make_format_list 2011-06-08 18:50:07 +02:00
Stefano Sabatini 95a0242642 lavfi: prefer nb_samples over size in AVFilterBufferRefAudioProps
Remove AVFilterBufferRefAudioProps.size, and use nb_samples in
avfilter_get_audio_buffer() and avfilter_default_get_audio_buffer() in
place of size.

This is required as the size in the audio buffer may be aligned, so it
may not contain a well defined number of samples.
2011-06-06 10:12:49 +02:00
Stefano Sabatini 27bcf55f45 vsrc_buffer: add flags param to av_vsrc_buffer_add_video_buffer_ref
The new flags parameter allows to specify if the video ref to add
should overwrite the cache, if the flag is not set vsrc_buffer will
complain and abort; otherwise it will clean the already cached video
ref before to overwrite it, thus avoiding a leak.
2011-06-06 01:35:27 +02:00
Reimar Döffinger 612d0782fc Add const to avfilter_get_video_buffer_ref_from_arrays arguments.
Avoids warning about discarding qualifiers in avcodec.c

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-06-05 19:57:14 +02:00
Stefano Sabatini e977ca2645 lavfi: add avfilter_link_free() function
Allow to free the buffers cached in each AVFilterLink pool.
Fix leak.
2011-06-03 00:41:32 +02:00
Stefano Sabatini 07586b68a8 lavfi: add select filter
Address trac issue #92.
2011-05-25 12:54:07 +02:00
Stefano Sabatini 83db719777 lavfi: make vsrc_buffer.h header public
Address trac issue #33.
2011-05-22 19:30:47 +02:00
Michael Niedermayer bf8bb94322 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: get rid of the -vglobal option.
  dct32: Add AVX implementation of 32-point DCT
  dct32: Change pass 6 permutation to allow for AVX implementation
  dct32: port SSE 32-point DCT to YASM
  multiple inclusion guard cleanup
  avio: document buffer must created with av_malloc() and friends
  avio: check AVIOContext malloc failure
  swscale: point out an alternative to sws_getContext
  svq3: Do initialization after parsing the extradata
  add changelog entries for 0.7_beta2
  mp3lame: add #include required for AV_RB32 macro.

Conflicts:
	Changelog
	libavcodec/svq3.c
	libavcodec/x86/dct32_sse.c
	libavfilter/vsrc_buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-22 04:53:19 +02:00
Stefano Sabatini af2ed4b748 lavfi: bump minor and add changelog entry after the split filter addition 2011-05-22 02:43:48 +02:00
Diego Biurrun 153382e1b6 multiple inclusion guard cleanup
Add missing multiple inclusion guards; clean up #endif comments;
add missing library prefixes; keep guard names consistent.
2011-05-21 13:48:10 +02:00
Stefano Sabatini c000a9f783 vsrc_buffer: add av_vsrc_buffer_add_frame()
The new function is a wrapper around
av_vsrc_buffer_add_video_buffer_ref(), and allows to simplify the act
of pushing AVFrame data to the source buffer.
2011-05-19 23:15:34 +02:00
Stefano Sabatini 50764e19a8 vsrc_buffer: make the source accept sws_param in init
Avoid the need of two distinct av_vsrc_add_video_buffer_ref*
functions. Simplify the interface.
2011-05-19 23:15:33 +02:00
Stefano Sabatini 9fdf77217b lavfi: add avfilter_get_video_buffer_ref_from_frame to avcodec.h
Simplify passing AVFrame data to av_vsrc_buffer_add_video_buffer_ref().
2011-05-19 23:15:33 +02:00
Stefano Sabatini 566666caf3 lavfi: add libavfilter/avcodec.h and avfilter_copy_frame_props()
avfilter_copy_frame_props() avoids code duplication and increases
robustness.

The added files libavfilter/avcodec.[ch] are used for containing
utilities useful for gluing togheter libavfilter and libavcodec.
2011-05-07 12:03:49 +02:00
Stefano Sabatini a5b64584f3 lavfi: Port drawtext filter by Hemanth from the libavfilter soc repo
With the following additions:
* support to anti-aliased glyph rendering
* support to UTF-8 text and Unicode chars rendering
* support for RGB packed formats
* fix minor errors and typos in the filter description
* extend/clarify examples in the filter description

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:17:40 +02:00
Michael Niedermayer 39f66edbea AVFilter: use picture pool to avoid malloc().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 23:53:06 +02:00
Stefano Sabatini 35fe66abbc lavfi: rename AVFilterBufferRefVideoProps.pixel_aspect to sample_aspect_ratio
Improve consistency with libavcodec.

This breaks libavfilter API/ABI.

The non-sequential 2.1.0 -> 2.4.0 bump is due to the mess previously
done with the lavfi minor number.
2011-05-01 13:10:18 +02:00
Stefano Sabatini 31d8467d82 lavfi: add showinfo filter 2011-04-27 11:12:45 +02:00
Michael Niedermayer d7e5aebae7 Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  ac3enc: correct the flipped sign in the ac3_fixed encoder
  Eliminate pointless '#if 1' statements without matching '#else'.
  Add AVX FFT implementation.
  Increase alignment of av_malloc() as needed by AVX ASM.
  Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
  mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
  documentation: extend documentation for ffmpeg -aspect option
  APIChanges: update commit hashes for recent additions.
  lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
  aac: add headers needed for log2f()
  lavc: remove FF_API_MB_Q cruft
  lavc: remove FF_API_RATE_EMU cruft
  lavc: remove FF_API_HURRY_UP cruft
  pad: make the filter parametric
  vsrc_movie: add key_frame and pict_type.
  vsrc_movie: fix leak in request_frame()
  lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
  vsrc_buffer: add sample_aspect_ratio fields to arguments.
  lavfi: add fieldorder filter
  scale: make the filter parametric
  ...

Conflicts:
	Changelog
	doc/filters.texi
	ffmpeg.c
	libavcodec/ac3dec.h
	libavcodec/dsputil.c
	libavfilter/avfilter.h
	libavfilter/vf_scale.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 03:51:04 +02:00
Stefano Sabatini bebe72f4a0 lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
Also deprecate av_get_pict_type_char() in favor of
av_get_picture_type_char().

The new enum and av_get_picture_type_char() are defined in libavutil.
This allows the use in libavfilter without the need to link against
libavcodec.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:38:57 +02:00
Roger Pau Monné 10d39405fa lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:42:13 +02:00
Michael Niedermayer 7a11c82fb7 vsrc_buffer: add sample_aspect_ratio fields to arguments.
This fixes aspect handling in ffmpeg.

This is based on a patch by Baptiste.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:38:24 +02:00
Mark Himsley 2f84bb4236 lavfi: add fieldorder filter
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:37:41 +02:00
Michael Niedermayer efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Stefano Sabatini 484a330890 pad: make the filter parametric
Address trac issue #61.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 15:28:01 +02:00
Anton Khirnov 139f3ac42d Bump major versions of all libraries.
They've accumulated enough new APIs and corresponding deprecated cruft.

This breaks API and ABI.
2011-04-18 20:19:47 +02:00
Roger Pau Monné 09a1416db7 Add key_frame and pict_type to AVFilterBufferRefVideo. 2011-04-16 10:09:15 +02:00
Mark Himsley aa0c515a3c lavfi: add fieldorder filter
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-11 00:14:21 +02:00
Stefano Sabatini d496d33d26 scale: make the filter parametric
Make the filter accept parametric expressions for the output video
size.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-05 15:38:34 +02:00
Michael Niedermayer 2cae9809e2 Merge remote branch 'qatar/master'
* qatar/master:
  fate: fix partial run when no samples path is specified
  ARM: NEON fixed-point forward MDCT
  ARM: NEON fixed-point FFT
  lavf: bump minor version and add an APIChanges entry for avio changes
  avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
  avio: make url_fdopen internal.
  avio: make url_open_dyn_packet_buf internal.
  avio: avio_ prefix for url_close_dyn_buf
  avio: avio_ prefix for url_open_dyn_buf
  avio: introduce an AVIOContext.seekable field
  ac3enc: use generic fixed-point mdct
  lavfi: add fade filter
  Change yadif to not use out of picture lines.
  lavc: deprecate AVCodecContext.antialias_algo
  lavc: mark mb_qmin/mb_qmax for removal on next major bump.

Conflicts:
	doc/filters.texi
	libavcodec/ac3enc_fixed.h
	libavcodec/ac3enc_float.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 02:15:12 +02:00
Brandon Mintern aadfc9ee74 lavfi: add fade filter
Port fade filter from libavfilter soc repo, with minor fixes by
Stefano.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-03 08:47:16 +02:00
Mans Rullgard 2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Reinhard Tartler 7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Reinhard Tartler 737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Michael Niedermayer 910b5b82e8 Add sample_aspect_ratio to AVFilterLink
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 13:07:21 +00:00
Stefano Sabatini 9409c3811c libavfilter: add video movie source
See thread:
Subject: [PATCH] movie video source
Date: 2010-12-31 15:35:30 GMT

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-08 13:20:56 +01:00
Michael Niedermayer 7b3ea5507c Add sample_aspect_ratio fields to vsrc_buffer arguments.
This fixes aspect handling in ffmpeg
This is based on a patch by baptiste
2011-01-31 21:32:06 +01:00
Michael Niedermayer 14b171cd71 Add sample_aspect_ratio to AVFilterLink 2011-01-31 21:32:06 +01:00
Mans Rullgard daed21a17e avfilter: remove stray semicolon 2011-01-18 20:48:23 +00:00
Stefano Sabatini a242ac3620 Rename AVFilterBufferRefAudioProps.samples_nb to nb_samples.
More consistent with the rest of FFmpeg and sounds more natural to
English speaking people.

Originally committed as revision 26374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:31:34 +00:00
Stefano Sabatini 6baf4afa99 Make avfilter_unref_buffer() accept a NULL parameter.
Originally committed as revision 26373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15 17:21:15 +00:00
Stefano Sabatini caeb0c3027 Make avfilter_graph_free() do nothing if graph is NULL.
Originally committed as revision 26323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-12 21:23:16 +00:00
Michael Niedermayer 36dc00de52 Add w,h,format back into AVFilterBuffer, these are required for direct rendering.
These fields are needed to be able to know which area of memory is allocated and
which is off limits.
This reverts 24291 and parts of r24424.

Originally committed as revision 26314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-11 23:53:17 +00:00
Stefano Sabatini b567020943 Add copy filter, useful for testing the avfilter_draw_slice() copy
code.

Originally committed as revision 26112 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-28 01:01:09 +00:00
Stefano Sabatini 28e5d45c68 Bump lavfi minor and add an entry after r26108 (which added
AV_PERM_NEG_LINESIZES to avfilter.h).

Originally committed as revision 26111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 18:16:52 +00:00
Michael Niedermayer 0ccabeeaef Support filters and decoders that dont support negative linesizes.
This patch is based on work by stefano.

Originally committed as revision 26108 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 15:10:21 +00:00
Stefano Sabatini 17fc94933b Add erode libopencv filter.
Originally committed as revision 26097 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-26 11:27:09 +00:00
Stefano Sabatini 91cbb6ba53 Add dilate libopencv filter.
Originally committed as revision 26096 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-26 11:27:05 +00:00
Stefano Sabatini cf69ad35c5 Redesign the libopencv wrapper to make it more generic. Accept both
FILTERNAME=ARGS and FILTERNAME:ARGS syntax.

The same filter class will be used for managing all the libopencv
filtering functions.

Originally committed as revision 26079 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23 17:24:19 +00:00
Nolan L d5f187fd33 Add gradfun filter, ported from MPlayer.
Patch by Nolan L nol888 <=> gmail >=< com.

See thread:
Subject: [FFmpeg-devel] [PATCH] Port gradfun to libavfilter (GCI)
Date: Mon, 29 Nov 2010 07:18:14 -0500

Originally committed as revision 25942 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 17:59:10 +00:00
Stefano Sabatini c61cdd0afb Move AV_NOPTS_VALUE, AV_TIME_BASE, AV_TIME_BASE_Q symbols from
libavcodec to libavcore.

Remove another compile-time dependancy of libavfilter on libavcodec.

Originally committed as revision 25923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-09 17:27:33 +00:00
Baptiste Coudurier a4dc7aa5b5 Port libmpcodecs hqdn3d filter.
Patch by Baptiste with some fixes by me.

Originally committed as revision 25880 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 13:03:42 +00:00
Stefano Sabatini 4da12e3b13 Implement av_image_alloc() and use it in
avfilter_default_get_video_buffer().

Originally committed as revision 25878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 12:56:16 +00:00
Stefano Sabatini 037be76e15 Add avfilter_graph_create_filter().
Originally committed as revision 25862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-02 20:12:27 +00:00
Stefano Sabatini f8608dcac3 Implement frei0r source.
Originally committed as revision 25855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-30 20:14:36 +00:00
Stefano Sabatini 3fa77bde1b In libavfilter, use consistently "Copyright (c)" in the license
headers.

Originally committed as revision 25838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-28 10:22:58 +00:00
Stefano Sabatini d38c340fdc Implement avfilter_get_video_buffer_ref_from_arrays().
Originally committed as revision 25827 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-25 20:50:28 +00:00
Stefano Sabatini 2fb21bf4ff Give more explicit/less confusing names to the filters dealing with
aspect ratio.

Originally committed as revision 25800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 22:03:24 +00:00
Stefano Sabatini 63e8d9760f Use the new libavcore audio channel API.
This also allows to remove a linking dependency of libavfilter on
libavcodec.

Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +00:00
Stefano Sabatini 58935b25d0 Port overlay filter from the libavfilter repo (with many fixes),
adopting Baptiste variant which is simpler and faster.

Originally committed as revision 25784 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 18:39:34 +00:00
Stefano Sabatini 5aaea022ab Make avfiltergraph.h public.
Originally committed as revision 25740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 09:51:22 +00:00
Stefano Sabatini 4fcbb2af33 Prefix with "ff_" the functions:
ff_avfilter_graph_check_validity()
ff_avfilter_graph_config_links()
ff_avfilter_graph_config_formats()

and move their declaration to internal.h. These functions are never
used in application code, so it is better to consider them internal
functions, this can be changed later if necessary. Simplify API.

Originally committed as revision 25737 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 00:21:28 +00:00
Stefano Sabatini 5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Aurelien Jacobs 6ed3bace97 drop support for base-10 encoded alpha component in av_parse_color()
Originally committed as revision 25719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-10 23:37:12 +00:00
Stefano Sabatini 24de0edbd5 Rename avfilter_destroy() as avfilter_free().
The new name is shorter and more consistent with the FFmpeg API, and
sounds less evil.

Originally committed as revision 25707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-08 12:32:39 +00:00
Stefano Sabatini 1e80a0eaa4 Remove graphparser.h header, move AVFilterInOut and
avfilter_graph_parse() declaration to libavfilter/avfiltergraph.h.

Simplify, and less confusing for the user.

Originally committed as revision 25705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 22:56:29 +00:00
Stefano Sabatini da6ec07c41 Bump lavfi minor and add APIchanges entry after the rename of
AVFilterInOut.filter.

Originally committed as revision 25701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:56:44 +00:00
Stefano Sabatini 97dd1e4a87 Rename avfilter_graph_destroy() to avfilter_graph_free().
The new name is shorter and more consistent with the rest of the API.

This change breaks libavfilter API/ABI.

Originally committed as revision 25674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:24 +00:00
Stefano Sabatini e15aeea656 Implement avfilter_graph_alloc().
Originally committed as revision 25673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:19 +00:00
Stefano Sabatini a532bb390f Add setpts filter, ported from the libavfilter soc repo.
Originally committed as revision 25655 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 22:29:17 +00:00
Stefano Sabatini 43945b2766 Add transpose filter.
Originally committed as revision 25525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 21:29:37 +00:00
Stefano Sabatini 2a24df9357 Add avfilter_graph_config().
Originally committed as revision 25502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 10:20:53 +00:00
Stefano Sabatini 94498ec98a Extend buffer source to accept the time base for the output PTS.
Originally committed as revision 25451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:20 +00:00
Stefano Sabatini 68b79bfc48 Implement cropdetect filter.
Originally committed as revision 25447 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 09:22:32 +00:00
Stefano Sabatini 16134b7c40 Extend the nullsrc source, make it accept a parameter for specifying
the timebase. Useful for debugging timebase configuration issues.

Originally committed as revision 25446 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-11 23:27:33 +00:00
Stefano Sabatini 214c0d420b Implement settb filter.
Originally committed as revision 25445 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-11 14:00:40 +00:00
Stefano Sabatini 867ae7aa5d Add a time_base field to AVFilterLink.
This is required for allowing a filter to use a time base different
from AV_TIME_BASE_Q, as it was previously assumed.

Originally committed as revision 25441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 22:26:14 +00:00
Stefano Sabatini 333771210e Fix reference to nonexistent function.
Originally committed as revision 25296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 18:32:53 +00:00
Stefano Sabatini e40032e23a Add the drawbox filter from the soc libavfilter repo.
Pedagogically useful.

Originally committed as revision 25244 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 13:16:40 +00:00
Stefano Sabatini c85eef4ed8 Move av_set_options_string() from libavfilter to libavutil.
Originally committed as revision 25236 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 22:09:53 +00:00
Stefano Sabatini 486adc55c0 Use more expressive names for the avfilter_insert_filter() in and out
parameters.

Originally committed as revision 25235 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 21:57:16 +00:00
Stefano Sabatini acc0490f09 Make AVFilterLink store the pointers to the source and destination
pads, rather than their index.

Originally committed as revision 25227 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 16:58:48 +00:00
Stefano Sabatini 372e288408 Move av_get_token() from libavfilter to libavutil.
Originally committed as revision 25225 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 16:23:43 +00:00
Stefano Sabatini 13fabd7a8d Port MPlayer blackframe filter.
See thread:
Subject: [FFmpeg-devel] [PATCH] Port MPlayer blackframe filter.
Date: Sun, 26 Sep 2010 01:10:40 +0200

Originally committed as revision 25214 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 21:36:05 +00:00
Stefano Sabatini 5900deeb90 Bump lavfi minor and add Changelog notice after yadif addition.
Originally committed as revision 25198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 17:03:26 +00:00
S.N. Hemanth Meenakshisundaram f0a5543898 Add asink_anullsink - null audio sink.
Patch by "S.N. Hemanth Meenakshisundaram" /smeenaks/ucsd/edu.

Originally committed as revision 25189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 01:57:01 +00:00
Stefano Sabatini 1ee410f330 Add asrc_anullsrc - null audio source.
Based on a patch by "S.N. Hemanth Meenakshisundaram" smeenaks!ucsd!edu.

Originally committed as revision 25188 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 01:56:58 +00:00
Stefano Sabatini 75b67a8a99 Make the crop filters accept parametric expressions.
Originally committed as revision 25185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 01:18:43 +00:00
Stefano Sabatini 2bc05d3547 Change the syntax of the crop filter from x:y:w:h to w:h:x:y.
Slightly more intuitive and required by a pending changes for making
the filter parametric.

Originally committed as revision 25184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 23:14:01 +00:00
Stefano Sabatini 47941088f9 Add frei0r filter.
See thread:
Subject: [FFmpeg-devel] [POC] frei0r wrapper
Date: Tue, 24 Aug 2010 21:37:32 +0200

Originally committed as revision 25165 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 00:32:22 +00:00
Michael Niedermayer 177477f57a Correct terminology bug in poll_frame()
it returns the number of samples not frames (for video sample=frame)

Originally committed as revision 25162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-23 11:12:03 +00:00
Stefano Sabatini 6ebf0bfc17 Implement libopencv smooth filter.
Originally committed as revision 25118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-14 13:21:13 +00:00
Stefano Sabatini 34017fd9b2 Move av_picture_data_copy() to libavcore, and rename it
av_image_copy().

Originally committed as revision 25067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:55 +00:00
Stefano Sabatini e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Stefano Sabatini eedca998eb Implement ff_get_ref_perms_string() and use it for tracing.
Originally committed as revision 24900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:12:13 +00:00
Stefano Sabatini 7f1af825f8 Add fifo filter.
Originally committed as revision 24896 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 08:38:00 +00:00
S.N. Hemanth Meenakshisundaram 99046339fc Add null audio filter.
Patch by S.N. Hemanth Meenakshisundaram -af smeenaks,ucsd,edu.

Originally committed as revision 24856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 23:16:51 +00:00
Stefano Sabatini e34433612f Rename av_fill_image_max_pixstep() to av_fill_image_max_pixsteps().
The plural form is preferred as it is more consistent with the other functions:
av_fill_image_linesizes()
av_fill_image_pointers()

and looks semantically more correct as it fills an array of elements.

Originally committed as revision 24851 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 16:52:38 +00:00
Stefano Sabatini 3fa3e4f4ec Cosmetics: add an empty newline between the function description and
the list of @params.

Improve consistency and possibly enhance readability.

Originally committed as revision 24842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-20 14:19:55 +00:00
S.N. Hemanth Meenakshisundaram ad2c950154 Implement libavfilter audio framework.
Patch by S.N. Hemanth Meenakshisundaram * smeenaks * ucsd * edu *.

Originally committed as revision 24811 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 18:08:03 +00:00
Stefano Sabatini a1e171dfee Add hflip filter.
Originally committed as revision 24806 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:59:12 +00:00
Stefano Sabatini f607cc18eb Cosmetics: put "{" on the same line of the "struct" keyword in struct
definitions.

More consistent with the rest of FFmpeg.

Originally committed as revision 24789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 18:20:58 +00:00
Stefano Sabatini 81c1ecabab Deprecate ff_get_plane_bytewidth() in favor of
av_get_image_linesize().

Originally committed as revision 24787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:06:04 +00:00
Stefano Sabatini a4fb0ada0b Apply misc cosmetics: add empty newlines for separating function
declarations and fix weird indent.

Originally committed as revision 24776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 16:22:16 +00:00
S.N. Hemanth Meenakshisundaram c1db7bff66 Resize data and linesize in AVFilterBufferRef to 8.
This is required to make AVFilterBufferRef able to contain also audio
data, required by audio filtering integration.

Patch by S.N. Hemanth Meenakshisundaram smeen?ks@ucsd.ed?.

Originally committed as revision 24773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 15:25:42 +00:00
Stefano Sabatini 84c0386960 Change avfilter_open() signature, from:
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

This way it is possible to propagate an error code telling the reason
of the failure.

Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:44:51 +00:00
S.N. Hemanth Meenakshisundaram cc80caff52 Separate video specific BufferRef properties into VideoProps.
Define a new struct AVFilterBufferRefVideoProps and add a type field
to AVFilterBufferRef.

Video specific properties in AVFilterBufferRefVideoProps are now
referred to by *video pointer in AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram smeenaks->ucsd.edu.

Originally committed as revision 24763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:06:04 +00:00
S.N. Hemanth Meenakshisundaram 5d4890d73d Rename fields:
AVFilterLink.srcpic    ->  AVFilterLink.src_buf
AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
AVFilterLink.outpic    ->  AVFilterLink.out_buf

The new names are more generic and more consistent, since the struct
they contain, which was named AVFilterPicRef, has been renamed to
AVFilterBufferRef.

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

Originally committed as revision 24732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:34 +00:00
S.N. Hemanth Meenakshisundaram 7fce481a69 Rename functions and fields:
avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

They have been renamed to allow sharing with audio.

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

Originally committed as revision 24731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:27 +00:00
S.N. Hemanth Meenakshisundaram ecc8dada37 Rename AVFilterPicRef to AVFilterBufferRef.
The struct is going to be used for storing audio buffer references as
well, and the new name is more generic.

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

Originally committed as revision 24730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:19 +00:00
S.N. Hemanth Meenakshisundaram d54e0948e0 Move format from AVFilterBuffer to AVFilterPicRef.
Patch by S.N. Hemanth Meenakshisundaram |smeenaks|ucsd|edu|.

Originally committed as revision 24728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 00:02:26 +00:00
Stefano Sabatini 6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00
Stefano Sabatini be665c7da6 Make avfilter_copy_picref_props() copy w and h from src to dst.
Originally committed as revision 24678 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-03 09:02:16 +00:00
S.N. Hemanth Meenakshisundaram 56b5e9d5a9 Resize AVFilterBuffer to hold 8 planes/linesizes worth of data.
This is required for making AVFilterBuffer useful for storing audio
data.

Patch by S.N. Hemanth Meenakshisundaram revert <ude.dscu@skaneems>.

Originally committed as revision 24592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 08:42:25 +00:00
Stefano Sabatini 7be5b7309c Make avfilter_default_get_video_buffer() use functions in
libavcore/imgutils.c rather than ff_fill_linesize() and
ff_fill_pointer().

Also remove a dependency on libavcodec.

Originally committed as revision 24586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-30 00:29:50 +00:00
S.N. Hemanth Meenakshisundaram bdab614be8 Generalize pixel format enum fields to int formats.
This is needed to make the libavfilter framework work with audio
filters.

In particular add a type field to AVFilterLink, change the field types:
enum PixelFormat format   -> int format   in AVFilterBuffer
enum PixelFormat *formats -> int *formats in AVFilterFormats
enum PixelFormat *format  -> int format   in AVFilterLink

and change the function signatures:
AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
AVFilterFormats *avfilter_make_format_list(const int *fmts);

int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
int avfilter_add_format(AVFilterFormats **avff, int fmt);

AVFilterFormats *avfilter_all_colorspaces(void); ->
AVFilterFormats *avfilter_all_formats(enum AVMediaType type);

This change breaks libavfilter API/ABI.

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

Originally committed as revision 24424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:12:47 +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
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
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
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 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
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
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
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 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
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 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