Commit Graph

2388 Commits

Author SHA1 Message Date
Stefano Sabatini
208d6e6615 lavfi/hue: add verbose debug message showing initial parameters 2012-08-16 15:02:09 +02:00
Stefano Sabatini
5b0151a474 lavfi/hue: reindent after previous commits 2012-08-16 15:02:09 +02:00
Stefano Sabatini
419e1b7463 lavfi/hue: apply misc fixes to default values setting
In particular: signal error in case of bogus h:s values.
2012-08-16 15:02:09 +02:00
Jérémy Tran
191b77eb01 lavfi/hue: add named options support
Old syntax has been kept for compatibility reasons.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-16 15:01:05 +02:00
Stefano Sabatini
6efce3a894 lavfi/mp: remove hue wrapped filter
hue was integrated as a native libavfilter filter.
2012-08-16 14:13:54 +02:00
Martin Storsjö
33e112847d Add more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 10:49:54 +03:00
Martin Storsjö
70766c2182 Add some more missing includes after removing the implicit common.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 23:48:48 +03:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Michael Niedermayer
7427d1ca4a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: simplify scale_vector()
  g723.1: simplify normalize_bits()
  vda: cosmetics: fix Doxygen comment formatting
  vda: better frame allocation
  vda: Merge implementation into one file
  vda: support synchronous decoding
  vda: Reuse the bitstream buffer and reallocate it only if needed
  build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC
  avprobe: Include libm.h for the log2 fallback
  proresenc: use the edge emulation buffer
  rtmp: handle bytes read reports
  configure: Fix typo in mpeg2video/svq1 decoder dependency declaration
  Use log2(x) instead of log(x) / log(2)
  x86: swscale: fix fragile memory accesses
  x86: swscale: remove disabled code
  x86: yadif: fix asm with suncc
  x86: cabac: allow building with suncc
  x86: mlpdsp: avoid taking address of void
  ARM: intmath: use native-size return types for clipping functions

Conflicts:
	configure
	ffprobe.c
	libavcodec/Makefile
	libavcodec/g723_1.c
	libavcodec/v210dec.h
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/x86/cabac.h
	libavfilter/x86/yadif_template.c
	libswscale/x86/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-14 15:34:39 +02:00
Andrey Utkin
a32fa21d17 lavfi/asetnsamples: push as many frames as ready
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-14 13:19:52 +02:00
Nicolas George
271ddb116c lavfi: use min_perms and rej_perms for out pads.
There are several reasons for doing that:

1. It documents the code for the reader and helps find
   inconsistencies and bugs.

2. For rej_perms, it guarantees the change will be done
   even if the output reference can be created by several
   code paths.

3. It can be used to predict cases where a copy will,
   or will not happen and optimize buffer allocation
   (for example not request a rare direct-rendering buffer
   from a device sink if it will be copied anyway).

Note that a filter is still allowed to manage the permissions
on its own without using these fields.
2012-08-14 12:00:35 +02:00
Mans Rullgard
480178a295 x86: yadif: fix asm with suncc
Under some circumstances, suncc will use a single register for the
address of all memory operands, inserting lea instructions loading
the correct address prior to each memory operand being used in the
code. In the yadif code, the branch in the asm block bypasses such
an lea instruction, causing an incorrect address to be used in the
following load.

This patch replaces the tmpX arrays with a single array and uses a
register operand to hold its address. Although this prevents using
offsets from the stack pointer to access these locations, the code
still builds as 32-bit PIC even with old compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Jérémy Tran
ae60d2c877 lavfi: add hue filter
This is a port of the MPlayer hue filter (libmpcodecs/vf_hue.c) by
Michael Niedermayer.

Signed-off-by: Jérémy Tran <tran.jeremy.av@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-13 12:00:54 +02:00
Stefano Sabatini
5c0d8bc4ce lavfi: add avfilter_get_class() and iteration callbacks
Allow iteration over filter options.
2012-08-13 00:04:06 +02:00
Michael Niedermayer
18b0c39f99 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g723.1: fix addition overflow
  g723.1: simplify and fix multiplication overflow
  g723.1: deobfuscate an expression
  g723.1: remove unused #includes
  ARM: add missing "cc" clobber in av_clipl_int32_arm()
  rtmp: Factorize the code by adding handle_invoke_error
  rtmp: Factorize the code by adding handle_invoke_status
  rtmp: Factorize the code by adding handle_invoke_result
  libavutil: remove unused av_abort() macro
  ffmenc: replace if/abort with assert()
  libavutil: drop offsetof() fallback definition
  libavutil: drop fallback definitions of INTxx_MIN/MAX
  configure: Check for a sctp struct instead of just the header
  configure: suncc: Add -xc99 to dependency flags, required on Solaris
  doxygen: Fix function parameter names to match the code
  doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs
  swf: Move shared table out of the header file
  swf: Move swf_audio_codec_tags table to the only place it is used
  fate: add G.723.1 decoder tests

Conflicts:
	configure
	doc/platform.texi
	libavformat/Makefile
	libavutil/arm/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 16:25:23 +02:00
Michael Niedermayer
a0d15027e3 yadif: check input video size.
yadif needs at least 3x3 or it will likely crash with out of array reads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:09:34 +02:00
Michael Niedermayer
8f29901b54 yadif: remove get_video_buffer, its redundant now
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:09:11 +02:00
Michael Niedermayer
2f7e8dcf45 yadif: redesign first and last 2 lines handling.
The previous code dependent on the input buffer matching the
buffer that has been provided by yadifs get_buffer.
The API does in now way gurantee this though its often true.
This fixes some out of array reads.
The regression test checksums change due to "out of picture" values
being initialized differently.
There should be no visual difference in the filters output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-10 00:08:34 +02:00
Diego Biurrun
804d7a1aa6 doxygen: Fix function parameter names to match the code 2012-08-09 20:05:55 +02:00
Michael Niedermayer
9f088a1ed4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: reduce excessive inlining of mpeg_motion()
  mpegvideo: convert mpegvideo_common.h to a .c file
  build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
  Move MASK_ABS macro to libavcodec/mathops.h
  x86: move MANGLE() and related macros to libavutil/x86/asm.h
  x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
  aacdec: Don't fall back to the old output configuration when no old configuration is present.
  rtmp: Add message tracking
  rtsp: Support mpegts in raw udp packets
  rtsp: Support receiving plain data over UDP without any RTP encapsulation
  rtpdec: Remove an unused include
  rtpenc: Remove an av_abort() that depends on user-supplied data
  vsrc_movie: discourage its use with avconv.
  avconv: allow no input files.
  avconv: prevent invalid reads in transcode_init()
  avconv: rename OutputStream.is_past_recording_time to finished.

Conflicts:
	configure
	doc/filters.texi
	ffmpeg.c
	ffmpeg.h
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/mpegvideo.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09 19:31:56 +02:00
Clément Bœsch
cc650cf029 Remove "Error parsing options string [...]" messages.
This reduces from 3 to 2 messages for the same syntax error in ffprobe,
and from 4 to 3 in filters.
2012-08-09 08:11:00 +02:00
Mans Rullgard
c318626ce2 x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
This puts x86-specific things in the x86/ subdirectory where they
belong.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Stefano Sabatini
f6580b50ed lavfi: add asetpts audio filter
Based on an idea by Andrey Utkin <andrey.krieger.utkin@gmail.com>.
2012-08-09 01:03:05 +02:00
Clément Bœsch
e6dd2852ca lavfi/atempo: remove dead increment. 2012-08-08 22:53:00 +02:00
Stefano Sabatini
dbf25b70ea lavfi/testsrc: set default value for option "color" to NULL and rework color setting logic
Fix bogus warnings of the kind:
option 'color' is ignored with source 'testsrc'

when the color value is not explicitely set and the filter is different
from "color".
2012-08-08 16:49:53 +02:00
Michael Niedermayer
7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	ffprobe.c
	ffserver.c
	libavcodec/8svx.c
	libavcodec/avcodec.h
	libavcodec/dnxhd_parser.c
	libavcodec/dvdsubdec.c
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/libvorbisenc.c
	libavcodec/mjpeg_parser.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pcm.c
	libavcodec/r210dec.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/version.h
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavformat/asfdec.c
	libavformat/asfenc.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/caf.c
	libavformat/electronicarts.c
	libavformat/flacdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/framecrcenc.c
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/matroska.c
	libavformat/matroskadec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/movenc.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegts.c
	libavformat/mxf.c
	libavformat/mxfdec.c
	libavformat/mxfenc.c
	libavformat/nsvdec.c
	libavformat/nut.c
	libavformat/oggenc.c
	libavformat/pmpdec.c
	libavformat/rawdec.c
	libavformat/rawenc.c
	libavformat/riff.c
	libavformat/sdp.c
	libavformat/utils.c
	libavformat/vocenc.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Paul B Mahol
13c5069187 lavfi: add smptebars source
Patch readapted by Stefano Sabatini, color values proposed by Tim
Nicholson <nichot20@yahoo.com>.

Address trac ticket #1462.

See thread:
Subject: [FFmpeg-devel] [PATCH] smptebars filter
Date: Wed, 20 Jun 2012 01:54:58 +0000

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-08-07 20:06:56 +02:00
Clément Bœsch
16dc5f2050 Replace various inlined inverse AVRational with av_inv_q(). 2012-08-06 00:04:36 +02:00
Clément Bœsch
ad55244c96 lavfi/overlay: remove dead initialization. 2012-08-06 00:04:36 +02:00
Michael Niedermayer
b4780d03d0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: h264_idct: Rename x264_add8x4_idct_sse2 --> h264_add8x4_idct_sse2
  rational: add av_inv_q() returning the inverse of an AVRational
  dpx: Make start offset unsigned
  lavfi: properly signal out-of-memory error in ff_filter_samples
  cosmetics: Fix a few switched periods and linebreaks
  zerocodec: Fix memleak in decode_frame
  zerocodec: Cosmetics

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-05 22:17:02 +02:00
Reinhard Tartler
800750417f lavfi: properly signal out-of-memory error in ff_filter_samples
Found with a clang-scan report on http://fate.libav.org/csa/
2012-08-05 10:26:49 +02:00
Michael Niedermayer
e776ee8f29 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix handling of custom mix matrices
  fate: force pix_fmt in lagarith-rgb32 test
  fate: add tests for lagarith lossless video codec.
  ARMv6: vp8: fix stack allocation with Apple's assembler
  ARM: vp56: allow inline asm to build with clang
  fft: 3dnow: fix register name typo in DECL_IMDCT macro
  x86: dct32: port to cpuflags
  x86: build: replace mmx2 by mmxext
  Revert "wmapro: prevent division by zero when sample rate is unspecified"
  wmapro: prevent division by zero when sample rate is unspecified
  lagarith: fix color plane inversion for YUY2 output.
  lagarith: pad RGB buffer by 1 byte.
  dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.

Conflicts:
	doc/APIchanges
	libavcodec/lagarith.c
	libavfilter/x86/gradfun.c
	libavutil/cpu.h
	libavutil/version.h
	libswscale/utils.c
	libswscale/version.h
	libswscale/x86/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-04 23:51:43 +02:00
Derek Buitenhuis
8b8750e061 cosmetics: Fix a few switched periods and linebreaks
Based on a patch by Piotr Bandurski.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 16:39:27 -04:00
Nicolas George
8d6eed7b56 lavfi: document the constraints on incoming frames. 2012-08-04 21:49:05 +02:00
Nicolas George
8ef740ce01 lavfi: use a new field for automatic buffer copy.
The code currently use cur_buf as the target of the copy,
but cur_buf can be cleared by the filter if it has given
the reference away or stored it elsewhere as soon as start_frame.

The code still relies on the fact that the reference is not
destroyed until end_frame. All filters currently follow that condition.
An av_assert1() is added to check it; it should at least cause
very visible errors in valgrind.
2012-08-04 21:49:05 +02:00
Diego Biurrun
239fdf1b4a x86: build: replace mmx2 by mmxext
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
2012-08-03 22:51:05 +02:00
Stefano Sabatini
39a8275fdf lavfi: move color filter to testsrc, factorize 2012-08-03 16:26:58 +02:00
Clément Bœsch
e39f6a3a5c Fix misc swapped dot and carriage returns in av_log calls. 2012-08-03 14:58:14 +02:00
Nicolas George
752344dada amerge/astreamsync/pan: fix license boilerplate.
The boilerplate states that the files are under LGPL,
but refer the user to the GPL at one place.
These files were (re)implemented specifically for FFmpeg.
2012-08-03 00:24:51 +02:00
Stefano Sabatini
aa5b93fbd8 lavfi/rgbtestsrc: use ff_fill_rgba_map() rather than a local copy
Also convert int rgba_map[4] to uint8_t rgba_map[4], as required by
ff_fill_rgba_map().

Simplify.
2012-08-02 12:32:48 +02:00
Stefano Sabatini
3bcde3f06c lavfi/drawutils: make ff_draw_color() accept a const rgba map 2012-08-02 12:32:48 +02:00
Stefano Sabatini
65520f5933 lavfi/video: remove duplicated function ff_null_start_frame_keep_ref()
Semantic for the function ff_null_start_frame() was changed in
07bad27810, and it has now the same behavior of
ff_null_start_frame_keep_ref(), thus it makes no sense to keep both of
them.
2012-08-02 12:32:48 +02:00
Stefano Sabatini
4c8fc6a2a4 lavfi/testsrc: use AVFILTER_DEFINE_CLASS for defining the filter classes
Factorize.
2012-08-01 22:47:23 +02:00
Stefano Sabatini
33474eb1c6 lavfi/testsrc: extend logic in request_frame, support static image output 2012-08-01 22:47:04 +02:00
Stefano Sabatini
20e940e768 lavfi/testsrc: free the context in uninit
Keeping stuff in the context can be useful for debugging purposes.
2012-08-01 22:46:08 +02:00
Nicolas George
f952b23ed4 vf_tile: fix output buffer ownership.
There is no need to start_frame immediately on the output link
since the rest is only done with the last frame of the tile.
link->out_buf is now automatically dereferenced; since we give
it away it must be cleared.

Fix an assert failure; found by Clément Bœsch.
2012-08-01 12:23:48 +02:00
Stefano Sabatini
7ddf082f04 lavfi/testsrc: drop pointless parentheses 2012-08-01 11:05:47 +02:00
Stefano Sabatini
2702e38477 lavfi: remove unused defaults.c file 2012-08-01 11:05:41 +02:00
Michael Niedermayer
d1dad7c824 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpc8: return more meaningful error codes.
  mpc: return more meaningful error codes.
  wv,mpc8: don't return apetag data in packets.
  rtmp: do not warn about receiving metadata packets
  x86: h264dsp: Adjust YASM #ifdefs
  x86: yadif: Mark mmxext optimizations as such
  h264: convert loop filter strength dsp function to yasm.
  Improve descriptiveness of a number of codec and container long names

Conflicts:
	libavcodec/flvdec.c
	libavcodec/libopenjpegdec.c
	libavformat/apetag.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-31 22:41:00 +02:00
Diego Biurrun
d1505db067 x86: yadif: Mark mmxext optimizations as such
The yadif mmx optimizations contain the pmaxsw and pmaxub mmxext
instructions, causing sigills on CPUs that do not support mmxext.
2012-07-31 13:54:06 +02:00
Stefano Sabatini
52bd9cb4d2 lavfi/movie: force channel layout if not set by the decoder
This ensures that the output buffers will have the channel layout set,
which is required by filters.

Also consistent with ffmpeg.c behavior.
2012-07-31 13:25:14 +02:00
Stefano Sabatini
b4c3359828 lavfi/asettb: do not create a new reference in filter_samples()
There is no need to duplicate the input reference, since a filter should
not pass along a reference which is later modified. If this happens the
filter passing the reference should be fixed.

Also improve consistency with start_frame() of settb, allowing a pending
factorization.
2012-07-31 13:15:51 +02:00
Michael Niedermayer
b5da7d4c1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Drop pointless "format" from container long names
  swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
  wv: K&R formatting cosmetics
  configure: Add missing descriptions to help output
  h264_ps: declare array of colorspace strings on its own line.
  fate: amix: specify f32 sample format for comparison
  tiny_psnr: support 32-bit float samples
  eamad/eatgq/eatqi: call special EA IDCT directly
  eamad: remove use of MpegEncContext
  mpegvideo: remove unnecessary inclusions of faandct.h
  af_asyncts: avoid overflow in out_size with large delta values
  af_asyncts: add first_pts option

Conflicts:
	configure
	libavcodec/eamad.c
	libavcodec/h264_ps.c
	libavformat/crcenc.c
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	libavformat/framecrcenc.c
	libavformat/md5enc.c
	libavformat/nutdec.c
	libavformat/rawenc.c
	libavformat/yuv4mpeg.c
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 23:28:31 +02:00
Nicolas George
a85b4a5696 lavfi: use correct PTS for link age.
When start_frame has returned, the buffer reference's PTS
may have been modified by another filter.
2012-07-30 17:56:26 +02:00
Michael Niedermayer
3161958455 yadif: update frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Michael Niedermayer
dfd8f2ff19 avfilter: fix minor typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 14:17:10 +02:00
Stefano Sabatini
316f6df9cc lavfi/avcodec: rename picref->samplesref variable in avfilter_get_audio_buffer_ref_from_frame()
The new name is more meaningful in that context.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
9cf9214d0a lavfi/color: free internal context options in uninit()
Keeping the set options in the context when the component is still used
can be useful for debugging purposes.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
a74dcb7dc0 lavfi/color: cache and reuse colored picture in context
Avoid to fill the same picture again and again with the same content.

Optimize computation, and provides an example for the use of the
AV_PERM_REUSE permission flag.
2012-07-30 00:33:13 +02:00
Stefano Sabatini
47b6b7a2b9 lavfi/color: reindent after the previous commit 2012-07-30 00:33:13 +02:00
Stefano Sabatini
e5d617aa6d lavfi/color: drop support for old deprecated syntax 2012-07-30 00:31:43 +02:00
Stefano Sabatini
ad2022ac83 lavfi/testsrc: add comment in options 2012-07-30 00:30:21 +02:00
Michael Niedermayer
7c26761b81 Merge commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23'
* commit 'fe1c1198e670242f3cf9e3e1eef27cff77f3ee23':
  lavf: use dts difference instead of AVPacket.duration in find_stream_info()
  avf: introduce nobuffer option
  fate: make yadif tests consistent across systems
  vf_hqdn3d: support 9 and 10bit colordepth
  vf_hqdn3d: reduce intermediate precision
  vf_hqdn3d: simplify and optimize
  factor identical ff_inplace_start_frame out of two filters
  vf_hqdn3d: cosmetics
  avprobe/avconv: fix tentative declaration compile errors on MSVS.

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffprobe.c
	libavformat/avformat.h
	libavformat/options_table.h
	libavformat/utils.c
	libavformat/version.h
	tests/fate/filter.mak
	tests/ref/fate/filter-yadif-mode0
	tests/ref/fate/filter-yadif-mode1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 23:04:49 +02:00
Justin Ruggles
be51e589cd af_asyncts: avoid overflow in out_size with large delta values 2012-07-29 14:31:54 -04:00
Justin Ruggles
70d71b5801 af_asyncts: add first_pts option
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done.
2012-07-29 14:31:54 -04:00
Michael Niedermayer
706bd8ea19 Merge remote-tracking branch 'qatar/master'
* qatar/master: (35 commits)
  h264_idct_10bit: port x86 assembly to cpuflags.
  x86inc: clip num_args to 7 on x86-32.
  x86inc: sync to latest version from x264.
  fft: rename "z" to "zc" to prevent name collision.
  wv: return meaningful error codes.
  wv: return AVERROR_EOF on EOF, not EIO.
  mp3dec: forward errors for av_get_packet().
  mp3dec: remove a pointless local variable.
  mp3dec: remove commented out cruft.
  lavfi: bump minor to mark stabilizing the ABI.
  FATE: add tests for yadif.
  FATE: add a test for delogo video filter.
  FATE: add a test for amix audio filter.
  audiogen: allow specifying random seed as a commandline parameter.
  vc1dec: Override invalid macroblock quantizer
  vc1: avoid reading beyond the last line in vc1_draw_sprites()
  vc1dec: check that coded slice positions and interlacing match.
  vc1dec: Do not ignore ff_vc1_parse_frame_header_adv return value
  configure: Move parts that should not be user-selectable to CONFIG_EXTRA
  lavf: remove commented out cruft in avformat_find_stream_info()
  ...

Conflicts:
	Makefile
	configure
	libavcodec/vc1dec.c
	libavcodec/x86/h264_deblock.asm
	libavcodec/x86/h264_deblock_10bit.asm
	libavcodec/x86/h264dsp_mmx.c
	libavfilter/version.h
	libavformat/mp3dec.c
	libavformat/utils.c
	libavformat/wv.c
	libavutil/x86/x86inc.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-29 02:16:26 +02:00
Loren Merritt
1ad715dbf3 vf_hqdn3d: support 9 and 10bit colordepth
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:20:06 -07:00
Loren Merritt
0f583e6cc5 vf_hqdn3d: reduce intermediate precision
11% faster on penryn, 7% on sandybridge, 5% on bulldozer
Negligible change to output.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:19:01 -07:00
Loren Merritt
85e228c71d vf_hqdn3d: simplify and optimize
14% faster on penryn, 2% on sandybridge, 9% on bulldozer

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
fb44e7401f factor identical ff_inplace_start_frame out of two filters
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
60b9785530 vf_hqdn3d: cosmetics
Change code style to match the rest of libav.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:12:22 -07:00
Nicolas George
efcfcf8793 avf_concat: fix silence duration.
concat_in.pts starts at 0 for each segment, so the duration
of the silence was too long, except at the first stitch.
2012-07-28 15:14:01 +02:00
Nicolas George
4ce87ecf2a asrc_flite: do not crash on multiple instances.
The voice register functions return the same voice structure
upon multiple registration. It causes us two problems:

If we delete a voice without deregistering it, it leaves
a dangling pointer inside the library.

If we delete or unregister a voice at uninit, it may still
be in use by another instance of the filter.

The second problem is solved by keeping an usage counter inside
asrc_flite. This is not thread-safe, but neither is flite itself.
2012-07-28 15:13:46 +02:00
Anton Khirnov
b3fa478823 lavfi: bump minor to mark stabilizing the ABI. 2012-07-28 14:33:48 +02:00
Nicolas George
9a757cca34 avf_concat: fix min value for v option. 2012-07-28 11:48:14 +02:00
Stefano Sabatini
66a5201819 lavfi: add flite audio source 2012-07-28 11:06:43 +02:00
Stefano Sabatini
32390d6767 lavfi: move movie and amovie to a "multimedia sources" section
Since the recent changes, movie and amovie are able to deal with more
than one type of stream, so they should be categorized as "multimedia
sources" rather than audio/video sources.
2012-07-28 10:50:11 +02:00
Michael Niedermayer
c6963a220d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdsp: port x86 assembly to cpuflags.
  lavr: x86: improve non-SSE4 version of S16_TO_S32_SX macro
  lavfi: better channel layout negotiation
  alac: check for truncated packets
  alac: reverse lpc coeff order, simplify filter
  lavr: add x86-optimized mixing functions
  x86: add support for fmaddps fma4 instruction with abstraction to avx/sse
  tscc2: fix typo in array index
  build: use COMPILE template for HOSTOBJS
  build: do full flag handling for all compiler-type tools
  eval: fix printing of NaN in eval fate test.
  build: Rename aandct component to more descriptive aandcttables
  mpegaudio: bury inline asm under HAVE_INLINE_ASM.
  x86inc: automatically insert vzeroupper for YMM functions.
  rtmp: Check the buffer length of ping packets
  rtmp: Allow having more unknown data at the end of a chunk size packet without failing
  rtmp: Prevent reading outside of an allocate buffer when receiving server bandwidth packets

Conflicts:
	Makefile
	configure
	libavcodec/x86/proresdsp.asm
	libavutil/eval.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-27 23:42:19 +02:00
Justin Ruggles
743f07062a lavfi: better channel layout negotiation
Allow substitution of channel pairs in the input for nearby channel pairs in
the output in order to get a closer match. Also weigh LFE channel mismatch
differently to favor matching the same layout without LFE over one less
channel with LFE.
2012-07-27 14:15:33 -04:00
Steven Robertson
b3841db133 vf_alphamerge: Fix reversed conditional
Reviewed-by: Nicolas George
2012-07-27 14:00:04 +02:00
Michael Niedermayer
7333798c85 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: support YUV and deep RGB pixel formats
  Fix typo in v410 decoder.
  vf_yadif: unset cur_buf on the input link.
  vf_overlay: ensure the overlay frame does not get leaked.
  vf_overlay: prevent premature freeing of cur_buf
  Support urlencoded http authentication credentials
  rtmp: Return an error when the client bandwidth is incorrect
  rtmp: Return proper error code in handle_server_bw
  rtmp: Return proper error code in handle_client_bw
  rtmp: Return proper error codes in handle_chunk_size
  lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt()
  vp8: Replace x*155/100 by x*101581>>16.
  vp3: don't use calls to inline asm in yasm code.
  x86/dsputil: put inline asm under HAVE_INLINE_ASM.
  dsputil_mmx: fix incorrect assembly code
  rtmp: Factorize the code by adding handle_invoke
  rtmp: Factorize the code by adding handle_chunk_size
  rtmp: Factorize the code by adding handle_ping
  rtmp: Factorize the code by adding handle_client_bw
  rtmp: Factorize the code by adding handle_server_bw

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/x86/dsputil_mmx.c
	libavfilter/vf_overlay.c
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-26 21:37:15 +02:00
William Yu
d5d5e3dabe lavfi/af_amerge: avfilter_copy_buffer_ref_props will overwrite output pts 2012-07-26 10:05:58 +02:00
Anton Khirnov
b5c8aa745e vf_yadif: unset cur_buf on the input link.
The buffer is stored internally, so this prevents it from being unreffed
automatically.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Anton Khirnov
f431315a86 vf_overlay: ensure the overlay frame does not get leaked.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Michael Niedermayer
08fc1ad151 vf_overlay: prevent premature freeing of cur_buf
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Stefano Sabatini
e564de26b3 lavfi/avfilter.h: add doxy for AVFilterLink.out_buf 2012-07-25 10:03:34 +02:00
Stefano Sabatini
b73be80d48 lavfi/avfilter.h: add doxy for AVFilterLink.cur_buf 2012-07-25 10:01:29 +02:00
Diego Biurrun
49c45a2624 avfilter: Fix printf format string conversion specifier
libavfilter/avfilter.c:224:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat]
2012-07-25 09:24:25 +02:00
Nicolas George
ddcb99bb51 vf_deshake: set cur_buf to NULL.
Fix a segfault.
2012-07-23 22:44:25 +02:00
Paul B Mahol
ebe846fa73 vf_colormatrix: add missing semicolon
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-23 19:58:13 +00:00
Michael Niedermayer
2cb4d51654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  v410dec: Implement explode mode support
  zerocodec: fix direct rendering.
  wav: init st to NULL to avoid a false-positive warning.
  wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
  h264: refactor NAL decode loop
  RTMPTE protocol support
  RTMPE protocol support
  rtmp: Add ff_rtmp_calc_digest_pos()
  rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
  swscale: add missing HAVE_INLINE_ASM check.
  lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
  vc1: Add a test for interlaced field pictures
  swscale: Mark all init functions as av_cold
  swscale: x86: Drop pointless _mmx suffix from filenames
  lavf: use conditional notation for default codec in muxer declarations.
  swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
  dsputil: ppc: cosmetics: pretty-print
  dsputil: x86: add SHUFFLE_MASK_W macro
  configure: respect CC_O setting in check_cc

Conflicts:
	Changelog
	configure
	libavcodec/v410dec.c
	libavcodec/zerocodec.c
	libavformat/asfenc.c
	libavformat/version.h
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 21:25:09 +02:00
Nicolas George
a7ac05ce2f src_movie: implement multiple outputs.
The audio and video code paths were too different,
most of the decoding has been rewritten.
2012-07-23 17:14:59 +02:00
Nicolas George
05776119c1 buffersrc: use avfilter_get_buffer_ref_from_frame. 2012-07-23 17:14:59 +02:00
Nicolas George
5c5f75b92b lavfi: add avfilter_get_buffer_ref_from_frame. 2012-07-23 17:14:59 +02:00
Stefano Sabatini
7afd42d9f2 lavfi/showwaves: do not set on outlink->out_buf the sent video frame
The video frame reference is passed along the filterchain, and is not
possessed anymore by the filter. If out_buf is not set to NULL, it will
be freed by ff_end_frame() causing a crash.
2012-07-23 15:10:19 +02:00
Michael Niedermayer
67a304985e vf_overlay: fix missed return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 13:44:05 +02:00
Nicolas George
612307978d lavfi: change "transmedia" into "multimedia". 2012-07-23 11:44:48 +02:00
Nicolas George
be33da9a1d lavfi: add concat filter. 2012-07-23 11:34:20 +02:00
Ronald S. Bultje
3124886554 lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
This allows compiling this code using compilers that do not understand
gcc-style inline assembly.
2012-07-22 19:44:06 -07:00
Michael Niedermayer
88beb2df98 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: fix the asyncts test
  build: Drop gcc-specific warning flag from header compilation rule
  FATE: add a test for the asyncts audio filter.
  matroskadec: return more correct error code on read error.
  buffersrc: check ff_get_audio_buffer() for errors.
  lavfi: check all ff_get_video_buffer() calls for errors.
  lavfi: check all avfilter_ref_buffer() calls for errors.
  vf_select: avoid an unnecessary avfilter_ref_buffer().
  buffersrc: avoid creating unnecessary buffer reference
  lavfi: use avfilter_unref_bufferp() where appropriate.
  vf_fps: add more error checks.
  vf_fps: fix a memleak on malloc failure.
  lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
  lavfi: add error handling to end_frame().
  lavfi: add error handling to draw_slice().
  lavfi: add error handling to start_frame().

Conflicts:
	Makefile
	ffplay.c
	libavfilter/buffersrc.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.c
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 23:56:21 +02:00
Michael Niedermayer
9023de342f Merge commit '1470ce21cec5ee26e106e2a884c26bbf84e5aaea'
* commit '1470ce21cec5ee26e106e2a884c26bbf84e5aaea':
  Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
  G.723.1 demuxer and decoder
  Add a shift parameter to celp_lp_synthesis_filter()
  libopenjpeg: K&R formatting cosmetics
  yadif: use emms_c() instead of inline assembly for emms invocations.
  ac3: don't use different names for option tables in the template file.
  lavfi: use const for AVFilterPad declarations in all filters.
  adpcm: don't duplicate identical AVSampleFmt array for each encoder.
  configure: cosmetics: Group test dependencies together
  configure: add more passthrough flags in tms470 filter
  configure: move flag filtering functions out of if/else blocks

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/ac3enc_fixed.c
	libavcodec/allcodecs.c
	libavcodec/eac3enc.c
	libavcodec/g723_1.c
	libavcodec/g723_1_data.h
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/v210dec.h
	libavcodec/version.h
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_settb.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_copy.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_fieldorder.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_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_pixdesctest.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_slicify.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/g723_1.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-22 22:18:18 +02:00
Nicolas George
9c1d649ce5 overlay: clear cur_buf on main input link.
A reference is kept in the queue and freed after use.
2012-07-22 18:35:28 +02:00
Steven Robertson
82ecae8a70 lavfi: add alphaextract and alphamerge filters
These filters are designed for storing and transmitting video sequences
with alpha using higher-efficiency codecs such as x264 which don't
natively support an alpha channel. 'alphaextract' takes an input stream
with an alpha channel and returns a video containing just the alpha
component as a grayscale value; 'alphamerge' takes an RGB or YUV stream
and adds an alpha channel recovered from a second grayscale stream.

Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-22 12:17:34 +02:00
Anton Khirnov
a8a2271fe0 buffersrc: check ff_get_audio_buffer() for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
8f3a3ce730 lavfi: check all ff_get_video_buffer() calls for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
1dc4205018 lavfi: check all avfilter_ref_buffer() calls for errors. 2012-07-22 09:14:05 +02:00
Anton Khirnov
80e4ed279b vf_select: avoid an unnecessary avfilter_ref_buffer(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
785fa50f0b buffersrc: avoid creating unnecessary buffer reference 2012-07-22 09:14:05 +02:00
Anton Khirnov
02ac7311c8 lavfi: use avfilter_unref_bufferp() where appropriate. 2012-07-22 09:14:05 +02:00
Anton Khirnov
043800a968 vf_fps: add more error checks. 2012-07-22 09:14:05 +02:00
Anton Khirnov
d515e9c225 vf_fps: fix a memleak on malloc failure. 2012-07-22 09:14:05 +02:00
Anton Khirnov
3825b52688 lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors 2012-07-22 09:14:05 +02:00
Anton Khirnov
d4f89906e3 lavfi: add error handling to end_frame(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
e9b992d035 lavfi: add error handling to draw_slice(). 2012-07-22 09:14:05 +02:00
Anton Khirnov
ebc8d97481 lavfi: add error handling to start_frame(). 2012-07-22 09:14:04 +02:00
Ronald S. Bultje
731fa116b4 yadif: use emms_c() instead of inline assembly for emms invocations. 2012-07-21 17:16:49 -07:00
Ronald S. Bultje
3db407038e lavfi: use const for AVFilterPad declarations in all filters. 2012-07-21 16:31:15 -07:00
Michael Niedermayer
9e1508f1e7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: unref AVFilterLink.out_buf in ff_end_frame().
  lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
  vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().
  vf_slicify: clear AVFilterLink.cur_buf in start_frame().
  vf_settb: simplify start_frame().
  vf_fieldorder: don't give up its own reference to the output buffer.
  vf_pad: don't give up its own reference to the output buffer.
  vf_overlay: don't access a buffer reference that's been given away.
  vf_drawtext: don't give up its own reference to the input buffer.
  vf_gradfun: don't store two pointers to one AVFilterBufferRef.
  vf_delogo: don't store two pointers to one AVFilterBufferRef.
  vf_aspect: clear AVFilterLink.cur_buf in start_frame().
  lavfi: add avfilter_unref_bufferp()

Conflicts:
	doc/APIchanges
	libavfilter/avfilter.h
	libavfilter/buffer.c
	libavfilter/vf_aspect.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:20:49 +02:00
Michael Niedermayer
f7e0c18549 vf_overlay: prevent premature freeing of cur_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:57 +02:00
Michael Niedermayer
0ecaa447f6 vf_overlay: use unref_bufferP()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:53 +02:00
Michael Niedermayer
dc49105c7f sink_buffer: prevent prematurely freeing of cur_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:36 +02:00
Michael Niedermayer
1890853976 vf_thumbnail: prevent premature freeing of ref
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:31 +02:00
Michael Niedermayer
5aab307f30 vf_colormatrix: avoid using out_buf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 22:17:28 +02:00
Anton Khirnov
4c9080a7ef lavfi: unref AVFilterLink.out_buf in ff_end_frame().
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:12:49 +02:00
Anton Khirnov
07bad27810 lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:10:42 +02:00
Anton Khirnov
533fd5b5b4 vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer(). 2012-07-20 21:09:57 +02:00
Anton Khirnov
5b50ae94e6 vf_slicify: clear AVFilterLink.cur_buf in start_frame().
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:09:48 +02:00
Anton Khirnov
0393af4f0b vf_settb: simplify start_frame().
Avoid pointless filter ref/unref. Just use the reference passed to
start_frame().
2012-07-20 21:08:50 +02:00
Anton Khirnov
9203fa0b32 vf_fieldorder: don't give up its own reference to the output buffer. 2012-07-20 21:08:26 +02:00
Anton Khirnov
f493c644cd vf_pad: don't give up its own reference to the output buffer. 2012-07-20 21:08:13 +02:00
Anton Khirnov
ad8b6326aa vf_overlay: don't access a buffer reference that's been given away. 2012-07-20 21:07:51 +02:00
Anton Khirnov
7155763b78 vf_drawtext: don't give up its own reference to the input buffer.
Directly forwarding the input buffer to the next filter means that
drawtext no longer owns any references to it and thus shouldn't refer to
it in any way.
2012-07-20 21:07:32 +02:00
Anton Khirnov
d19499c796 vf_gradfun: don't store two pointers to one AVFilterBufferRef. 2012-07-20 21:07:11 +02:00
Anton Khirnov
0fe010a36f vf_delogo: don't store two pointers to one AVFilterBufferRef. 2012-07-20 21:06:49 +02:00
Anton Khirnov
51a8049be8 vf_aspect: clear AVFilterLink.cur_buf in start_frame().
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:06:40 +02:00
Robert Nagy
b70d89a033 lavfi: add avfilter_unref_bufferp()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-20 21:06:18 +02:00
Nicolas George
cb6a20fa56 lavfi: add FF_*LINK_IDX convenience macros. 2012-07-20 13:16:24 +02:00
Nicolas George
97f86680eb lavfi: make copy_buffer_ref common. 2012-07-20 13:16:23 +02:00
Michael Niedermayer
e03cd1049e Fix misspellings of FFmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
ef1c0b5295 avfiltergraph: add some debug info about selected pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 17:22:17 +02:00
Stefano Sabatini
712d82130e lavfi/avfiltergraph: apply misc fixes to fix avfilter_graph_request_oldest() @return doxy 2012-07-18 17:13:00 +02:00
Nicolas George
d483867525 avfiltergraph: document a catch in request_oldest().
This one is tricky. Consider a graph with two sink links, A and B.
request_oldest() requests on A, and A returns EOF. This EOF causes
a filter to flush pending frames to B; they are unrequested.
Then request_oldest() moves on to B, and B returns EOF.
2012-07-17 23:47:33 +02:00
Nicolas George
f98d814bb6 avfiltergraph: add a debug message on EOF. 2012-07-17 23:46:26 +02:00
Nicolas George
d06bfda07e lavfi: rescale link->current_pts.
The doxy says, and the heap implementations assumes,
it is in AV_TIME_BASE units.
2012-07-17 23:46:26 +02:00
Stefano Sabatini
fda968aa8f lavfi: decrease logging level of message showing initial parameters
Reduce log clutter, consistent with 1a49a169eb.
2012-07-15 15:07:03 +02:00
Steven Robertson
c88d98fe4a lavfi/movie: reindent after the previous patch
Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-10 01:37:54 +02:00
Steven Robertson
ac726a4f0c lavfi/movie: flush decoder frames on EOF
movie currently forwards EOF (or begins looping) immediately upon
reaching the last packet in the input stream, which can leave frames in
the decoder. This change first tries to read any remaining packets from
the decoder before forwarding EOF.

Signed-off-by: Steven Robertson <steven@strobe.cc>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-10 01:37:18 +02:00
Stefano Sabatini
a5382b50f2 lavfi/buffersink: restore possibility to pass opaque data
Use the init_opaque callback for the purpose.

Fix regression introduced in a5e8c41c28. In particular, fix lavfi
device in case a conversion to the supported (packed) formats is needed.
2012-07-10 01:29:47 +02:00
Stefano Sabatini
21d5609826 lavfi: add init_opaque callback
This will be used by filters which require an opaque field to be passed
in input. Should be required only for filters which imply a programmatic
use.

This is possibly a temporary solution, to be removed when we'll have a
clearer and better agreememnt of how/if to pass binary data for
initializing a filter.

See thread:
Subject: [FFmpeg-devel][PATCH] lavfi: add init2 callback
Date: Fri,  6 Jul 2012 01:22:17 +0200
2012-07-10 01:29:17 +02:00
Michael Niedermayer
f8911b987d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss3: use standard zigzag table
  mss3: split DSP functions that are used in MTS2(MSS4) into separate file
  motion-test: do not use getopt()
  tcp: add initial timeout limit for incoming connections
  configure: Change the rdtsc check to a linker check
  avconv: propagate fatal errors from lavfi.
  lavfi: add error handling to filter_samples().
  fate-run: make avconv() properly deal with multiple inputs.
  asplit: don't leak the input buffer.
  af_resample: fix request_frame() behavior.
  af_asyncts: fix request_frame() behavior.
  libx264: support aspect ratio switching
  matroskadec: honor error_recognition when encountering unknown elements.
  lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
  lavr: resampling: add filter type and Kaiser window beta to AVOptions
  lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
  lavr: mix: validate internal sample format in ff_audio_mix_init()

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/libx264.c
	libavfilter/audio.c
	libavfilter/split.c
	libavformat/tcp.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 22:40:12 +02:00
Anton Khirnov
cd99146253 lavfi: add error handling to filter_samples(). 2012-07-09 08:25:19 +02:00
Anton Khirnov
083d0f6be8 asplit: don't leak the input buffer. 2012-07-09 08:22:11 +02:00
Anton Khirnov
1ffb645662 af_resample: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Anton Khirnov
6f834293d3 af_asyncts: fix request_frame() behavior.
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:15 +02:00
Justin Ruggles
8ca08066fc lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
Also make this the default value.
2012-07-08 15:22:11 -04:00
Nicolas George
299387ebf4 vf_settb: rename the file as f_settb. 2012-07-08 19:54:08 +02:00
Nicolas George
65e65e3ce2 settb: cosmetic: reindent vf_settb structure. 2012-07-08 19:54:08 +02:00
Nicolas George
ba856c0be5 lavfi: implement asettb filter. 2012-07-08 19:54:08 +02:00
Michael Niedermayer
e145afb4b0 vf_tinterlace: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 03:47:38 +02:00
Stefano Sabatini
abb0a9982f lavfi: do not pass opaque field to init functions
Fix signature mismatch warnings.
2012-07-08 01:18:15 +02:00
Michael Niedermayer
9fb08427d7 vf_pp: dont pass NULL into pp, it would fail
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 19:14:51 +02:00
Michael Niedermayer
46a47077ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: add functions for testing code fragments
  af_amix: avoid spurious EAGAIN.
  af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
  af_amix: only consider negative return codes as errors.
  avconv: use only meaningful timestamps in start time check.
  avconv: fix the check for -ss as an output option.
  mss3: add forgotten 'static' qualifier for private table
  lavc: options: add planar names for request_sample_fmt
  flacdec: add planar output support
  flvdec: Treat all nellymoser versions as the same codec

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 02:17:30 +02:00
Anton Khirnov
b7558ac293 af_amix: avoid spurious EAGAIN.
Input on/off state can change in request_samples(), which can result in
a state where only the first input is active. get_available_samples()
will then return 0, and request_frame() will fail with EAGAIN even
though there is data on the single active input.

Take this into account and check the number of active inputs again after
calling request_samples().
2012-07-06 13:51:58 +02:00
Anton Khirnov
54bf88e65f af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
0 should only be returned when there was at least one output frame.
2012-07-06 13:51:58 +02:00
Anton Khirnov
428b369804 af_amix: only consider negative return codes as errors. 2012-07-06 13:51:58 +02:00
Stefano Sabatini
3e3e414fe4 lavfi/buffersink: fix doxy, remove "video" reference
The file contains the code for the audio buffersink as well.
2012-07-06 01:11:45 +02:00
Michael Niedermayer
039e9fe01c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  lavfi: reclassify showfiltfmts as a TESTPROG
  graph2dot: fix printf format specifier
  swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
  vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
  amr: remove shift out of the AMR_BIT() macro.
  dsputilenc: group yasm and inline asm function pointer assignment.
  mov: use forward declaration of a function instead of a table.
  Clarify Doxygen comment for FF_API_* #defines.
  configure: simplify get_version()
  Create version.h headers for libraries that lack them
  gitignore: Use full path instead of relative path to specify patterns
  mpegvideo: remove VLAs
  Add XTEA encryption support in libavutil
  Add Blowfish encryption support in libavutil
  eval: Add the isinf() function and tests for it
  flacdec: move lpc filter to flacdsp
  flacdec: split off channel decorrelation as flacdsp
  avplay: Add an option for not limiting the input buffer size
  FATE: add a test for WMA cover art.
  FATE: add a test for apetag cover art
  ...

Conflicts:
	.gitignore
	configure
	ffplay.c
	libavcodec/Makefile
	libavcodec/error_resilience.c
	libavcodec/mpegvideo.c
	libavcodec/ratecontrol.c
	libavdevice/avdevice.h
	libavfilter/Makefile
	libavfilter/filtfmts.c
	libavfilter/version.h
	libavformat/mov.c
	libavformat/version.h
	libavutil/Makefile
	libavutil/avutil.h
	libavutil/version.h
	libswscale/swscale.h
	libswscale/x86/swscale_mmx.c
	tests/fate/libavutil.mak
	tests/lavfi-regression.sh
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 21:03:28 +02:00
Mans Rullgard
7c29377b70 lavfi: reclassify showfiltfmts as a TESTPROG
This tool uses lavfi internal symbols not accessible in shared
libraries.  TESTPROGS are linked statically to allow them use of
library internals not normally exported.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 17:48:25 +01:00
Diego Biurrun
2047e40e6e Clarify Doxygen comment for FF_API_* #defines. 2012-07-04 15:10:10 +02:00
Michael Niedermayer
86e107a7d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Consistently use C-style comments with multiple inclusion guards
  anm: fix a few Doxygen comments
  misc typo and wording fixes
  attributes: add av_noreturn
  attributes: drop pointless define guards
  configure: do not disable av_always_inline with --enable-small
  flvdec: initial stream switch support
  avplay: fix write on freed memory for rawvideo
  snow: remove a VLA used for edge emulation
  x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
  snow: remove the runs[] VLA.
  snow: Check mallocs at init
  flacdec: remove redundant setting of avctx->sample_fmt

Conflicts:
	ffplay.c
	libavcodec/h264.c
	libavcodec/snow.c
	libavcodec/snow.h
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavformat/flvdec.c
	libavutil/attributes.h
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:32:31 +02:00
Carl Eugen Hoyos
71e5a14028 Suggest aresample filter if it was not compiled but requested. 2012-07-03 21:35:20 +02:00
Diego Biurrun
1a068bfefd cosmetics: Consistently use C-style comments with multiple inclusion guards 2012-07-03 17:35:12 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +02:00
Mans Rullgard
fb93e61e2b x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
These functions are defined conditionally so any uses need to have
preprocessor guards.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Michael Niedermayer
c9de83fefd yadif/x86: add prototypes for functions, make code valid C again.
Broken by: libav (a87b17f328)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 12:47:11 +02:00
Stefano Sabatini
bb6effe059 lavfi: remove vsrc_buffer.h API
The vsrc_buffer.h is not installed since commit 0b3b958135, so there is
no point into keeping it around.

The buffersrc.h API, which is more powerful, should be used instead.
2012-07-03 01:32:16 +02:00
Michael Niedermayer
b6851d34c0 x86/gradfun: fix compilation failure on open solaris
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:51:03 +02:00
Michael Niedermayer
b286383bd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: read attached pictures.
  apetag: reindent
  apetag: export attached covers as video streams.
  apetag: fix the amount of data read from binary tags.
  apetag: make sure avio_get_str() doesn't read more than it should.
  mov: read itunes cover art.
  snow: remove VLA in mc_block()
  intfloat: Don't use designated initializers in the public headers
  snow: remove a VLA.
  doc: Remind devs to check return values, especially for malloc() et al
  MS ATC Screen (aka MSS3) decoder
  vf_yadif: move x86 init code to x86/yadif.c
  vf_gradfun: move x86 init code to x86/gradfun.c
  roqvideo: Remove a totally unused dspcontext
  smacker: remove some unused code
  dsicin: remove dead assignment
  aacdec: remove dead assignment
  rl2: remove dead assignment
  proresenc: make a variable local to the loop where it is used
  alsdec: remove dead assignments

Conflicts:
	Changelog
	doc/developer.texi
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavfilter/gradfun.h
	libavfilter/x86/gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 21:19:41 +02:00
Mans Rullgard
a87b17f328 vf_yadif: move x86 init code to x86/yadif.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Mans Rullgard
2f0accf103 vf_gradfun: move x86 init code to x86/gradfun.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Nicolas George
1f5c1333a7 sink_buffer: implement fixed frame size. 2012-06-30 14:03:54 +02:00
Nicolas George
0689d5e17a lavfi: implement samples framing on links.
Links can be set up to group samples into buffers of
specified minimum and maximum size.
2012-06-30 14:03:54 +02:00
Michael Niedermayer
be4ffb28b3 vf_ass: fix table name to refer to correct lib.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:28:34 +02:00
Michael Niedermayer
c83ed18d45 formats.h: fix project reference in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 11:26:18 +02:00
Stefano Sabatini
b0fdd3489a lavfi: deprecate av_buffersrc_buffer() function
Favor av_buffersrc_add_ref() instead, which is more powerful.
2012-06-28 22:27:05 +02:00
Nicolas George
fcf8706ed9 sink_buffer: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Nicolas George
05d6cc116e buffersrc: warn when there are too many buffers. 2012-06-28 21:10:03 +02:00
Paul B Mahol
3f59bbf5b6 lavfi/amerge: silence warnings
The warning silenced was: libavfilter/af_amerge.c:144:29: warning: conversion specifies type 'long long' but the argument has type 'int' [-Wformat]

The warning was introduced after FF_API_SAMPLERATE64 removal.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-28 17:18:37 +00:00
Michael Niedermayer
b536e2facf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: add an assert to silence an uninitialized variable warning.
  avconv: shut up an uninitialized variable warning.
  avfiltergraph: shut up uninitialized variable warning.
  af_join: initialize a variable to shut up gcc warning.
  amix: fix format specifier for AVFilterLink.sample_rate.
  lavfi: make filters less verbose.
  mpc8: read APE tags.
  lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
  libm: provide fallback definition for cbrtf() using powf()
  network: Don't redefine error codes if they already exist in errno.h
  configure: Check for sys/time.h
  network: Include unistd.h from network.h
  avconv: don't include vsrc_buffer.h, which doesn't exist anymore
  lavfi: reorder AVFilterLink fields.
  lavfi: reorder AVFilterContext fields.
  lavfi: reorder AVFilter fields.
  lavfi: reorder AVFilterBufferRef fields.
  lavfi: reorder AVFilterBuffer fields.

Conflicts:
	configure
	libavcodec/v210dec.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_fade.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c
	libavformat/network.h
	libavutil/libm.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 01:58:09 +02:00
Michael Niedermayer
5916bc4658 Merge commit '1961e46c15c23a041f8d8614a25388a3ee9eff63'
* commit '1961e46c15c23a041f8d8614a25388a3ee9eff63':
  lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft
  lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft
  lavfi: use proper FF_API guards for different deprecated functions
  lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft
  lavfi: remove disabled FF_API_SAMPLERATE64 cruft
  lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft

Conflicts:
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/graphparser.c
	libavfilter/version.h
	libavfilter/video.c
	libavfilter/vsrc_buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 00:34:36 +02:00
Michael Niedermayer
052f4f859c Merge commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a'
* commit 'a5e8c41c28f907d98d2a739db08f7aef4cbfcf3a':
  lavfi: remove 'opaque' parameter from AVFilter.init()
  mov: do not try to read total disc/track number if data atom is too short.
  avconv: fix -force_key_frames
  dxva2_h264: fix signaling of mbaff frames
  x86: fft: elf64: fix PIC build

Conflicts:
	ffmpeg.c
	libavcodec/v210dec.h
	libavfilter/asrc_anullsrc.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_overlay.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-26 23:57:07 +02:00
Anton Khirnov
61d158c321 avfiltergraph: shut up uninitialized variable warning.
The warning silenced was:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:500:13: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:10:17 +02:00
Anton Khirnov
fd2784c3b5 af_join: initialize a variable to shut up gcc warning.
The warning silenced was:
libavfilter/af_join.c: In function ‘join_request_frame’:
libavfilter/af_join.c:451:9: warning: ‘nb_samples’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:09:15 +02:00
Anton Khirnov
422008ac63 amix: fix format specifier for AVFilterLink.sample_rate.
It is a plain int now.
2012-06-26 19:08:26 +02:00
Anton Khirnov
1a49a169eb lavfi: make filters less verbose. 2012-06-26 19:08:13 +02:00
Anton Khirnov
83ba22392d lavfi: reorder AVFilterLink fields.
Move private fields to the private section, remove holes.
2012-06-26 13:25:13 +02:00
Anton Khirnov
f892013ac4 lavfi: reorder AVFilterContext fields.
Place related fields together, remove holes.
2012-06-26 13:24:36 +02:00
Anton Khirnov
9618080512 lavfi: reorder AVFilter fields.
Place related fields together, remove holes, move private fields to the
end and mark them as private.
2012-06-26 13:23:51 +02:00
Anton Khirnov
f14e685609 lavfi: reorder AVFilterBufferRef fields.
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
cb81e29138 lavfi: reorder AVFilterBuffer fields.
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
1961e46c15 lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft 2012-06-26 13:20:19 +02:00
Anton Khirnov
5e88b96f37 lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft 2012-06-26 13:18:44 +02:00
Anton Khirnov
205e90249a lavfi: use proper FF_API guards for different deprecated functions 2012-06-26 13:17:31 +02:00
Nicolas George
784675ca91 sink_buffer: make opaque argument optional. 2012-06-26 13:17:30 +02:00
Nicolas George
a2bd8a9384 buffersink: group libav API functions. 2012-06-26 13:17:29 +02:00
Anton Khirnov
0b3b958135 lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft 2012-06-26 13:15:26 +02:00
Anton Khirnov
6c1e065bd4 lavfi: remove disabled FF_API_SAMPLERATE64 cruft 2012-06-26 13:15:14 +02:00
Anton Khirnov
8d900aa4d0 lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft 2012-06-26 13:14:59 +02:00
Anton Khirnov
a5e8c41c28 lavfi: remove 'opaque' parameter from AVFilter.init()
It is not used in any filters currently and is inherently evil. If
passing binary data to filters is required in the future, it should be
done with some AVOptions-based system.
2012-06-26 13:13:48 +02:00
Stefano Sabatini
720ec62012 lavfi: drop deprecated and disabled packing API
It was deprecated and removed after the recent 2->3 major bump.
2012-06-26 11:40:21 +02:00
Stefano Sabatini
8dd0e87d7b lavfi: remove old video sink API
It was deprecated since a long time and removed after the 2->3 major
bump.
2012-06-26 11:40:08 +02:00
Stefano Sabatini
9b41ec4b9e lavfi/drawtext: use av_opt_free() to free private context
Simplify code.
2012-06-25 22:49:16 +02:00
Stefano Sabatini
6be8cfa034 lavfi/abuffer: increase logging level of the log showing initial parameters
Also show them in a more parsable/consistent fashion.
2012-06-25 22:49:16 +02:00
Stefano Sabatini
8a3544149f lavfi/avfilter.h: reorganize headers disposition
Group lavfi headers together, slightly improve readability.
2012-06-25 22:49:09 +02:00
Stefano Sabatini
43583fb85c lavfi/avcodec: deprecate avfilter_fill_frame_from_*_buffer_ref API
Deprecate functions:
avfilter_fill_frame_from_buffer_ref
avfilter_fill_frame_from_audio_buffer_ref
avfilter_fill_frame_from_video_buffer_ref

and schedule to drop them at the next API major bump.

The function avfilter_copy_buf_props() should be used instead.
2012-06-25 13:42:47 +02:00
Stefano Sabatini
972cad77fa lavfi: remove unnecessary inclusion of libavcodec/avcodec.h in avfilter.h
libavfilter API was designed in order to be clarly distinguished from the
libavcodec API, including avcodec.h in avfilter.h is not going to help to
stick to this principle.

The inclusion of libavutil/audioconvert.h in many files was required
because avcodec.h includes audioconvert.h.

libavfilter/avcodec.h is where the lavc/lavfi interface should be
entirely placed.
2012-06-25 13:42:37 +02:00
Stefano Sabatini
a31ab50712 lavfi: move some FF_API_ definitions from avfilter.h to version.h
version.h seems the right place for FF_API_ definitions.
2012-06-25 13:42:29 +02:00
Michael Niedermayer
62975afa68 af_aresample: fix sample_rate type.
should fix fate failures on 32bit x86 linux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 15:13:39 +02:00
Michael Niedermayer
3013722c13 sink_buffer: assert that functions and sinks arent mixed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 14:17:14 +02:00
Michael Niedermayer
1c60088885 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Only use optimizations with cmov if the CPU supports the instruction
  x86: Add CPU flag for the i686 cmov instruction
  x86: remove unused inline asm macros from dsputil_mmx.h
  x86: move some inline asm macros to the only places they are used
  lavfi: Add the af_channelmap audio channel mapping filter.
  lavfi: add join audio filter.
  lavfi: allow audio filters to request a given number of samples.
  lavfi: support automatically inserting the fifo filter when needed.
  lavfi/audio: eliminate ff_default_filter_samples().

Conflicts:
	Changelog
	libavcodec/x86/h264dsp_mmx.c
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/version.h
	libavutil/x86/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 02:09:53 +02:00
Nicolas George
6fd0b55ab2 showwaves: fix PTS computation. 2012-06-23 15:08:23 +02:00
Nicolas George
6d627eae3c showwaves: fix first sample of frame test.
Avoids a huge memleak when n != 1.
2012-06-23 15:08:22 +02:00
Nicolas George
bd9939f495 lavfi: display pad type with mismatch error message. 2012-06-23 11:34:46 +02:00
Stefano Sabatini
c0ca840837 lavfi/buffer: remove unused function av_vsrc_buffer_add_frame_alt() 2012-06-23 00:42:51 +02:00
Stefano Sabatini
1dce2368bb lavfi/buffer: apply misc consistency nits 2012-06-23 00:42:51 +02:00
Stefano Sabatini
c17808cebd lavfi: define macro AVFILTER_DEFINE_CLASS
The macro can be used to define consistently the internal class of a
filter, save some typing and factorize.
2012-06-22 23:11:43 +02:00
Stefano Sabatini
012aa12a6b lavfi/drawtext: remove unnecessary parentheses in init() 2012-06-22 23:11:43 +02:00
Alex Converse
41e637e449 lavfi: Add the af_channelmap audio channel mapping filter.
Inspired by MPlayer's af_channels filter and SoX's remix effect.
2012-06-22 13:55:58 -07:00
Anton Khirnov
dc07fb6f7b lavfi: add join audio filter.
It joins multiple input streams into one multi-channel output.
2012-06-22 21:26:18 +02:00
Anton Khirnov
f75be9856a lavfi: allow audio filters to request a given number of samples.
This makes synchronization simpler for filters with multiple inputs.
2012-06-22 21:23:42 +02:00
Anton Khirnov
58b049f2fa lavfi: support automatically inserting the fifo filter when needed.
This breaks libavfilter ABI.
2012-06-22 21:06:01 +02:00
Anton Khirnov
fa06623930 lavfi/audio: eliminate ff_default_filter_samples().
It currently does the following:
1) get a zeroed audio buffer
2) copy some properties (but not the data) of the input buffer to it
3) pass this buffer to the output filter
This looks useless and is indeed not used by any filters, therefore
delete it.

Make ff_null_filter_samples() (just pass the buffer to the next filter)
the new default.
2012-06-22 20:58:19 +02:00
Michael Niedermayer
87dced8074 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fix hardcoded tables compililation caused by missing math constants
  lavf: Make codec_tag arrays constant
  twinvq: give massive struct a name.
  lavf, lavu: version bumps and APIchanges for av_gettime() move
  lavfi/audio: don't set cur_buf in ff_filter_samples().
  lavfi/fifo: add audio version of the fifo filter.
  fifo: fix parenthesis placement.
  lavfi: rename vf_fifo.c -> fifo.c
  lavc: remove stats_in from AVCodecContext options table.

Conflicts:
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/audio.c
	libavfilter/fifo.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 22:37:43 +02:00
Stefano Sabatini
1bb30d0295 lavfi/deshake: fix crash in uninit()
Add NULL check on avctx before calling avcodec_close() on it.

Fix trac ticket #1472.
2012-06-21 17:01:44 +02:00
Stefano Sabatini
cb08b6efc9 lavfi/scale: remove unused variable out_link
Fix warning:
libavfilter/vf_scale.c: In function ‘start_frame’:
libavfilter/vf_scale.c:284:23: warning: unused variable ‘out_link’ [-Wunused-variable]
2012-06-21 12:47:48 +02:00
Stefano Sabatini
c0b3c0ffb7 lavfi/audio: remove unused variable in ff_filter_samples()
Fix warning:
libavfilter/audio.c: In function ‘ff_filter_samples’:
libavfilter/audio.c:193:13: warning: unused variable ‘size’ [-Wunused-variable]
2012-06-21 12:47:48 +02:00
Stefano Sabatini
98701be356 lavfi/ass: update use of deprecated functions, fix warnings 2012-06-21 11:11:56 +02:00
Stefano Sabatini
eda4500866 lavfi/blackdetect: add logic for handling stream termination
Add request_frame() which checks the black duration when the end of the
stream is signalled. Allow to detect black video segments at the end of
the stream.

Note that the reported last black video segment duration is not very
accurate, since we still miss the duration information in the video
buffer.

Address trac ticket #1470.
2012-06-21 11:11:50 +02:00
Stefano Sabatini
5bc87f1cd6 lavfi/blackdetect: fix pts time debug printing 2012-06-21 11:00:20 +02:00
Anton Khirnov
e026c9b390 lavfi/audio: don't set cur_buf in ff_filter_samples().
It's redundant, since the input buffer is passed as a parameter to the
filter_samples() callback, and can lead to stale pointers remaining on
the link.
2012-06-21 09:27:05 +02:00
Anton Khirnov
4a97ff2fa7 lavfi/fifo: add audio version of the fifo filter. 2012-06-21 07:38:35 +02:00
Anton Khirnov
27570e211a fifo: fix parenthesis placement. 2012-06-21 07:38:28 +02:00
Anton Khirnov
394a2a0452 lavfi: rename vf_fifo.c -> fifo.c
It will be used for audio too.
2012-06-21 07:38:14 +02:00
Michael Niedermayer
5a90e55ece libavfilter/transform: fix mirroring.
mirror() borrowed from dwt.c, this could be moved to libavutil and made
public API, Ill submit a patch for this

Fixes Ticket1278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 23:55:17 +02:00
Paul B Mahol
de05877390 lavfi: remove redundant checks after av_parse_video_rate()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 20:36:12 +00:00
Michael Niedermayer
e632a430fe vf_vflip: fix handling of the last line.
Fixes Ticket1271

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:14:01 +02:00
Michael Niedermayer
a46f8915be vf_lut: fix handling of odd dimensions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:13:43 +02:00
Stefano Sabatini
3ea3e32e03 lavfi: add showwaves filter 2012-06-20 12:37:57 +02:00
Stefano Sabatini
93bbe53c44 lavfi/asplit: fix memleak
The input samples buffer must be unreferenced after it is propagated to
the output links.
2012-06-20 12:37:50 +02:00
Paul B Mahol
10952e0602 lavfi/color: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 20:04:17 +00:00
Paul B Mahol
9e7543361c lavfi/color: use AVOptions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 19:27:41 +00:00
Michael Niedermayer
cabbd271a5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  flvdec: remove incomplete, disabled seeking code
  mem: add support for _aligned_malloc() as found on Windows
  lavc: Extend the documentation for avcodec_init_packet
  flvdec: remove incomplete, disabled seeking code
  http: replace atoll() with strtoll()
  mpegts: remove unused/incomplete/broken seeking code
  af_amix: allow float planar sample format as input
  af_amix: use AVFloatDSPContext.vector_fmac_scalar()
  float_dsp: add x86-optimized functions for vector_fmac_scalar()
  float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
  lavr: Add x86-optimized function for flt to s32 conversion
  lavr: Add x86-optimized function for flt to s16 conversion
  lavr: Add x86-optimized functions for s32 to flt conversion
  lavr: Add x86-optimized functions for s32 to s16 conversion
  lavr: Add x86-optimized functions for s16 to flt conversion
  lavr: Add x86-optimized function for s16 to s32 conversion
  rtpenc: Support packetizing iLBC
  rtpdec: Add a depacketizer for iLBC
  Implement the iLBC storage file format
  mov: Support muxing/demuxing iLBC
  ...

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/dsputil.c
	libavcodec/version.h
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/version.h
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 20:53:27 +02:00
Pavel Koshevoy
5fa8226420 libavfilter: improve atempo audio quality
Reduce audio fragment alignment jitter by penalizing alignment
correction offsets that deviate too much from the target offset.
This is accomplished by multiplying the cross correlation search
window with a quadratic function.

Signed-off-by: Pavel Koshevoy <pavel@homestead.aragog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:29:27 +02:00
Michael Niedermayer
0412e5187e lavfi/avfilter: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:13:45 +02:00
Stefano Sabatini
db142a8395 lavfi/avcodec: make avfilter_fill_frame_from*() functions use avfilter_copy_buf_props()
The code in avfilter_copy_buf_props() is more generic, allow code
factorization.
2012-06-19 16:44:36 +02:00
Stefano Sabatini
8f8d8b9538 lavfi/avcodec: always use av_frame* accessors in avfilter_copy_buf_props()
Use av_frame_* accessors for the newly added fields in AVFrame (for which
we are supposed to use such accessors), and group the istructions
accordingly.
2012-06-19 16:44:35 +02:00
Stefano Sabatini
d5761fe47d lavfi/avcodec: copy pos field from AVFilterBuffer to AVFrame pkt_pos 2012-06-19 16:44:35 +02:00
Justin Ruggles
ae46fbee1d af_amix: allow float planar sample format as input 2012-06-18 18:01:14 -04:00
Justin Ruggles
f0ece49e74 af_amix: use AVFloatDSPContext.vector_fmac_scalar() 2012-06-18 18:01:14 -04:00
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