Commit Graph

244 Commits

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