1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
Commit Graph

1879 Commits

Author SHA1 Message Date
Paul B Mahol
54101214d8 lavfi: use designated initializers for AVClass
While here:
    - add missing .version and .category,
    - make .class_name consistent across filters,
    - align declarations.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-17 11:10:10 +00:00
Pavel Koshevoy
a1aac8d004 lavfi: add atempo filter
Add atempo audio filter for adjusting audio tempo without affecting
pitch. This filter implements WSOLA algorithm with fast cross
correlation calculation in frequency domain.

Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-06-17 12:50:35 +02:00
Paul B Mahol
c9e183b490 lavfi: update some deprecated functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 15:15:16 +00:00
Paul B Mahol
fd8def9248 lavfi/super2xsai: fix fate test on bigendian
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-16 09:35:05 +00:00
Michael Niedermayer
46c50b1726 vf_pad: check that we have write permission before writing in the buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 01:54:50 +02:00
Stefano Sabatini
2b1fc5621d lavfi: add asetnsamples audio filter
This filter changes the number of samples on single output operation.

Based on a patch by Andrey Utkin <andrey.krieger.utkin@gmail.com>.
2012-06-16 00:54:20 +02:00
Stefano Sabatini
e20530add7 lavfi/split: give a more accurate description to split
The filter now supports a configurable number of outputs.
2012-06-16 00:46:58 +02:00
Stefano Sabatini
b2bcbcd999 lavfi/super2xsai: simplify code updating the color matrix at each y iteration
Remove duplicated out-of-loop init code, and do color matrix
initialization at the beginning of each y iteration.

Allow factorization and avoid an useless matrix update in the last
iteration.
2012-06-16 00:30:48 +02:00
Stefano Sabatini
4ebb46eb14 lavfi/super2xsai: fix table used to update color matrix at the end of each y loop
The previous table appears to be wrong (it was copied from the original
MPlayer super2xsai filter in order to keep binary compatibility).

The new table is consistent with the init code and apparently fixes a
combing artifact on the left edge of the generated image.
2012-06-16 00:30:42 +02:00
Stefano Sabatini
635a25954e lavfi/video: set output frame w/h properties in default_start_frame()
Use the same values of the video output link.

Avoid the need to override the default_start_frame() with an ad-hoc
start_frame() callback.

In particular, fix the super2xsai filter which was setting the
input w/h values in the output.
2012-06-16 00:30:27 +02:00
Stefano Sabatini
f0394f28c3 lavfi/avcodec: add consistency checks in avfilter_copy_buf_props()
The function will abort through an assert if the source is not defined,
or if the internal state of the source is inconsistent (e.g. type = AUDIO
&& !src->audio).
2012-06-16 00:30:13 +02:00
Michael Niedermayer
90d8506fbf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64
  segment: remove unnecessary <strings.h> include
  fate: add snow hpel tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 20:56:06 +02:00
Janne Grunau
fbc5740566 af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64 2012-06-15 19:10:58 +02:00
William Yu
f77a695d2e lavfi: af_amerge options array was not ended with NULL
Add a NULL to prevent undefined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 11:22:05 +02:00
Michael Niedermayer
c7b9eab2be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
  rtmp: Set the client buffer time to 3s instead of 0.26s
  rtmp: Handle server bandwidth packets
  rtmp: Display a verbose message when an unknown packet type is received
  lavfi/audio: use av_samples_copy() instead of custom code.
  configure: add all filters hardcoded into avconv to avconv_deps
  avfiltergraph: remove a redundant call to avfilter_get_by_name().
  lavfi: allow building without swscale.
  build: Do not delete tests/vsynth2 directory, which is no longer created.
  lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
  lavfi: make AVFilterPad opaque after two major bumps.
  lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
  lavfi: make avfilter_get_video_buffer() private on next bump.
  jack: update to new latency range API as the old one has been deprecated
  rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
  ppc: Rename H.264 optimization template file for consistency.
  lavfi: add channelsplit audio filter.
  golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
  sws: fix planar RGB input conversions for 9/10/16 bpp.

Conflicts:
	Changelog
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/golomb.h
	libavcodec/v210dec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_frei0r.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.h
	libavfilter/vsrc_color.c
	libavformat/rtmpproto.c
	libswscale/input.c
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 22:43:57 +02:00
Anton Khirnov
9cdf74f904 lavfi/audio: use av_samples_copy() instead of custom code.
Fixes a possible invalid write, found by Nicolas George.
2012-06-13 13:58:58 +02:00
Anton Khirnov
24b2f4ed21 avfiltergraph: remove a redundant call to avfilter_get_by_name(). 2012-06-13 13:58:03 +02:00
Anton Khirnov
2f296e39a1 lavfi: allow building without swscale. 2012-06-13 13:57:47 +02:00
Anton Khirnov
9baeff9506 lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov
9d0bfc5052 lavfi: make AVFilterPad opaque after two major bumps.
It will allow adding new fields to it without ABI breaks.
2012-06-13 11:11:33 +02:00
Anton Khirnov
84b9fbe055 lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
This will allow making AVFilterPad opaque for the calling apps, since
those are the only two fields that can be useful to the users.
2012-06-13 11:10:17 +02:00
Anton Khirnov
6d58358a3a lavfi: make avfilter_get_video_buffer() private on next bump.
They are only useful inside filters and we don't allow user filters for
now.
2012-06-13 11:09:15 +02:00
Stefano Sabatini
465a72b4b4 lavfi: move definition of avfilter_copy_buf_props() from buffer.c to avcodec.c
avcodec.c is where it is defined the lavc/lavfi interface code, so seems
a more adequate location (and doesn't force the inclusion of
libavcodec/avcodec.h where it is not required).
2012-06-13 10:51:33 +02:00
Stefano Sabatini
134815a030 lavfi: change name of tracing functions and of the macro which enables them
The enabling symbol is renamed FF_AVFILTER_TRACE. Avoid conflicts with
the DEBUG macro, which may be defined for different purposes.
2012-06-13 10:51:15 +02:00
Anton Khirnov
d625136877 lavfi: add channelsplit audio filter. 2012-06-12 21:38:59 +02:00
Alex Converse
65a80ee1ec avfilter: Log an error if avfilter fails to configure a link. 2012-06-12 10:05:31 -07:00
Michael Niedermayer
dc1c79be1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Log an error if avfilter fails to configure a link.
  avconv: support only native pthreads.
  rtmp: Fix a possible access to invalid memory location when the playpath is too short.

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 20:44:57 +02:00
Stefano Sabatini
ee1748ab53 lavfi: fix signature for default_filter_name()
Return a const char *, fix warnings:
libavfilter/avfilter.c: In function ‘default_filter_name’:
libavfilter/avfilter.c:414:5: warning: return discards ‘const’ qualifier from pointer target type [enabled by default]
libavfilter/avfilter.c: At top level:
libavfilter/avfilter.c:419:5: warning: initialization from incompatible pointer type [enabled by default]
libavfilter/avfilter.c:419:5: warning: (near initialization for ‘avfilter_class.item_name’) [enabled by default]
2012-06-10 17:23:58 +02:00
Nicolas George
0d24931604 vf_fps: set frame_rate. 2012-06-10 10:53:03 +02:00
Nicolas George
c8428a0d06 vf_tile: update deprecated functions. 2012-06-10 10:40:33 +02:00
Nicolas George
7b993c4a51 vf_tile: set frame_rate. 2012-06-10 10:35:17 +02:00
Anton Khirnov
d7d071a673 vf_libopencv: add missing headers.
Fix build after b74a1da4.
2012-06-10 08:02:02 +02:00
Michael Niedermayer
d35c27db63 sink_buffer: dont return void from void functions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:30:12 +02:00
Michael Niedermayer
7b0d362567 libavfilter: make ff_null_start_frame_keep_ref() a non static inline function.
Its only used through the start_frame pointer and thus cannot be inlined easily.
It also appears to break compilation with some unidentified compiler on darwin.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-10 03:08:19 +02:00
Nicolas George
0f62125643 buffersrc: deprecate flat options syntax. 2012-06-09 08:42:50 +02:00
Nicolas George
9ca440679d buffersrc: accept the frame rate as argument. 2012-06-09 08:42:50 +02:00
Nicolas George
dcaa4efcee buffersrc: accept key=value arguments.
The current flat arguments syntax is not easily extensible
due to sws_param possibly containing commas.
This is also consistent with abuffersrc.
2012-06-09 08:42:50 +02:00
Nicolas George
283cc05938 buffersink: add av_buffersink_get_frame_rate(). 2012-06-09 08:42:50 +02:00
Nicolas George
7b42036b3b lavfi: add a frame_rate field to AVFilterLink. 2012-06-09 08:42:50 +02:00
J. Bohl
023c073076 add bracket around the argument (fixes compilation error with ICL)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-09 00:34:21 +02:00
Nicolas George
e0545262a2 amerge: accept multiple inputs. 2012-06-07 22:51:08 +02:00
Nicolas George
e8e492b302 af_amerge: move nb_in_ch into the in structure.
With that change, there is only one array for the inputs,
it will make easier to implement a variable number of inputs.
2012-06-07 22:28:32 +02:00
Nicolas George
9915a33fc2 lavfi/audio: fix size of copied samples.
Fixes sporadic segfaults with some filters.
2012-06-07 17:03:45 +02:00
Stefano Sabatini
ad347bf459 lavfi: remove avfilter_default_item_name() from public API
The function was introduced in 4d6a8a2bdb and is not used anymore
outside avfilter.c.

This avoids to pollute the public API with an apparently unnecessary
function. The function was introduced a few days ago, so removing it from
the public API should do no much harm.
2012-06-06 23:25:33 +02:00
Stefano Sabatini
fe16ca1b91 lavfi/ocv: fix compilation after internalization of public functions
Include missing required internal headers.
2012-06-06 23:22:13 +02:00
Michael Niedermayer
ad60b3b181 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbis: Validate that the floor 1 X values contain no duplicates.
  avprobe: Identify codec probe failures rather than calling them unsupported codecs.
  avformat: Probe codecs at score 0 on buffer exhaustion conditions.
  avformat: Factorize codec probing.
  Indeo Audio decoder
  imc: make IMDCT support stereo output
  imc: move channel-specific data into separate context
  lavfi: remove request/poll and drawing functions from public API on next bump
  lavfi: make avfilter_insert_pad and pals private on next bump.
  lavfi: make formats API private on next bump.
  avplay: use buffersrc instead of custom input filter.
  avtools: move buffer management code from avconv to cmdutils.
  avconv: don't use InputStream in the buffer management code.
  avconv: fix exiting when max frames is reached.
  mpc8: fix maximum bands handling
  aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.

Conflicts:
	Changelog
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/mpc8.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavcodec/vorbisdec.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fifo.c
	libavfilter/vf_format.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-06 01:08:33 +02:00
Stefano Sabatini
647e2e070f lavfi: remove more instances of avfilter_default_filter_name()
They were discarded in 0f0f3bd1e0.
2012-06-05 19:00:52 +02:00
Stefano Sabatini
0da9bce5a3 lavfi: move avfilter_copy_frame_props() definition from buffer.c to avcodec.c
The new location is more suited, as it is where the lavfi/lavc glue is
defined.
2012-06-05 18:39:47 +02:00
Andrew Wason
c527027c27 aconvert filter needs to configure samplerates
I changed the *_set_common_* functions to only set unset formats, then
added a wrapper that calls them after the filters query_formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-05 18:15:29 +02:00
Nicolas George
aba8065adb avfiltergraph: call query_formats on inputs first.
This is a temporary workaround for amerge,
until format renegociation is implemented.

Should fix trac ticket #1400.
2012-06-05 13:26:34 +02:00