Commit Graph

2206 Commits

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