Commit Graph

2206 Commits

Author SHA1 Message Date
Anton Khirnov
25b3babe11 lavfi: always enable the scale filter and depend on sws.
The scale filter is used for internal colorspace conversions, so it must
always be present.
2012-05-06 16:22:29 +02:00
Anton Khirnov
fd18ee0ff6 vf_split: support user-specifiable number of outputs. 2012-05-06 16:21:00 +02:00
Nicolas George
67a316bbda vsrc_buffer: deprecate the header. 2012-05-06 16:18:11 +02:00
Nicolas George
aaa94f2890 vsrc_buffer: deprecate av_vsrc_buffer_add_video_buffer_ref. 2012-05-06 16:18:10 +02:00
Nicolas George
4d4350f47a src_buffer: update get_nb_failed_requests name.
Implement av_buffersrc_get_nb_failed_requests.
Deprecate av_vsrc_buffer_get_nb_failed_requests.
2012-05-06 16:18:10 +02:00
Nicolas George
fe511b6e32 asrc_abuffer: deprecate the header. 2012-05-06 16:18:10 +02:00
Nicolas George
675e83bb5c asrc_abuffer: deprecate av_asrc_buffer_* functions. 2012-05-06 16:18:10 +02:00
Nicolas George
6073ce71d0 lavfi: install buffersrc.h. 2012-05-06 16:18:10 +02:00
Nicolas George
317b2b7e92 lavfi: remove av_buffersrc_buffer.
It is no longer used anywhere.

Furthermore, the header it was declared in was not installed,
so it can not be considered part of the public API.
2012-05-06 16:18:10 +02:00
Nicolas George
8ad1964ec5 buffersrc: fix av_buffersrc_add_ref doxy.
av_buffersrc_add_ref can handle audio too now.
2012-05-06 16:18:10 +02:00
Nicolas George
5cb4f1a127 vsrc_buffer: return EAGAIN if no frame is available.
This is not an erroneous condition, do not print a warning.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-05 12:59:18 +02:00
Nicolas George
7bac2a78c2 src_buffer: implement av_buffersrc_add_frame.
It supersedes av_vsrc_buffer_add_frame and handles
both audio and video.
2012-05-04 23:26:40 +02:00
Nicolas George
a96cd73ff2 src_buffer: implement audio buffer copy. 2012-05-04 23:26:40 +02:00
Nicolas George
d8407bba0e lavfi/avcodec: implement audio copy_frame_prop. 2012-05-04 23:26:40 +02:00
Nicolas George
32094285ad lavfi: implement avfilter_get_audio_buffer_ref_from_frame. 2012-05-04 23:26:40 +02:00
Clément Bœsch
3c1d52d30b Fix a few @file doxy inconsistencies. 2012-05-04 18:50:59 +02:00
Clément Bœsch
af58a77f0a lavfi/src_buffer: fix indent. 2012-05-03 20:02:26 +02:00
Nicolas George
f8d58c594d src_buffer: merge av_asrc_buffer_add_audio_buffer_ref.
Implement it using av_buffersrc_add_ref.
2012-05-03 19:55:28 +02:00
Nicolas George
be8edff8d1 src_buffer: move audio format change check in a separate function. 2012-05-03 19:55:28 +02:00
Nicolas George
cc14cdec45 src_buffer: move buffer copy in a separate function.
This will make merging with the audio part easier.
2012-05-03 19:55:28 +02:00
Nicolas George
f94b150a03 src_buffer: move format change check in a separate function.
This will make merging the check with the audio part easier.
2012-05-03 19:55:28 +02:00
Nicolas George
3985ec0ee6 src_buffer: introduce av_buffersrc_add_ref().
This function merges the features of
av_vsrc_buffer_add_video_buffer_ref() and
av_buffersrc_buffer().
2012-05-03 19:55:28 +02:00
Stefano Sabatini
126ba1626e lavfi/drawtext: give a new alias "timecode_rate" to the the r/rate option
The option is related to the timecode, the new name clearly specifies the
context. Also it allows to list the option close to the other timecode
options.
2012-05-03 10:29:08 +02:00
Stefano Sabatini
eb07f4ccb5 lavfi/drawtext: rename and document variables d_expr and d_pexpr
Use the more expressive names draw_expr and draw_pexpr, also more
consistent.
2012-05-03 10:26:41 +02:00
Stefano Sabatini
65d2b2fbe4 lavfi/drawtext: alphabetically sort the expression parameters 2012-05-03 10:17:57 +02:00
Paul B Mahol
2cda0429aa lavfi: remove screenshot libmpcodecs wrapper
The filter is useless.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-02 18:15:29 +02:00
Stefano Sabatini
bb39c74b59 lavfi/lut: remove unused variable
Fix warning:
libavfilter/vf_lut.c: In function ‘draw_slice’:
libavfilter/vf_lut.c:297:15: warning: unused variable ‘k’ [-Wunused-variable]
2012-05-01 01:24:48 +02:00
Stefano Sabatini
5f161c2357 lavfi/tinterlace: support symbolic names for the parameter
Also deprecate the use of numerical values.
2012-04-30 23:04:46 +02:00
Stefano Sabatini
837d034787 lavfi/tinterlace: make video as interlaced in mode 6
This is useful for marking progressive video processed by the filter as
interlaced, avoiding the interlaced flag to switch back and forth at each
frame.
2012-04-30 23:04:46 +02:00
Stuart Morris
820c023142 lavfi/tinterlace: add tinterlace mode 6
This new mode is useful for generating frames for interlaced video
displays. Typically interlaced video displays have no form of field
synchronisation. This new mode guarantees correct field order without
any requirement for field synchronisation.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-04-30 23:04:46 +02:00
Stefano Sabatini
46eba43e0e lavfi/buffersink: fix header inclusion guard name 2012-04-29 18:46:59 +02:00
Nicolas George
f1b82099cd src_buffer: add forgotten avfilter_unref_buffer. 2012-04-28 19:37:57 +02:00
Nicolas George
75d5624cb2 avfilter: filter_samples: read pts before filtering.
The call to the next filter_sample will likely unref the
current buffer, so it is not possible to read it afterwards.
2012-04-28 18:48:12 +02:00
Nicolas George
2ae5af8094 lavfi: rename vsrc_buffer.c into src_buffer.c. 2012-04-28 09:59:13 +02:00
Nicolas George
7ad0d9864e lavfi: merge asrc_abuffer into vsrc_buffer. 2012-04-28 09:59:13 +02:00
Stefano Sabatini
18c6bd098b lavfi/tinterlace: remove unnecessary NULL check in start_frame() 2012-04-27 22:45:11 +02:00
Stefano Sabatini
cf9f7e40cc lavfi/tinterlace: use avfilter_unref_bufferp() 2012-04-27 22:45:11 +02:00
Stefano Sabatini
a853e88af2 lavfi/tinterlace: fix doxy in copy_picture_field() 2012-04-27 22:45:10 +02:00
Matthieu Bouron
73c1e3baad asrc_abuffer: return EAGAIN if no frame is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-27 22:11:00 +02:00
Stefano Sabatini
6b55aab01a lavfi: create buffer reference in filters which need to access the ref later
Also add internal function ff_null_start_frame_keep_ref().

Fix crash when a following filter (e.g. settb) will unref the reference
passed by start_frame(), and then the reference is accessed in
end_frame() through inlink->cur_buf.
2012-04-27 21:38:13 +02:00
Stefano Sabatini
6f3b1d7f86 lavfi/bbox: add missing space between pts and x1 values in the log 2012-04-27 21:33:42 +02:00
Matthieu Bouron
5473a98e45 af_amerge: return errors from subfilters when requesting a frame 2012-04-26 18:56:35 +02:00
Nicolas George
fd2cd64fc9 avfiltergraph: fix format selection.
The old code had two bugs:

For audio filters, the format was not set.

For video filters, if several links reference the same format list,
the same format must be selected in the end. This is done by
setting formats->format_count to 1: the other links sharing
the reference will therefore have only one choice.
If the heuristic does not pick the first format, the selected format
must also be moved to the first position.
2012-04-24 16:35:15 +02:00
Nicolas George
2e8f19d26f avfiltergraph: free the sink_links heap. 2012-04-23 23:36:33 +02:00
Nicolas George
e11110dee4 buffersink: add AV_BUFFERSINK_FLAG_NO_REQUEST. 2012-04-23 14:13:59 +02:00
Nicolas George
2d6522bab0 vsrc_buffer: count the number of failed requests. 2012-04-23 14:13:40 +02:00
Nicolas George
f75ee4031e vsrc_buffer: return EAGAIN if no frame is available.
This is not an erroneous condition, do not print a warning.
2012-04-23 14:13:40 +02:00
Nicolas George
2ce7972779 avfiltergraph: add avfilter_graph_request_oldest().
Keep a heap of all sink links ordered by timestamps.
2012-04-23 14:13:40 +02:00
Nicolas George
e0761feec4 avfilter: add a pointer from links to graph. 2012-04-23 14:13:40 +02:00
Nicolas George
78ac49c233 avfilter: document request_frame return codes. 2012-04-23 14:13:40 +02:00
Stefano Sabatini
dd3043d1c0 lavfi/setfield: remove stray argument in av_log()
Fix warning:
libavfilter/vf_setfield.c: In function ‘init’:
libavfilter/vf_setfield.c:64:20: warning: too many arguments for format [-Wformat-extra-args]
2012-04-21 12:32:50 +02:00
Stefano Sabatini
459414b4d9 lavfi/setfield: rename variable top_field_first to mode
The new name better reflects the meaning of the variable, after the
recent change.
2012-04-21 12:32:38 +02:00
Tim Nicholson
c97201dd29 lavfi/setfield: add "progressive" option
Add "prog" parameter value, and deprecate numeric values.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-04-21 10:09:49 +02:00
Stefano Sabatini
9750254885 lavfi/mp: remove libmpcodecs mirror filter
The native libavfilter hflip filter does the same thing.
2012-04-20 01:01:24 +02:00
Robert Nagy
65fa7bc1f8 lavfi: add avfilter_unref_bufferp()
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-04-20 01:01:17 +02:00
Robert Nagy
e90dfa6881 yadif: Improve pts calculation for is_second.
Tested-by: Robert Nagy <ronag89@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 19:41:16 +02:00
Robert Nagy
a80217a5ee copy pts and format props between lavfi buffer and frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 16:07:23 +02:00
Michael Niedermayer
15141f939d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: add parens around some macro arguments
  h264: use proper PROLOGUE statement for a function using 8 registers.
  doc: Update sample Vim config with suitable (function) indentation settings.
  dv: Merge dvquant.h into dvdata.c where all other DV tables reside.
  dv: Move static tables only used in one place to where they are used.
  graphparser: set next to NULL on an entry extracted from inputs list
  doc/filters: update documentation.
  avconv: flush decoders immediately after an EOF.
  avconv: send EOF to vsrc_buffer.
  avconv: reindent.

Conflicts:
	doc/filters.texi
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 12:13:22 +02:00
Michael Niedermayer
5cd460ba63 vsrc_buffer: fix null ptr segfault
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:06:06 +02:00
Michael Niedermayer
0d115d7799 avfiltergraph: More advanced heuristic to select colorspace.
This fixes regressions caused by switching from ffmpegs system to avfilters.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:05:56 +02:00
Michael Niedermayer
4778783160 Merge commit '3b266da3d35f3f7a61258b78384dfe920d875d29'
* commit '3b266da3d35f3f7a61258b78384dfe920d875d29':
  avconv: add support for complex filtergraphs.
  avconv: make filtergraphs global.
  avconv: move filtered_frame from InputStream to OutputStream.
  avconv: don't set output width/height directly from input value.
  avconv: move resample_{width,height,pix_fmt} to InputStream.
  avconv: remove a useless variable from OutputStream.
  avconv: get output pixel format from lavfi.
  graphparser: fix the order in which unlabeled input links are returned.
  avconv: change {input,output}_{streams,files} into arrays of pointers.
  avconv: don't pass input/output streams to some functions.

Conflicts:
	cmdutils.c
	cmdutils.h
	doc/ffmpeg.texi
	ffmpeg.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-17 04:03:50 +02:00
Anton Khirnov
aff01de641 graphparser: set next to NULL on an entry extracted from inputs list
Prevents it from referring to the rest of the list.
2012-04-16 09:28:34 +02:00
Robert Nagy
ed66bbfcb9 lavfi/aresample: properly propagate pts == AV_NOPTS_VALUE;
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-04-16 01:08:00 +02:00
Robert Nagy
4d84c7ded6 yadif: fixed missing error handling for poll_frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-15 23:44:38 +02:00
Anton Khirnov
7af99a01c4 graphparser: fix the order in which unlabeled input links are returned. 2012-04-15 20:20:03 +02:00
Michael Niedermayer
7432bcfe5a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vsrc_buffer: fix check from 7ae7c41.
  libxvid: Reorder functions to avoid forward declarations; make functions static.
  libxvid: drop some pointless dead code
  wmal: vertical alignment cosmetics
  wmal: Warn about missing bitstream splicing feature and ask for sample.
  wmal: Skip seekable_frame_in_packet.
  wmal: Drop unused variable num_possible_block_size.
  avfiltergraph: make the AVFilterInOut alloc/free API public
  graphparser: allow specifying sws flags in the graph description.
  graphparser: fix the order of connecting unlabeled links.
  graphparser: add avfilter_graph_parse2().
  vsrc_buffer: allow using a NULL buffer to signal EOF.
  swscale: handle last pixel if lines have an odd width.
  qdm2: fix a dubious pointer cast
  WMAL: Do not try to read rawpcm coefficients if bits is invalid
  mov: Fix detecting there is no sync sample.
  tiffdec: K&R cosmetics
  avf: has_duration does not check the global one
  dsputil: fix optimized emu_edge function on Win64.

Conflicts:
	doc/APIchanges
	libavcodec/libxvid_rc.c
	libavcodec/libxvidff.c
	libavcodec/tiff.c
	libavcodec/wmalosslessdec.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/version.h
	libavfilter/vsrc_buffer.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-14 22:37:43 +02:00
Anton Khirnov
7bf9e3391f vsrc_buffer: fix check from 7ae7c41.
The user submitted variable in this function is frame, not buf.
2012-04-14 18:58:20 +02:00
Stefano Sabatini
91d3cbe0fd avfiltergraph: make the AVFilterInOut alloc/free API public
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-04-14 09:25:46 +02:00
Anton Khirnov
12e7e1d03e graphparser: allow specifying sws flags in the graph description. 2012-04-14 09:25:46 +02:00
Anton Khirnov
4e781c25b7 graphparser: fix the order of connecting unlabeled links.
Right now, e.g. scale,[in]overlay would connect scale to the first
overlay input and [in] to the second, which goes against the
documentation and is unintuitive.

The bug happens because of the ordering mess in curr_inputs variable:
1) the unlabeled links from the previous filter are added to it in
correct order
2) input labels are parsed and inserted to the beginning one by one
(i.e. in reverse order)
3) curr_inputs is matched against filter inputs in reverse order

Fix the problem by always using proper ordering without trying to be
clever.
2012-04-14 09:25:46 +02:00
Anton Khirnov
d7bcc71dad graphparser: add avfilter_graph_parse2().
Unlike avfilter_graph_parse(), it returns unlinked inputs and outputs
to the caller, which allows parsing of graphs where inputs/outputs are
not known in advance.
2012-04-14 09:25:46 +02:00
Anton Khirnov
7ae7c41413 vsrc_buffer: allow using a NULL buffer to signal EOF. 2012-04-14 09:25:46 +02:00
Clément Bœsch
3f80546d75 lavfi/drawbox: fix width displayed in place of x. 2012-04-13 23:15:54 +02:00
Stefano Sabatini
5eeecde859 lavfi/mp: remove 2xsai wrapped filter
It was ported to a native libavfilter filter.
2012-04-13 00:14:06 +02:00
Stefano Sabatini
b7a7830dd4 lavfi: port 2xsai filter from libmpcodecs
Partially based on the port by Niel van der Westhuizen
<nielkie@gmail.com>, done for GCI 2010. Same output as the original
filter and as fast.

See thread:
Subject: [FFmpeg-devel] [PATCH] Port MPlayer 2xSaI filter to libavfilter
Date: Thu, 25 Nov 2010 01:31:24 +1000
2012-04-13 00:14:06 +02:00
Stefano Sabatini
162e400464 lavfi: install asrc_abuffer.h header
The header is part of the public API, in particular is used by
doc/examples/filtering_audio.c.
2012-04-13 00:13:30 +02:00
Michael Niedermayer
c0af87550a vf_lut: fix rgba map regression
Fixes Ticket1184

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-12 02:02:30 +02:00
Michael Niedermayer
e387c9d5dd Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv40dsp x86: use only one register, for both increment and loop counter
  rv40dsp: implement prescaled versions for biweight.
  avconv: use default channel layouts when they are unknown
  avconv: parse channel layout string
  nutdec: K&R formatting cosmetics
  vda: Signal 4 byte NAL headers to the decoder regardless of what's in the extradata
  mem: Consistently return NULL for av_malloc(0)
  vf_overlay: implement poll_frame()
  vf_scale: support named constants for sws flags.
  lavc doxy: add all installed headers to doxy groups.
  lavc doxy: add avfft to the main lavc group.
  lavc doxy: add remaining avcodec.h functions to a misc doxygen group.
  lavc doxy: add AVPicture functions to a doxy group.
  lavc doxy: add resampling functions to a doxy group.
  lavc doxy: replace \ with /
  lavc doxy: add encoding functions to a doxy group.
  lavc doxy: add decoding functions to a doxy group.
  lavc doxy: fix formatting of AV_PKT_DATA_{PARAM_CHANGE,H263_MB_INFO}
  lavc doxy: add AVPacket-related stuff to a separate doxy group.
  lavc doxy: add core functions/definitions to a doxy group.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/avcodec.h
	libavcodec/vda.c
	libavcodec/x86/rv40dsp.asm
	libavfilter/vf_scale.c
	libavformat/nutdec.c
	libavutil/mem.c
	tests/ref/acodec/pcm_s24daud

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-10 22:53:25 +02:00
Nicolas George
40b7a27bad vf_drawtext: fontconfig support. 2012-04-10 15:16:47 +02:00
Nicolas George
be9b0d2c5a vf_drawtext: fix memory leak of draw expression. 2012-04-10 15:16:12 +02:00
Nicolas George
423047ea31 vf_drawtext: fix memory leak of glyph data. 2012-04-10 15:16:12 +02:00
Anton Khirnov
e36b25d1df vf_overlay: implement poll_frame()
Signal that it can output a frame when there are frames on the main
input and EOF on the overlay input, but a frame is buffered -- e.g.
single picture overlay.
2012-04-09 21:30:21 +02:00
Anton Khirnov
90f65dc6cf vf_scale: support named constants for sws flags. 2012-04-09 21:29:05 +02:00
Reimar Döffinger
6458a08700 vf_scale: ensure the palette is set for output.
Since those are pseudo-palette formats, swscale does not write
into data[1], swscale must initialize the palette properly itself.
This lead to frames that actually decoded as all-gray before.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-09 17:21:35 +02:00
Reimar Döffinger
24eac3cff5 Mark GRAY8 format as pseudo-paletted.
This fixes that the GIF encoder crashes with it because
it has no palette.
And the arguments for the pseudopalette apply to gray8 as
much as to RGB8 etc.
In addition the changes required in lavfi should be needed anyway
when adding support for RGB8 etc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-09 17:21:35 +02:00
Reimar Döffinger
bbaf941e29 scale: fix slice rendering with conversion between pal/non-pal.
We can't use whether the input format is paletted to decide that
the output format has a palette in data[1], too, that makes no sense.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-09 17:21:35 +02:00
Stefano Sabatini
6cb01c9dba lavfi/mp: remove remove_logo wrapper
removelogo has been ported to libavfilter, and the wrapper was not
working.
2012-04-07 13:57:39 +02:00
Stefano Sabatini
2f83681c79 lavfi: port libmpcodecs remove-logo filter
The code is based on the remove-logo filter in MPlayer/libmpcodecs, by
Robert Edele, relicensed to LGPL with consent of the author.

Address trac issue #249.
2012-04-07 13:57:39 +02:00
Michael Niedermayer
25eae29ea1 vsrc_buffer: remove overwrite support.
the overwrite flag became unused when merging support for buffering
multiple frames.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06 11:01:22 +02:00
Michael Niedermayer
2c5a2958e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: Factorize declaration of mb_sizes array.
  vsrc_buffer: when no frame is available, return an error instead of segfaulting.
  configure: add dl to frei0r extralibs.
  dsputil x86: use SSE float instruction instead of SSE2 integer equivalent
  dsputil x86: remove deprecated parameter from scalarproduct_int16 prototype
  vp8dsp x86: perform rounding shift with a single instruction
  fate: add BMP tests.
  swscale: handle complete dimensions for monoblack/white.
  aacenc: Mark deinterleave_input_samples argument as const.
  vf_unsharp: Mark readonly variable as const.
  h264: fix 4:2:2 PCM-macroblocks decoding

Conflicts:
	configure
	libavcodec/h264.h
	libavcodec/x86/dsputil_mmx.c
	libavfilter/vf_unsharp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 22:26:50 +02:00
Anton Khirnov
a03f8ea0a8 vsrc_buffer: when no frame is available, return an error instead of segfaulting. 2012-04-05 09:30:09 +02:00
Michael Niedermayer
fa1f92a4f1 vf_idet: clean detected frame types based on a 4 frame history.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 09:11:15 +02:00
Michael Niedermayer
c59e73d2c8 vf_idet: change individual per frame statistics to debug log level.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 09:11:15 +02:00
Michael Niedermayer
4d4df310f2 vf_idet: print accumulated statistics for single and multi frame detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 09:11:15 +02:00
Michael Niedermayer
0477254dd2 vf_idet: Print both the single frame based detection and the multi frame one.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 06:38:48 +02:00
Michael Niedermayer
1a5c08eef6 vf_idet: Add last_type variable to make code more readable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 06:33:40 +02:00
Michael Niedermayer
ca2b450cee vf_idet: use enum to represent the type.
This will simplify future code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 06:25:32 +02:00
multiple authors
13cc3645b0 libavfilter: add colormatrix filter
Ported by: Baptiste Coudurier
cleanup+fate by ubitux
For detailed authorship of the original code please see avisynth
2012-04-04 23:54:53 +02:00
Diego Biurrun
1f068e4450 vf_unsharp: Mark readonly variable as const.
This fixes the following warning:
libavfilter/vf_unsharp.c:106: warning: initialization discards qualifiers from pointer target type
2012-04-04 19:34:40 +02:00
Michael Niedermayer
6fb35dbad1 vf_idet: print accumulated statistics at end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:31:31 +02:00
Michael Niedermayer
baf0c79a4d vf_idet: set interlaced flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:27:24 +02:00
Michael Niedermayer
2941a937f2 vf_idet: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:22:01 +02:00
Michael Niedermayer
5d9cfd8726 vf_idet: move statistic variables into the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:22:01 +02:00
Michael Niedermayer
02567bd73c vf_idet: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:22:01 +02:00
Michael Niedermayer
398491ae01 vf_idet: pass context to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 16:22:01 +02:00
Nicolas George
6c7b5b7b33 vf_ass: use drawutils. 2012-04-04 16:16:10 +02:00
Nicolas George
a63712d37c vf_drawtext: use drawutils. 2012-04-04 16:16:10 +02:00
Nicolas George
e8497a338e drawutils: implement uniform and mask blending. 2012-04-04 16:16:09 +02:00
Michael Niedermayer
e3e89b6d8b libavfilter: Add interlace detect filter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 15:27:30 +02:00
Michael Niedermayer
38477e1981 vf_lut: avoid rgb component indexing in the inner loop
15k->10k cpu cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 18:30:07 +02:00
Michael Niedermayer
002d9ded4a vf_lut: optimize rgb codepath
19k -> 15k cpu cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 18:13:33 +02:00
Michael Niedermayer
79a1d98676 vf_lut: optimize planar case
2500 -> 1900 cpu cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 17:49:04 +02:00
Michael Niedermayer
49891784ce Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vsrc_buffer: allow buffering arbitrary number of frames.
  vf_scale: avoid a pointless memcpy in no-op conversion.
  avfiltergraph: try to reduce format conversions in filters.
  avfiltergraph: add an AVClass to AVFilterGraph on next major bump.
  id3v2: fix skipping extended header in id3v2.4

Conflicts:
	libavfilter/vf_scale.c
	libavfilter/vsrc_buffer.c
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 00:17:02 +02:00
Anton Khirnov
95587d29d7 vsrc_buffer: allow buffering arbitrary number of frames. 2012-04-01 09:04:19 +02:00
Anton Khirnov
416fd90ead vf_scale: avoid a pointless memcpy in no-op conversion.
I.e. just pass the buffer along when src parameters == dst parameters.
2012-04-01 09:04:14 +02:00
Anton Khirnov
63736fe48c avfiltergraph: try to reduce format conversions in filters.
Current code, with a filterchain such as
(input - yuv411) -> (scale - any) -> (sink - any)
will result in yuv420 being chosen for the second link, which is clearly
not right.

This commit attempts to improve in the following way:
repeat until convergence:
  loop over all filters
    find input link with exactly one format
    force this format on all output links of the same type (if possible)
2012-04-01 09:04:09 +02:00
Anton Khirnov
996f9f0c32 avfiltergraph: add an AVClass to AVFilterGraph on next major bump.
It will be used for logging, possibly also AVOptions.
2012-04-01 09:03:35 +02:00
Stefano Sabatini
95ce0ddcfe lavfi/fade: fix black level for non studio-level pixel formats
Fix trac ticket #1139, regression introduced in 8c1fb50d07.
2012-03-31 15:55:43 +02:00
Michael Niedermayer
2d54bbb950 vsrc_buffer: Store allocated scale filter and free it later.
Fixes a memleak.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-31 08:52:35 +02:00
Michael Niedermayer
c5f9a66f74 avfilter: allow freeing NULL.
this way avfilter_free() can be called without NULL checks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-31 08:48:23 +02:00
Michael Niedermayer
8c2045c979 avfilter: set w/h in avfilter_fill_frame_from_video_buffer_ref().
This fixes issues with AVFrame w/h being wrong in some cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 04:11:55 +02:00
Nicolas George
247fbf071b ass: fix aspect ratio computation. 2012-03-28 16:38:15 +02:00
Clément Bœsch
a67d9cfa58 lavfi: add avfilter_fill_frame_from_{audio_,}buffer_ref(). 2012-03-26 22:46:40 +02:00
Michael Niedermayer
7e496e1545 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: ppc: drop stray leftover backslash
  build: Only clean the architecture subdirectory we build for.
  build: drop some unnecessary dependencies from the H.264 parser
  build: prettyprinting cosmetics
  libavutil: Remove pointless rational test program.
  libavutil: Remove broken and pointless lzo test program.
  lavf doxy: expand AVStream.codec doxy.
  lavf doxy: improve AVStream.time_base doxy.
  lavf doxy: add some basic documentation about reading from the demuxer.
  lavf doxy: document passing options to demuxers.
  lavf doxy: clarify that an AVPacket contains encoded data.
  mpegtsenc: allow user triggered PES packet flushing
  APIchanges: mark the place where 0.7 was cut.
  APIchanges: mark the place where 0.8 was cut.
  APIchanges: fill in missing dates and hashes.
  smacker: convert palette and header reading to bytestream2.
  alac: convert extradata reading to bytestream2.

Conflicts:
	doc/APIchanges
	libavcodec/smacker.c
	libavcodec/x86/Makefile
	libavfilter/Makefile
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-26 20:52:52 +02:00
Diego Biurrun
e7e19b15c7 build: Only clean the architecture subdirectory we build for.
This allows simplifying the Makefiles; it is no longer necessary to register
arch subdirectory Makefiles, just putting them in place is enough.
2012-03-26 13:29:03 +02:00
Paul B Mahol
40821980ae vf_hflip: accept PIX_FMT_RGB444 and PIX_FMT_BGR444 pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>

added fate checksum update
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-26 01:02:18 +02:00
Paul B Mahol
53c896770c bbox: remove superfluous initializations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 13:40:37 +01:00
Nicolas George
3493390d47 lavfi: add tile video filter. 2012-03-21 15:52:45 +01:00
Nicolas George
7084985173 vsrc_color: port to new drawutils API. 2012-03-21 15:52:45 +01:00
Nicolas George
53b7a3fe08 vf_pad: port to new drawutils API. 2012-03-21 15:52:45 +01:00
Nicolas George
8ec0832743 drawutils: new API.
This new API stores useful data in a dedicated structure
and has clearly delimited init functions.

Hopefully, uses of the old API can be replaced quickly.
2012-03-21 15:52:45 +01:00
Stefano Sabatini
8e0d3c0369 lavfi/ass: add dar option
Allow to specify the display aspect ratio adopted for rendering
subtitles.
2012-03-21 15:14:28 +01:00
Stefano Sabatini
c9399538b7 lavfi/ass: use a default DAR value of 1.0
Previously it was using the same value of the input video DAR, which is
inconsistent with most implementations.

Fix trac ticket #1098.
2012-03-21 15:14:28 +01:00
Stefano Sabatini
e71e65ff1d lavfi/aspect: check for a negative code from av_parse_ratio()
Check on < 0 rather than on != 0, this is more correct as a positive
error code from av_parse_ratio() value doesn't mean an error.
2012-03-21 15:14:28 +01:00
Nicolas George
6cf53927c4 graphdump: use av_bprintf API. 2012-03-21 13:39:28 +01:00
Stefano Sabatini
e19ccc89ef lavfi/aspect: fail with AVERROR(EINVAL) in case of invalid specified aspect
Previously it was returning 0 in case the aspect was parsable but
invalid.

X-ColaCount: +10*PHIl
2012-03-19 20:09:22 +01:00
William Yu
d19d52d4a1 lavfi/movie: add loop parameter
Signed-off-by: William Yu <genwillyu@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-03-18 21:19:09 +01:00
Stefano Sabatini
fdffaa6b11 lavfi/scale: document behavior with regards to the output sample aspect ratio
Also show the input and output sample aspect ratio in the log.
2012-03-18 10:45:04 +01:00
Nicolas George
69174fad73 vf_thumbnail: forward request_frame at least once.
The current version relied on poll_frame to request
the very first frame, that would not work if the
surrounding code does not call poll_frame.
2012-03-17 17:26:27 +01:00
Stefano Sabatini
d9f26a0d71 lavfi/crop: show input and output sample aspect ratio in the log 2012-03-17 12:34:34 +01:00
Stefano Sabatini
0ac38deda7 lavfi/allfilters: fix weird vertical align 2012-03-17 11:33:34 +01:00
Stefano Sabatini
3225bc37a3 lavfi: add bbox filter
Also add bbox.h and bbox.c files, based on the remove-logo filter by
Robert Edele. These files are useful for sharing code with the pending
removelogo port.
2012-03-17 11:21:49 +01:00
Michael Niedermayer
b89f94077d ass: fix DAR calculation.
Found-by: REN Lifeng <renlifeng@wowfly.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-16 04:35:21 +01:00
Michael Niedermayer
9e2ee46206 vf_fspp: add ff_ prefix to non static variables.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-14 23:06:00 +01:00
Baptiste Coudurier
fa35ade8f9 vf_fspp: fix compilation with llvm 2012-03-14 22:35:15 +01:00
Lou Logan
2d38081b4f cosmetics: fix some typos
Patch attached.
From 2d4094fc0dcb4ccd0735eb7e1719e228ebb56bb9 Mon Sep 17 00:00:00 2001
From: Lou Logan <lou@lrcd.com>
Date: Mon, 12 Mar 2012 14:13:44 -0800
Subject: [PATCH] cosmetics: fix some typos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-13 01:14:04 +01:00
Clément Bœsch
4fe5448790 lavfi/drawtext: add 24 hours wrapping option for timecode.
Fixes ticket #1044.
2012-03-12 18:17:02 +01:00
Baptiste Coudurier
f49cb8e669 vf_crop: keepaspect support 2012-03-11 17:46:31 +01:00
Baptiste Coudurier
1b99971dc7 vf_frei0r: set outlinks sample aspect ratio to 1 2012-03-10 17:48:14 +01:00
Stefano Sabatini
aefd1cb725 lavfi: remove swapuv libmpcodecs wrapper
The filter has been ported to a native libavfilter filter.
2012-03-10 00:10:44 +01:00
Stefano Sabatini
fa35d880aa lavfi: port MP swapuv filter 2012-03-10 00:10:37 +01:00
Nicolas George
b50767c31d vf_pad: keep a reference to the output buffer.
Once fixed, the end_frame function does exactly what
avfilter_default_end_frame does; therefore, end_frame
can be removed to let avfilter_default_end_frame work.

Fixes ticket #1038.
2012-03-08 17:00:12 +01:00
Nicolas George
1ea3b657d6 vf_yadif: accept input with several frames available.
Fixes ticket #1040.
2012-03-07 17:36:04 +01:00
Michael Niedermayer
776c89f019 vsrx_mptestsrc: remove duplicate config_props init.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-07 00:20:23 +01:00
Nicolas George
14aa1ba802 libmpcodecs/vf_pp: import memleak fix from MPlayer. 2012-03-04 19:36:24 +01:00
Nicolas George
7f06ca6e2b vf_mp: uninit filter chain.
Most of the code was taken from MPlayer's vf_uninit_filter_chain.
2012-03-04 19:36:24 +01:00
Stefano Sabatini
409a3bda07 lavfi: add blackdetect filter
Address trac ticket #901.
2012-03-04 12:31:06 +01:00
Nicolas George
07fb7682d1 vsrc_testsrc: free option values. 2012-03-03 13:17:39 +01:00
Nicolas George
eb6b6d7f8a vsrc_life: free option values. 2012-03-03 12:33:54 +01:00
Nicolas George
f8210f892e vf_fade: free type when overwriting it. 2012-03-03 12:33:54 +01:00
Michael Niedermayer
f54e06feb3 vf_deshake: try to fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-29 02:33:32 +01:00
Michael Niedermayer
02670762d2 libavfilter/libmpcodecs: add vf_pp from current mplayer svn
This will allow us to do regression tests on libpostproc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-26 20:39:32 +01:00
Nicolas George
42655b24c2 avfiltergraph: avoid harmful auto audio conversions.
With the current code, an automatically inserted aconvert necessary
for format change would usually convert to mono for no good reason.

The new code will not avoid all conversions, but at least will keep
them among the layouts common to both filters.
2012-02-23 09:37:11 +01:00
Nicolas George
4217dfe87b af_pan: remove dual double/int storage of gain.
libswresample takes care of that now.
2012-02-22 10:50:58 +01:00
Michael Niedermayer
184fc600e1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: only allocate output packet when we know there will be output
  Add names for more channel layouts to the channel layout map.
  sunrast: Add a sample request for RMP_RAW colormap.
  avcodec: do not override pts or duration from the audio encoder
  Add prores regression test.
  Enable already existing rso regression test.
  Add regression test for "sox" format muxer/demuxer.
  Add dpx encoding regression test.
  swscale: K&R formatting cosmetics for PowerPC code (part I/II)
  img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
  Clarify licensing information about files borrowed from libjpeg.
  Mark mutable static data const where appropriate.
  avplay: fix -threads option
  dvbsubdec: avoid undefined signed left shift in RGBA macro
  mlpdec: use av_log_ask_for_sample()
  gif: K&R formatting cosmetics
  png: make .long_name more descriptive
  movdec: Adjust keyframe flagging in fragmented files
  rv34: change most "int stride" into "ptrdiff_t stride".

Conflicts:
	avprobe.c
	ffplay.c
	libavcodec/mlpdec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pngenc.c
	libavcodec/x86/v210-init.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vf_settb.c
	libavformat/img2.c
	libavutil/audioconvert.c
	tests/codec-regression.sh
	tests/lavf-regression.sh
	tests/ref/lavf/dpx
	tests/ref/vsynth1/prores
	tests/ref/vsynth2/prores

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-22 02:24:18 +01:00
Alex Converse
b0f29db5c2 Mark mutable static data const where appropriate. 2012-02-21 09:47:07 -08:00
Clément Bœsch
241f8465d0 lavfi/abuffer: init the data planes with NULL pointers.
Samples buffer ref is allocated and loaded with the uninitialized data
pointers:
     av_asrc_buffer_add_buffer()
  -> av_asrc_buffer_add_samples()
  -> avfilter_get_audio_buffer_ref_from_arrays(data, ...)

...which leads to a crash with at least lavfi/ashowinfo in case of !NULL
(see the for loop while samplesref->data[plane]).
2012-02-21 16:45:34 +01:00
Nicolas George
a923b6b8f4 af_pan: move query_format before config_props.
That is the logical order in which the functions are called,
and there is no longer any need of forward declarations.
2012-02-20 23:36:03 +01:00
Nicolas George
eb9ba527e7 af_pan: remove the indirect function call.
libswresample is used in all cases.
2012-02-20 23:36:03 +01:00
Nicolas George
a297856b8c af_pan: reindent after last commit. 2012-02-20 20:46:35 +01:00
Nicolas George
a44b510d56 af_pan: use libswr for rematrixing. 2012-02-20 20:46:35 +01:00
Stefano Sabatini
4538d66010 lavfi/aspect: set default value to 0:1, as stated in the docs
Fix regression introduced in commit 70ffda3217.
2012-02-18 11:41:53 +01:00
Stefano Sabatini
80715c3b23 lavfi/aspect: remove confusing comments 2012-02-18 11:37:34 +01:00
Stefano Sabatini
360218713f lavfi/aspect: show log info even in case no argument is provided to setdar/setsar 2012-02-18 11:31:28 +01:00
Stefano Sabatini
7bdefc0f12 lavfi/overlay: add logic for avoiding overlaying frames with PTS > main frame PTS
Also add debug logging messages for helping tracking down similar
issues.

Fix trac ticket #467.
2012-02-17 00:28:35 +01:00
Nicolas George
bd5080b1b0 af_pan: comment a tricky piece of code. 2012-02-15 20:04:05 +01:00
Clément Bœsch
cba4e2cbbc pan: fix uninitialized channel_id variable.
Fix broken parsing with pan=2:FL=FR:FR=FL and similar.
2012-02-15 10:26:30 +01:00
Clément Bœsch
d3b06399ff lavfi/silencedetect: use av_ts2timestr() macro. 2012-02-15 00:22:47 +01:00
Stefano Sabatini
f89f9bdadd lavfi/ashowinfo: only print checksum for the existing planes
Make the output a bit nicer.
2012-02-14 18:01:57 +01:00
Stefano Sabatini
1e6408a18e lavfi/showinfo: only print checksum for the existing planes
Make the output a bit nicer.
2012-02-14 18:01:50 +01:00
Stefano Sabatini
175ab5f9a9 lavfi/*showinfo: use av_ts2* macros in showinfo and ashowinfo 2012-02-14 18:01:43 +01:00
Michael Niedermayer
04b53746ad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Use 4 byte startcodes for H.264
  matroskadec: Mark variable as av_unused.
  Move some conditionally used variables into the block where they are used.
  Drop some completely unnecessary av_unused attributes.
  swscale: Remove unused variable alpMmxFilter.
  Drop unnecessary av_uninit attributes from some variable declarations.
  movenc: Support muxing wmapro in ismv/isma
  mpegtsenc: Add an AVOption for forcing a new PAT/PMT/SDT to be written
  swscale: move YUV2PACKED16WRAPPER() macro down to where it is used.
  swscale: handle gray16 as a "planar" YUV format (Y-only, of course).
  swscale: use yuv2packed1() functions for unscaled chroma also.
  swscale: fix incorrect chroma bias in yuv2rgb48_1_c().
  swscale: fix invalid memory accesses in yuvpacked1() functions.
  Move PS2 MMI code below the mips subdirectory, where it belongs.
  mips: Move MMI function declarations to a header.
  build: Set correct dependencies for rtmp* protocols implemented by librtmp.

Conflicts:
	libavcodec/ac3enc_template.c
	libavformat/mpegtsenc.c
	libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-14 01:53:31 +01:00
Diego Biurrun
7331b6e718 Drop some completely unnecessary av_unused attributes. 2012-02-13 19:20:53 +01:00
Michael Niedermayer
8c6ebab747 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
  yadif: specify array size outside DECLARE_ALIGNED
  prores: specify array size outside DECLARE_ALIGNED brackets.
  WavPack demuxer: set packet duration
  tta: use skip_bits_long()
  mxfdec: Ignore the last entry in Avid's index table segments
  mxfdec: Sanity-check SampleRate
  mxfdec: Handle small EditUnitByteCount
  mxfdec: Consider OPAtom files that do not have exactly one EC to be OP1a
  mxfdec: Don't crash in mxf_packet_timestamps() if current_edit_unit overflows
  mxfdec: Zero nb_ptses in mxf_compute_ptses_fake_index()
  mxfdec: Sanity check PreviousPartition
  mxfdec: Never seek back in local sets and KLVs
  mxfdec: Move the current_partition check inside mxf_read_header()
  mxfdec: Fix infinite loop in mxf_packet_timestamps()
  mxfdec: Check eof_reached in mxf_read_local_tags()
  mxfdec: Check for NULL component
  mxfdec: Make sure mxf->nb_index_tables > 0 in mxf_packet_timestamps()
  mxfdec: Make sure x < index_table->nb_ptses
  build: Add missing directories to DIRS declarations.
  ...

Conflicts:
	doc/build_system.txt
	doc/fate.texi
	libavfilter/x86/yadif_template.c
	libavformat/mxfdec.c
	libavutil/Makefile
	tests/fate/audio.mak
	tests/fate/prores.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cscd
	tests/ref/fate/dfa4
	tests/ref/fate/nuv
	tests/ref/fate/vp8-sign-bias
	tests/ref/fate/wmv8-drm
	tests/ref/lavf/gxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-10 01:20:07 +01:00
Janne Grunau
456d3e4fb5 yadif: specify array size outside DECLARE_ALIGNED 2012-02-09 21:28:37 +01:00
Diego Biurrun
0bba26466f cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
Michael Niedermayer
f2b20b7a8b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixdesc: mark pseudopaletted formats with a special flag.
  avconv: switch to avcodec_encode_video2().
  libx264: implement encode2().
  libx264: split extradata writing out of encode_nals().
  lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
  cmdutils: update copyright year to 2012.
  swscale: sign-extend integer function argument to qword on x86-64.
  x86inc: support yasm -f win64 flag also.
  h264: manually save/restore XMM registers for functions using INIT_MMX.
  x86inc: allow manual use of WIN64_SPILL_XMM.
  aacdec: Use correct speaker order for 7.1.
  aacdec: Remove incorrect comment.
  aacdec: Simplify output configuration.
  Remove Sun medialib glue code.
  dsputil: set STRIDE_ALIGN to 16 for x86 also.
  pngdsp: swap argument inversion.

Conflicts:
	cmdutils.c
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/aacdec.c
	libavcodec/dsputil.h
	libavcodec/libx264.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/utils.c
	libavfilter/vf_scale.c
	libavutil/avutil.h
	libswscale/mlib/yuv2rgb_mlib.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-09 01:27:12 +01:00
Clément Bœsch
c84acc31b2 Revert "vf_fspp: use LOCAL_MANGLE instead of MANGLE."
This reverts commit 1aa8f5fcfb. It broke
the other x86_32 fate instances.
2012-02-08 23:16:32 +01:00
Anton Khirnov
38d5533228 pixdesc: mark pseudopaletted formats with a special flag.
This makes it possible to dintinguish them from PAL8.

Fixes an invalid write in avpicture_layout().
2012-02-08 21:01:31 +01:00
Clément Bœsch
1aa8f5fcfb vf_fspp: use LOCAL_MANGLE instead of MANGLE.
The symbols are locals, thus the EXTERN_PREFIX should be omitted. This
might fix the llvm-gcc fate instance.
2012-02-08 19:45:39 +01:00
Stefano Sabatini
0349d61eef lavfi/aspect: rename field aspect->aspect to aspect->ratio
The new name is more sensible.
2012-02-07 15:49:01 +01:00
Michael Niedermayer
b479e01612 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "v210enc: use FFALIGN()"
  doxygen: Do not include license boilerplates in Doxygen comment blocks.
  avplay: reset decoder flush state when seeking
  ape: skip packets with invalid size
  ape: calculate final packet size instead of guessing
  ape: stop reading after the last frame has been read
  ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finished
  ape: return error if seeking to the current packet fails in ape_read_packet()
  avcodec: Clarify AVFrame member documentation.
  v210dec: check for coded_frame allocation failure
  v210enc: use stride as it is already calculated
  v210enc: use FFALIGN()
  v210enc: return proper AVERROR codes instead of -1
  v210enc: do not set coded_frame->key_frame
  v210enc: check for coded_frame allocation failure
  drawtext: add 'fix_bounds' option on coords fixing
  drawtext: fix text_{w, h} expression vars
  drawtext: add missing braces around an if() block.

Conflicts:
	libavcodec/arm/vp8.h
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/v210dec.c
	libavfilter/vf_drawtext.c
	libavformat/ape.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-07 01:40:29 +01:00
Stefano Sabatini
b7d45d0b0f lavfi: add setfield filter 2012-02-06 20:46:58 +01:00
Stefano Sabatini
70ffda3217 lavu: introduce av_parse_ratio() and use it in ffmpeg and lavfi/aspect
Factorize code and provide ratio parsing consistency.
2012-02-06 11:30:54 +01:00
Andrey Utkin
e496c45d9b drawtext: add 'fix_bounds' option on coords fixing
Before, drawtext filter deliberately altered given text coordinates if
text didn't fully fit on the picture. This breaks the use case of
scrolling large text, e.g. movie closing credits.
Add 'fix_bounds', to make it usable in such cases (by setting its value to 0).
Default behavior is not changed, and non-fitting text coords are fixed.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:57:40 +01:00
Andrey Utkin
2b43dfce36 drawtext: fix text_{w, h} expression vars
Before, {text_,}{w,h} vars hadn't got initialized

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:52:05 +01:00
Andrey Utkin
e7f0bc8c0f drawtext: add missing braces around an if() block.
Prevents uninitialized read.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-05 08:07:55 +01:00
Clément Bœsch
174880f580 lavfi/thumbnail: rename @url to @see.
@url isn't a valid Doxygen directive.
2012-02-03 00:55:37 +01:00
Clément Bœsch
d50a4c4a5b lavfi/amerge: copy ref props after filtering samples.
This fixes various issues with ffmpeg -ss and -t.
2012-02-02 14:31:18 +01:00
Clément Bœsch
85c66793d7 lavfi/pan: copy ref props after filtering samples.
At least PTS needs to be copied to avoid breaking options such as -t in
ffmpeg.
2012-02-02 14:31:18 +01:00
Clément Bœsch
c79eddaff1 lavfi/aconvert: use libswresample.
This commit also drops the planar parameter; you now need to use the 'p'
suffix in order to request a planar sample format.
2012-02-02 14:31:18 +01:00
Clément Bœsch
e96be8409f lavfi/aresample: use libswresample. 2012-02-02 14:31:17 +01:00
Clément Bœsch
9f0b0db0d3 lavfi/aformat: use do..while(0) form for macro.
This avoids some empty statements.
2012-02-02 14:31:17 +01:00
Clément Bœsch
f65600d519 drawtext: use new public timecode API. 2012-02-02 14:31:17 +01:00
Michael Niedermayer
c4bdb2bf93 libavfilter/version.h: fix project name
The code in the file is written by vitor in be19d752 (2008)
thus cannot have originated in libav which did not exist at that
time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-01 04:43:06 +01:00
Michael Niedermayer
c065255bba Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aacenc: Fix LONG_START windowing.
  aacenc: Fix a bug where deinterleaved samples were stored in the wrong place.
  avplay: use the correct array size for stride.
  lavc: extend doxy for avcodec_alloc_context3().
  APIchanges: mention avcodec_alloc_context()/2/3
  avcodec_align_dimensions2: set only 4 linesizes, not AV_NUM_DATA_POINTERS.
  aacsbr: ARM NEON optimised sbrdsp functions
  aacsbr: align some arrays
  aacsbr: move some simdable loops to function pointers
  cosmetics: Remove extra newlines at EOF

Conflicts:
	libavcodec/utils.c
	libavfilter/formats.c
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-29 00:34:59 +01:00
Clément Bœsch
23b639c44f Fix "ouput" typo and add a check. 2012-01-28 11:04:19 +01:00
Michael Niedermayer
e37f161e66 Merge remote-tracking branch 'qatar/master'
* qatar/master: (71 commits)
  movenc: Allow writing to a non-seekable output if using empty moov
  movenc: Support adding isml (smooth streaming live) metadata
  libavcodec: Don't crash in avcodec_encode_audio if time_base isn't set
  sunrast: Document the different Sun Raster file format types.
  sunrast: Add a check for experimental type.
  libspeexenc: use AVSampleFormat instead of deprecated/removed SampleFormat
  lavf: remove disabled FF_API_SET_PTS_INFO cruft
  lavf: remove disabled FF_API_OLD_INTERRUPT_CB cruft
  lavf: remove disabled FF_API_REORDER_PRIVATE cruft
  lavf: remove disabled FF_API_SEEK_PUBLIC cruft
  lavf: remove disabled FF_API_STREAM_COPY cruft
  lavf: remove disabled FF_API_PRELOAD cruft
  lavf: remove disabled FF_API_NEW_STREAM cruft
  lavf: remove disabled FF_API_RTSP_URL_OPTIONS cruft
  lavf: remove disabled FF_API_MUXRATE cruft
  lavf: remove disabled FF_API_FILESIZE cruft
  lavf: remove disabled FF_API_TIMESTAMP cruft
  lavf: remove disabled FF_API_LOOP_OUTPUT cruft
  lavf: remove disabled FF_API_LOOP_INPUT cruft
  lavf: remove disabled FF_API_AVSTREAM_QUALITY cruft
  ...

Conflicts:
	doc/APIchanges
	libavcodec/8bps.c
	libavcodec/avcodec.h
	libavcodec/libx264.c
	libavcodec/mjpegbdec.c
	libavcodec/options.c
	libavcodec/sunrast.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/h264_deblock.asm
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavformat/avformat.h
	libavformat/avio.c
	libavformat/avio.h
	libavformat/aviobuf.c
	libavformat/dv.c
	libavformat/mov.c
	libavformat/utils.c
	libavformat/version.h
	libavformat/wtv.c
	libavutil/Makefile
	libavutil/file.c
	libswscale/x86/input.asm
	libswscale/x86/swscale_mmx.c
	libswscale/x86/swscale_template.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-28 07:53:34 +01:00
Alex Converse
7181c4edee cosmetics: Remove extra newlines at EOF 2012-01-27 17:19:09 -08:00
Michael Niedermayer
3c5fe5b527 Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  wma: Clip WMA1 and WMA2 frame length to 11 bits.
  movenc: Don't require frame_size to be set for modes other than mov
  doc: Update APIchanges with info on muxer flushing
  movenc: Reindent a block
  tools: Remove some unnecessary #undefs.
  rv20: prevent calling ff_h263_decode_mba() with unset height/width
  tools: K&R reformatting cosmetics
  Ignore generated aviocat and ismindex tools.
  build: Automatically include architecture-specific library Makefile snippets.
  indeo5: prevent null pointer dereference on broken files
  pktdumper: Use usleep instead of sleep
  cosmetics: Remove some unnecessary block braces.
  Drop unnecessary prefix from *sink* variable and struct names.
  Add a tool for creating smooth streaming manifests
  movdec: Calculate an average bit rate for fragmented streams, too
  movenc: Write the sample rate instead of time scale in the stsd atom
  movenc: Add a separate ismv/isma (smooth streaming) muxer
  movenc: Allow the caller to decide on fragmentation
  libavformat: Add a flag for muxers that support write_packet(NULL) for flushing
  movenc: Add support for writing fragmented mov files
  ...

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavfilter/Makefile
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/movenc.c
	libavformat/movenc.h
	libavformat/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-26 02:23:56 +01:00
Nicolas George
4a68949cd8 lavfi: Makefile: cosmetics: align FFLIBS. 2012-01-25 16:12:52 +01:00
Diego Biurrun
07a873a277 build: Automatically include architecture-specific library Makefile snippets. 2012-01-25 15:04:28 +01:00
Diego Biurrun
33ad8c3cab cosmetics: Remove some unnecessary block braces. 2012-01-25 13:14:49 +01:00
Nicolas George
af21823ae0 lavfi: require libswr for af_pan. 2012-01-24 12:11:04 +01:00
Nicolas George
0c3577bfd9 lavfi: add avfilter_graph_dump. 2012-01-24 11:38:36 +01:00
Clément Bœsch
9bd44b42a8 pan: drop unecessary includes. 2012-01-24 10:43:42 +01:00
Clément Bœsch
66b1b7e5fa pan: move query_formats() to avoid forward declarations. 2012-01-24 10:43:42 +01:00
Clément Bœsch
94dc4a5046 pan: reindent after remap commit. 2012-01-24 10:43:41 +01:00
Clément Bœsch
6728dd37ac pan: add channel mapping capability. 2012-01-24 10:43:41 +01:00
Clément Bœsch
66fdbcbbc9 pan: raise correct error when there is no param specified. 2012-01-24 10:43:41 +01:00
Michael Niedermayer
c6baa4046a avfilter: add some asserts() to check refcounts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-22 19:30:40 +01:00
Stefano Sabatini
a9117c755e lavfi: fix mp and mandelbrot descriptions to make them complete sentences
This is consistent with the other filter descriptions.
2012-01-21 14:40:46 +01:00
Ray Simard
9ec39937f9 deshake: variable used uninitialized
Sometimes the scan finds nothing that qualifies for addition to
the array and pos is zero after the loops.  The code forces pos to
1 and the array is then processed as if it had one valid element in it,
producing some amusing but not very useful results.

I don't see the rationale for this.  If pos is zero coming out of the
loops, the only appropriate thing to do is set t->angle to zero.  The
attached patch does that.  It's worked properly in several tests so far.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-21 05:22:49 +01:00
Clément Bœsch
9d35fa43ee lavfi: add missing periods in descriptions. 2012-01-20 00:16:27 +01:00
Stefano Sabatini
a798c20a76 lavfi/testsrc: add "decimals" option to the testsrc filter 2012-01-17 12:03:30 +01:00
Stefano Sabatini
4ee03fef53 lavfi/rgbtestsrc: make alpha plane opaque 2012-01-15 14:49:30 +01:00
Nicolas George
bbf372e145 overlay: do not leak x/y expressions. 2012-01-15 09:12:03 +01:00
Michael Niedermayer
4640da7e58 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sgidec: Use bytestream2 functions to prevent buffer overreads.
  cosmetics: Move static and inline attributes to more standard places.
  configure: provide libavfilter/version.h header to get_version()
  swscale: change yuv2yuvX code to use cpuflag().
  libx264: Don't leave max_b_frames as -1 if the user didn't set it
  FATE: convert output to rgba for the targa tests which currently output pal8
  fate: add missing reference files for targa tests in 9c2f9b0e2
  FATE: enable the 2 remaining targa conformance suite tests
  targa: add support for rgb555 palette
  FATE: fix targa tests on big-endian systems

Conflicts:
	libavcodec/sgidec.c
	libavcodec/targa.c
	libswscale/x86/output.asm
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-15 01:16:54 +01:00
Diego Biurrun
e44c11e9fa cosmetics: Move static and inline attributes to more standard places.
Fixes several "‘static’ is not at beginning of declaration" warnings.
2012-01-14 17:32:36 +01:00
Ray Simard
369befb41e vf_deshake: remove unused variable totalangles
Variable totalangles was created and assigned, but never used.

Signed-off-by: Ray Simard <rhs.ffmpeg@sylvan-glade.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-01-13 17:00:21 +01:00
Ray Simard
7f6004fc74 vf_deshake: zero-init Transform structs in end_frame()
Initialize Transform structs t and orig to zero.

Signed-off-by: Ray Simard <rhs.ffmpeg@sylvan-glade.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-01-13 16:59:50 +01:00
Michael Niedermayer
b18e17eabf Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  utils: Check for extradata size overflows.
  ARM: rv34: fix asm syntax in dc transform functions
  avio: Fix the value of the deprecated URL_FLAG_NONBLOCK
  rv34: fix and optimise frame dependency checking
  rv34: NEON optimised dc only inverse transform
  avprobe: use avio_size() instead of deprecated AVFormatContext.file_size.
  ffmenc: remove references to deprecated AVFormatContext.timestamp.
  lavf: undeprecate read_seek().
  avserver: remove code using deprecated CODEC_CAP_PARSE_ONLY.
  lavc: replace some remaining FF_I_TYPE with AV_PICTURE_TYPE_I
  lavc: ifdef out parse_only AVOption
  nellymoserdec: SAMPLE_FMT -> AV_SAMPLE_FMT
  mpegvideo_enc: ifdef out/replace references to deprecated codec flags.
  riff: remove references to sonic codec ids
  indeo4: add some missing static and const qualifiers
  rv34: DC-only inverse transform
  avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields
  lavfi: move version macros to a new installed header version.h
  vsrc_buffer: release the buffer on uninit.
  rgb2rgb: rgb12tobgr12()
  ...

Conflicts:
	avconv.c
	doc/APIchanges
	ffprobe.c
	libavfilter/Makefile
	libavfilter/avfilter.h
	libswscale/rgb2rgb.c
	libswscale/rgb2rgb.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-13 01:29:48 +01:00
Reimar Döffinger
7cbb32e461 Use an int MotionVector for find_block_motion.
Using the double variant causes several pointless conversions between
double and int.
Worse, one of the conversions is in an inner loop together with a
function using MMX, resulting in undefined behaviour.
Based on debugging by Ray Simard.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Tested-by: Ray Simard <rhs.ffmpeg@sylvan-glade.com>
2012-01-12 20:09:16 +01:00
Michael Niedermayer
f068ce570f avfilter: pool draining and self destruction support.
This should fix a memleak.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-12 16:32:54 +01:00
Stefano Sabatini
a8b0ece6e5 lavfi/testsrc: add "d" alias for the duration option 2012-01-12 10:39:24 +01:00
Anton Khirnov
3167dc9515 lavfi: move version macros to a new installed header version.h 2012-01-12 09:00:54 +01:00
Anton Khirnov
43fe6a2905 vsrc_buffer: release the buffer on uninit. 2012-01-12 08:59:00 +01:00
Clément Bœsch
98aafc5bbf timecode: set a fixed buffer size of 16B for tc string. 2012-01-11 18:14:03 +01:00
Michael Niedermayer
0e7fc3cafe Merge remote-tracking branch 'qatar/master'
* qatar/master: (22 commits)
  rv34: frame-level multi-threading
  mpegvideo: claim ownership of referenced pictures
  aacsbr: prevent out of bounds memcpy().
  ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCM
  sierravmd: fix audio pts
  bethsoftvideo: Use bytestream2 functions to prevent buffer overreads.
  bmpenc: support for PIX_FMT_RGB444
  swscale: fix crash in fast_bilinear code when compiled with -mred-zone.
  swscale: specify register type.
  rv34: use get_bits_left()
  avconv: reinitialize the filtergraph on resolution change.
  vsrc_buffer: error on changing frame parameters.
  avconv: fix -copyinkf.
  fate: Update file checksums after the mov muxer change in a78dbada55
  movenc: Don't store a nonzero creation time if nothing was set by the caller
  bmpdec: support for rgb444 with bitfields compression
  rgb2rgb: allow conversion for <15 bpp
  doc: fix stray reference to FFmpeg
  v4l2: use C99 struct initializer
  v4l2: poll the file descriptor
  ...

Conflicts:
	avconv.c
	libavcodec/aacsbr.c
	libavcodec/bethsoftvideo.c
	libavcodec/kmvc.c
	libavdevice/v4l2.c
	libavfilter/vsrc_buffer.c
	libswscale/swscale_unscaled.c
	libswscale/x86/input.asm
	tests/ref/acodec/alac
	tests/ref/acodec/pcm_s16be
	tests/ref/acodec/pcm_s24be
	tests/ref/acodec/pcm_s32be
	tests/ref/acodec/pcm_s8
	tests/ref/lavf/mov
	tests/ref/vsynth1/dnxhd_1080i
	tests/ref/vsynth1/mpeg4
	tests/ref/vsynth1/qtrle
	tests/ref/vsynth1/svq1
	tests/ref/vsynth2/dnxhd_1080i
	tests/ref/vsynth2/mpeg4
	tests/ref/vsynth2/qtrle
	tests/ref/vsynth2/svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-11 02:44:43 +01:00
Anton Khirnov
5d25140f71 vsrc_buffer: error on changing frame parameters. 2012-01-10 16:47:15 +01:00
Clément Bœsch
0c01947316 lavfi: add audio silencedetect filter. 2012-01-08 17:08:55 +01:00
Michael Niedermayer
757473831c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  cabac: Move code only used within the CABAC test program into the test program.
  vp56: Drop unnecessary cabac.h #include.
  h264-test: Initialize AVCodecContext.av_class.
  build: Skip compiling network.h and rtsp.h if networking is not enabled.
  cosmetics: drop some pointless parentheses
  Disable annoying warning without changing behavior
  faq: Solutions for common problems with sample paths when running FATE.
  avcodec: attempt to clarify the CODEC_CAP_DELAY documentation
  avcodec: fix avcodec_encode_audio() documentation.
  FATE: xmv-demux test; exercise the XMV demuxer without decoding the perceptual codecs inside.
  vqf: recognize more metadata chunks
  FATE test: BMV demuxer and associated video and audio decoders.
  FATE: indeo4 video decoder test.
  FATE: update xxan-wc4 test to a sample with more code coverage.
  Change the recent h264_mp4toannexb bitstream filter test to output to an elementary stream rather than a program stream.
  g722enc: validate AVCodecContext.trellis
  g722enc: set frame_size, and also handle an odd number of input samples
  g722enc: split encoding into separate functions for trellis vs. no trellis
  mpegaudiodec: Use clearer pointer math
  tta: Fix returned error code at EOF
  ...

Conflicts:
	libavcodec/h264.c
	libavcodec/indeo3.c
	libavcodec/interplayvideo.c
	libavcodec/ivi_common.c
	libavcodec/libxvidff.c
	libavcodec/mpegvideo.c
	libavcodec/ppc/mpegvideo_altivec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavfilter/vsrc_buffer.c
	libavformat/Makefile
	tests/fate/indeo.mak
	tests/ref/acodec/g722

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-01-08 03:34:22 +01:00
Diego Biurrun
3dc99a18d4 cosmetics: drop some pointless parentheses 2012-01-07 22:13:07 +01:00
Andrey Utkin
079688b6cb Disable annoying warning without changing behavior
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-07 12:46:57 -08:00
Clément Bœsch
96fc1f0733 volume: remove duplicated condition. 2012-01-05 21:53:18 +01:00
Clément Bœsch
940d3cc0b0 drawtext: fix hard dependency to lavc (timecode). 2012-01-02 15:33:56 +01:00
Jean First
2e0efa332b af_astreamsync: remove unused variable
Signed-off-by: Jean First <jeanfirst@gmail.com>
2012-01-01 16:43:32 +01:00
Stefano Sabatini
42a8ac94d9 vf_tinterlace: implement interlace mode 5
Allow creating interlaced bottom field first video.
2012-01-01 16:16:50 +01:00
Nicolas George
4962edf889 lavfi: add amerge audio filter. 2011-12-31 16:25:11 +01:00
Nicolas George
e90a69e955 lavfi: add astreamsync audio filter. 2011-12-31 16:16:24 +01:00
Stefano Sabatini
8fb03b4d70 lavfi: port tinterlace filter from MPlayer
Port MPlayer tinterlace filter from MPlayer, with some ideas taken
from the FFmbc/libavfilter port, with the following main differences:

* added support for full-scale YUVJ formats
* added support for YUVA420P
* request_frame() on the filter is forced to return a frame
* some code factorization (related to the copy_picture_fields() function)
* fixed black padding values for mode 3
2011-12-31 11:43:10 +01:00
Stefano Sabatini
549b53e8cb lavfi: remove redundant definition of avfilter_copy_frame_props() in avfilter.h
Rationale: avfilter_copy_frame_props() was already defined in
libavfilter/avcodec.h, and keeping the lavc/lavfi API glue localized in a
specific file should ease maintainance and help the ones which use
libavfilter without depending on libavcodec.
2011-12-31 11:37:01 +01:00
Michael Niedermayer
1a6a088f7c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: whitespace cosmetics
  fate: split off video codec FATE tests into their own file
  fate: split off audio codec FATE tests into their own file
  fate: split off Electronic Arts codec FATE tests into their own file
  fate: split off QuickTime codec FATE tests into their own file
  fate: split off voice codec FATE tests into their own file
  fate: split off demuxer FATE tests into their own file
  cosmetics: Drop unnecessary parentheses around return values.
  fate: drop pointless _audio and _video suffixes from xan tests
  qt-faststart: K&R reformatting; fix comment typos
  FATE: Add test for H.264 MP4->annex.B bitstream filter.

Conflicts:
	ffplay.c
	tests/fate.mak
	tests/fate/h264.mak
	tests/fate/image.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/qtrle.mak
	tests/fate/real.mak
	tests/fate/screen.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-31 01:16:45 +01:00
Diego Biurrun
d4b63054d9 cosmetics: Drop unnecessary parentheses around return values. 2011-12-30 22:18:07 +01:00
Stefano Sabatini
440e984b71 lavfi: add asplit filter 2011-12-27 15:21:08 +01:00
Stefano Sabatini
ae21776207 lavfi: add missing check in avfilter_filter_samples()
Avoid out-of-buffer data access when nb_channels is 8.
2011-12-27 15:21:00 +01:00
Stefano Sabatini
e9af732a1a lavfi: fix avfilter_default_get_audio_buffer() after changes in av_samples_alloc()
av_samples_alloc() behavior changed in bbb46f3ec, resulting in random
data filling the data[] and linesize[] arrays of the returned
AVFilterBufferRef, which was resulting in wrong behavior in case of code
checking on data[i] nullity.

In particular fixes crash in avfilter_filter_samples():
        for (i = 0; samplesref->data[i]; i++)
            memcpy(link->cur_buf->data[i], samplesref->data[i], samplesref->linesize[0]);

and correctly fills the linesize[] array for planar data.
2011-12-27 15:20:54 +01:00
Stefano Sabatini
5764301df3 lavfi: don't try to indent words in trace messages
The traces end up not indented and ugly anyway, but with the additional
spaces are much more painful to grep/parse.
2011-12-27 12:58:26 +01:00
Clément Bœsch
f1f87439e5 thumbnail: fix error code in case of invalid args. 2011-12-27 11:15:21 +01:00
Clément Bœsch
15a2a29ba3 lavfi: add thumbnail video filter. 2011-12-27 11:05:08 +01:00
Michael Niedermayer
484e59a0a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avs: call release_buffer() at the end.
  Add minor bumps and APIchanges entries for lavc/lavfi changes.
  mpegvideo.c: K&R formatting and cosmetics.
  avconv: avoid memcpy in vsrc_buffer when possible.
  avconv: implement get_buffer()/release_buffer().
  lavfi: add a new function av_buffersrc_buffer().
  lavfi: add avfilter_copy_frame_props()
  lavc: add format field to AVFrame
  lavc: add width and height fields to AVFrame
  lavc: add a sample_aspect_ratio field to AVFrame
  doxy: add website-alike style to the html output
  FAQ: add an entry for common error when using -profile

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/src_movie.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-26 04:10:47 +01:00
Anton Khirnov
06e8d38f2b Add minor bumps and APIchanges entries for lavc/lavfi changes. 2011-12-25 20:50:16 +01:00
Anton Khirnov
e1d9dbf2d4 lavfi: add a new function av_buffersrc_buffer().
It can be used to directly pass a AVFilterBufferRef to lavfi, avoiding a
memcpy.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
1c9e340d35 lavfi: add avfilter_copy_frame_props()
avfilter_copy_frame_props() avoids code duplication and increases
robustness.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
b58dbb5b03 lavc: add a sample_aspect_ratio field to AVFrame
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
1858a5c25e vf_drawtext: select YUV color for drawbox() in case YUV colorspace is used
Fix box alpha rendering when a YUV colorspace is selected, in particular
fix trac ticket #763.
2011-12-24 16:21:40 +01:00
Michael Niedermayer
bba6f5b77f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp3dec: Check coefficient index in vp3_dequant()
  svq1dec: call avcodec_set_dimensions() after dimensions changed.
  Prepare for 0.8_beta1 snapshot release
  threads: check defines before using them in automatic thread detection
  pthread: include sys/types.h before sys/sysctl.h
  4xm: remove unused variables.
  h264: Fix a possible overread in decode_nal_units()
  allfilters: fix type of avfilter_vsrc_buffer.
  w32thread: call ResetEvent() in pthread_cond_broadcast().

Conflicts:
	Changelog
	RELEASE
	doc/RELEASE_NOTES
	libavcodec/pthread.c
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-24 00:45:02 +01:00
Anton Khirnov
82d05e78a6 allfilters: fix type of avfilter_vsrc_buffer. 2011-12-23 08:17:22 +01:00
Michael Niedermayer
f810ab45e3 libavfilter: increase LIBAVFILTER_VERSION_MICRO to 100 like the other libs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-23 06:03:11 +01:00
Michael Niedermayer
d1c28e3530 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: fix standalone compilation of OMA muxer
  build: fix standalone compilation of Microsoft XMV demuxer
  build: fix standalone compilation of Core Audio Format demuxer
  kvmc: fix invalid reads
  4xm: Add a check in decode_i_frame to prevent buffer overreads
  adpcm: fix IMA SMJPEG decoding
  options: set minimum for "threads" to zero
  bsd: use number of logical CPUs as automatic thread count
  windows: use number of CPUs as automatic thread count
  linux: use number of CPUs as automatic thread count
  pthreads: reset active_thread_type when slice thread_init returrns early
  v410dec: include correct headers
  Drop ALT_ prefix from BITSTREAM_READER_LE name.
  lavfi: always build vsrc_buffer.
  ra144enc: zero the reflection coeffs if the filter is unstable
  sws: readd PAL8 to isPacked()
  mov: Don't stick the QuickTime field ordering atom in extradata.
  truespeech: fix invalid reads in truespeech_apply_twopoint_filter()

Conflicts:
	configure
	libavcodec/4xm.c
	libavcodec/avcodec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavformat/Makefile
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-23 03:25:51 +01:00
Anton Khirnov
196c9e5c8c lavfi: always build vsrc_buffer.
It's a part of public API.
2011-12-22 15:42:52 +01:00
Stefano Sabatini
386aee6864 sink_buffer: copy list of provided formats in the context
A list of formats may have been dynamically created by the calling code,
and thus should not be referenced by the sink buffer context.

Avoid possible invalid data reference.
2011-12-22 10:09:42 +01:00
Michael Niedermayer
3ba0bfe71f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ulti: Fix invalid reads
  lavf: dealloc private options in av_write_trailer
  yadif: support 10bit YUV
  vc1: mark with ER_MB_ERROR bits overconsumption
  lavc: introduce ER_MB_END and ER_MB_ERROR
  error_resilience: use the ER_ namespace
  build: move inclusion of subdir.mak to main subdir loop
  rv34: NEON optimised 4x4 dequant
  rv34: move 4x4 dequant to RV34DSPContext
  aacdec: Use intfloat.h rather than local punning union.

Conflicts:
	libavcodec/h264.c
	libavcodec/vc1dec.c
	libavfilter/vf_yadif.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 23:21:37 +01:00
Michael Niedermayer
16b771b1f4 cleanup: for(int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 21:08:43 +01:00
Clément Bœsch
0b4e5451ba lavfi: use the new audio API in amovie source filter. 2011-12-13 20:25:12 +01:00
Clément Bœsch
220481e1d6 lavfi: skip the frame in case of error.
This fixes playback with some audio files through filters.
2011-12-13 20:19:49 +01:00
Luca Barbato
d32eed5c73 yadif: support 10bit YUV
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 17:02:55 +01:00
Mans Rullgard
878dda5db1 build: move inclusion of subdir.mak to main subdir loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Michael Niedermayer
8bc7fe4daf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doxygen: misc consistency, spelling and wording fixes
  vcr1: drop unnecessary emms_c() calls without MMX code
  Replace all uses of av_close_input_file() with avformat_close_input().
  lavf: add avformat_close_input().
  lavf: deprecate av_close_input_stream().
  lavf doxy: add some basic demuxing documentation.
  lavf doxy: add some general lavf information.
  lavf doxy: add misc utility functions to a group.
  lavf doxy: add av_guess_codec/format to the encoding group.
  lavf doxy: add core functions to a doxy group.
  Add basic libavdevice documentation.
  lavc: convert error_recognition to err_recognition.
  avconv: update -map option help text
  x86: Require 7 registers for the cabac asm
  x86: bswap: remove test for bswap instruction
  bswap: make generic implementation more compiler-friendly
  h264: remove useless cast
  proresdec: fix decode_slice() prototype

Conflicts:
	configure
	doc/APIchanges
	ffprobe.c
	libavcodec/avcodec.h
	libavcodec/celp_math.h
	libavcodec/h264.c
	libavfilter/src_movie.c
	libavformat/anm.c
	libavformat/avformat.h
	libavformat/version.h
	libavutil/avstring.h
	libavutil/bswap.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-13 00:39:48 +01:00
Diego Biurrun
58c42af722 doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
Anton Khirnov
cd3716b9aa Replace all uses of av_close_input_file() with avformat_close_input(). 2011-12-12 20:34:38 +01:00
Clément Bœsch
80914cde6f timecode: rename internal ff_* symbols to avpriv_*.
Those functions are shared between libs.

Also fix a typo in function names: smtpe → smpte.
2011-12-12 17:49:34 +01:00
Clément Bœsch
fa4e30af7e drawtext: allow burning the timecode. 2011-12-12 17:49:34 +01:00
Andrey Utkin
5b3265a718 lavfi: install libavfilter/vsrc_buffer.h
It declares API necessary for filtering apps.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-11 19:14:09 +01:00
Clément Bœsch
cc2355817d life: add mold, mold_color, life_color and death_color options. 2011-12-11 14:14:01 +01:00
Clément Bœsch
c88d6b18ce life: add seed information in filter summary. 2011-12-11 13:36:58 +01:00
Stefano Sabatini
6c44ff38d6 lavfi: add cellauto source 2011-12-11 11:55:33 +01:00
Michael Niedermayer
a502939d64 buffersink: Implement a poll function.
With this the application can find out how many frames are available.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 21:19:23 +01:00
Michael Niedermayer
8e2bab5d4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  drawtext: remove typo
  pcm-mpeg: implement new audio decoding api
  w32thread: port fixes to pthread_cond_broadcast() from x264.
  doc: add editor configuration section with Vim and Emacs settings
  dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
  avformat/utils: Drop unused goto label.
  doxygen: Replace '\' by '@' in Doxygen markup tags.
  cosmetics: drop some completely pointless parentheses
  cljr: simplify CLJRContext
  drawtext: introduce rand(min, max)
  drawtext: introduce explicit draw/hide variable
  rtmp: Use nb_invokes for all invoke commands

Conflicts:
	libavcodec/mpegvideo.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-08 00:23:37 +01:00
Luca Barbato
78212cefe1 drawtext: remove typo
It slipped through the last two iterations.
2011-12-07 20:40:18 +01:00
Luca Barbato
f5edfc9e92 drawtext: introduce rand(min, max)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 12:11:14 +01:00
Luca Barbato
73585620b8 drawtext: introduce explicit draw/hide variable
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 12:11:14 +01:00
Stefano Sabatini
7ecabc8505 vsrc_life: fix comment in parse_rule() 2011-12-06 15:03:51 +01:00
Stefano Sabatini
3af5ddb24b vf_scale: give a clue in case of invalid expression self-reference
Address trac ticket #706.
2011-12-06 15:03:51 +01:00
Reimar Döffinger
c66bd78e3d vf_scale: support PAL8 output by producing BGR8.
While quality is bad, PAL8 support is needed to allow testing some
encoders that only support PAL8 input.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-12-05 20:05:44 +01:00
Stefano Sabatini
2f8b6e909d lavfi: add life source 2011-12-04 21:18:37 +01:00
Stefano Sabatini
6c26fe8b5a aevalsrc: add duration option 2011-12-04 21:13:22 +01:00
Michael Niedermayer
dda3d716d6 vf_drawtext: support W/H parameters to reduce UI differences to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 15:29:26 +01:00
Michael Niedermayer
f88d5df383 vf_drawtext: cosmetics to reduce diff to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 02:27:45 +01:00
Michael Niedermayer
297422b338 vf_drawtext: Add main_w/h to improve compatibility with the modified UI
from the fork.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-04 02:08:56 +01:00
Luca Barbato
2cf74eca70 drawtext: make x and y parametric
Introduce variables "E", "PHI", "PI", "main_w"/"W", "main_h"/"H",
"text_w"/"w", "text_h"/"h", "x", "y", "n" and "t" in line with
vf_overlay and refactor the code accordingly.
2011-12-03 01:35:29 +01:00
Luca Barbato
ec11ff8407 drawtext: manage memory allocation better
Call dtext_prepare_text as early as possible
Do not draw if the memory allocation failed
2011-12-03 01:35:28 +01:00
Luca Barbato
a2fb4bcb01 drawtext: refactor draw_text
Split the memory allocation from the actual drawing.
2011-12-03 01:35:28 +01:00
Michael Niedermayer
8f025f2f60 avfilter: align allocated images to 32 for AVX and IFF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-30 18:53:47 +01:00
Clément Bœsch
c1ae524e2b avfilter: fix AVFilterPad video only comment. 2011-11-26 19:30:30 +01:00
Stefano Sabatini
28338bc2a3 lavfi: add libass based subtitles renderer 2011-11-26 10:42:33 +01:00
Michael Niedermayer
022f8d27dd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Readd #define _SVID_SOURCE
  Fix av_get_channel_layout_string() for positions >31
  configure: Store vda lib flags in extralibs instead of ldflags
  Make channel layout masks unsigned
  dca: ARMv6 optimised decode_blockcode()
  nullenc: drop AVFMT_RAWPICTURE from the flags
  frame-mt: return consumed packet size in ff_thread_decode_frame
  aacdec: add more fate tests covering SBR and PS
  MK(BE)TAG: avoid undefined shifts

Conflicts:
	configure
	libavcodec/arm/dca.h
	libavcodec/dca.c
	libavcodec/mlp_parser.c
	libavcodec/version.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/defaults.c
	libavutil/audioconvert.c
	libavutil/avutil.h
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-26 01:12:08 +01:00
Mans Rullgard
cc276c85d1 Make channel layout masks unsigned
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.

Fixes a few invalid shifts.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Michael Niedermayer
6d16a96a95 vf_boxblur: fix memleak
As the filter uses the default start frame, the cleanup done by the
default end frame is needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-25 04:45:41 +01:00
Michael Niedermayer
8e576d5830 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: add utility functions to simplify allocation of audio buffers.
  libavutil: add planar sample formats and av_sample_fmt_is_planar()
  avconv: fix segfault at EOF with delayed pictures
  pcmdec: remove unneeded resetting of samples pointer
  avconv: remove a now unused parameter from output_packet().
  avconv: formatting fixes in output_packet()
  avconv: declare some variables in blocks where they are used
  avconv: use the same behavior when decoding audio/video/subs
  bethsoftvideo: return proper consumed size for palette packets.
  cdg: skip packets that don't contain a cdg command.
  crcenc: add flags
  avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
  tiffenc: add a private option for selecting compression algorithm
  md5enc: add flags
  ARM: remove needless .text/.align directives

Conflicts:
	doc/APIchanges
	libavcodec/tiffenc.c
	libavutil/avutil.h
	libavutil/samplefmt.c
	libavutil/samplefmt.h
	tests/ref/fate/bethsoft-vid
	tests/ref/fate/cdgraphics
	tests/ref/fate/film-cvid-pcm-stereo-8bit
	tests/ref/fate/mpeg2-field-enc
	tests/ref/fate/nuv
	tests/ref/fate/tiertex-seq
	tests/ref/fate/tscc-32bit
	tests/ref/fate/vmnc-32bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 03:32:24 +01:00
Michael Niedermayer
656911d84d vsrc_mandelbrot: Fix vsrc_mandelbrot.c:358:85: warning: ‘epsilon’ may be used uninitialized in this function [-Wuninitialized]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-24 00:08:05 +01:00
Michael Niedermayer
248bb81ebc avfilter: Error out from avfilter_merge_formats() when there are duplicates
instead of trying to continue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 14:14:01 +01:00
Michael Niedermayer
4d874fc2b1 vf_mp: rewrite vf_mp filter warning message
Warning text by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 13:22:46 +01:00
Michael Niedermayer
8cda755c2f avfilter: dont write out of array for duplicate formats in avfilter_merge_formats()
Note, this is a theoretical fix, iam not aware of a case where this function receives
duplicates in its input.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-23 13:18:11 +01:00
Michael Niedermayer
78317881f0 graphparser: Fix doxy on avfilter_graph_parse() return value.
Found-by: ZacS123
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-22 15:09:26 +01:00
Clément Bœsch
2f0f9a87d0 Fix various if parenthesis misplacements. 2011-11-21 19:35:33 +01:00
Michael Niedermayer
2c44aed82a vsrc_mandelbrot: fix inner=period, the previous optimizations broke it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-21 04:16:41 +01:00
Michael Niedermayer
90c02ae142 vsrc_mandelbrot: increase maxiter to 7189
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 23:52:29 +01:00
Michael Niedermayer
690860d0d5 vsrc_mandelbrot: Use threshold to detect cycles.
This way cycles are detected much earlier.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 23:28:56 +01:00
Michael Niedermayer
a5dfedd381 vsrc_mandelbrot: detect edges in interpol()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 22:22:21 +01:00
Michael Niedermayer
4ebbcdb3eb vsrc_mandelbrot: avoid a | in interpol()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 22:11:53 +01:00
Michael Niedermayer
5dd16af6b5 vsrc_mandelbrot: increase default zoom speed by a factor of 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 19:42:24 +01:00
Michael Niedermayer
ca14808275 vsrc_mandelbrot: spatial interpolation
speeds the code up by a factor of about 2-3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 19:41:28 +01:00
Michael Niedermayer
56fc4cf04f vsrc_mandelbrot: always store values for periodicity checking, this avoids a few checks.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 15:02:34 +01:00
Michael Niedermayer
da1344e0cd vsrc_mandelbrot: simplify second bailout search by not recalculating values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 15:00:26 +01:00
Michael Niedermayer
e749b3780c vsrc_mandelbrot: increase zyklus array size so that optimizations can write a bit more.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 14:16:53 +01:00
Michael Niedermayer
649d3932db vsrc_mandelbrot: check bailout only once every 8 iterations, this is around 10% faster.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 14:15:56 +01:00
Michael Niedermayer
fe2efc5264 vsrc_mandelbrot: factorize periodicity checking too.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 13:55:51 +01:00
Michael Niedermayer
cf670fbc96 vsrc_mandelbrot: factorize main calculation out into a macro.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19 13:51:44 +01:00
Clément Bœsch
1fbf7165d5 lavfi: reimplement MPlayer's af_pan filter for libavfilter.
Original code by Clément Bœsch.
Parameters parsing and misc enhancements by Nicolas George.
2011-11-18 19:39:26 +01:00
Michael Niedermayer
32aa9590ac vf_scale: Fix slice position assert to take vertical subsampling into account.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-17 22:39:46 +01:00
Michael Niedermayer
974d25e2db mandelbrot: make mincol description and code match.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-16 15:13:01 +01:00
Clément Bœsch
16b809ce8e lavfi: fix misc typo in avfilter.h header. 2011-11-16 09:53:58 +01:00
Clément Bœsch
4da45aff28 cleanup: remove various double end ';' all over the code. 2011-11-16 07:48:23 +01:00
Michael Niedermayer
04bb26e3ee mandelbrot: add dither to convergence & mincol colorings.
This avoids banding artifacts.
Note, low end TFTs still show some banding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 21:33:11 +01:00
Michael Niedermayer
7575980ba4 mandelbrot: make mincol the default.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 20:04:25 +01:00
Michael Niedermayer
8d51cb4fb8 mandelbrot: add mincol inner coloring method.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 20:04:25 +01:00
Michael Niedermayer
5a68b1ac3b mandelbrot: add inner drawing method to show converence time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:51 +01:00
Michael Niedermayer
5582e557e6 mandelbrot: add "fractal" to the description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:46 +01:00
Michael Niedermayer
4c52adad69 mandelbrot: Fix "warning: passing argument 2 of ‘draw_mandelbrot’ from incompatible pointer type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-15 17:26:41 +01:00
Stefano Sabatini
2b1a4c5b34 amovie: avoid crash in amovie_request_frame() if no samplesref is available
The crash occurrs when a frame is successfully decoded, but no decoded
data is immediately available (typically happens with ogg/vorbis).
2011-11-15 00:10:15 +01:00
Michael Niedermayer
73af8ea356 mandelbrot: add math.h for log2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 05:56:03 +01:00
Michael Niedermayer
70eb58cd92 mandelbrot: avoid INFINITY as openbsd seems not to like it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 05:47:56 +01:00
Michael Niedermayer
b1b0fd2790 pad: fix format string length
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-14 05:42:10 +01:00
Stefano Sabatini
3a9f2f1d65 vsrc_mandelbrot: set options through the opt framework 2011-11-13 21:31:23 +01:00
Giorgio Vazzana
c15400afc5 mandelbrot: remove always-false condition in fill_from_cache
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:41:21 +01:00
Michael Niedermayer
08dadd331f mandelbrot: allow visualizing the period of converged points.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:28:24 +01:00
Michael Niedermayer
e8499ab171 mandelbrot: Add inner variable & enum for inner coloring schemes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 19:26:22 +01:00
Michael Niedermayer
3cbe9afba5 mandelbrot: only check bailout once every 2 iterations.
Once we bailed out we calculate the exact iteration in which it would have happened if needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 18:14:40 +01:00
Michael Niedermayer
41fd1b2d5a mandelbrot: add SQR() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 18:14:10 +01:00
Giorgio Vazzana
e555119c73 mandelbrot: correct and simplify the formula used in NORMALIZED_ITERATION_COUNT
Use log(sqrt(mb->bailout)) instead of log(mb->bailout) because mb->bailout represent
the bailout radius squared, and then simplify the two sqrt().
This is also slightly faster.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:33:09 +01:00
Michael Niedermayer
88166fc579 mandelbrot: unroll the innermost loop once.
This allows us to remove a if() and a variable assignment.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:01:56 +01:00
Michael Niedermayer
1d06608732 mandelbrot: only check periodicity once for each period instead of twice.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:01:56 +01:00
Michael Niedermayer
2fee131b9e mandelbrot: use period detection depening on left pixel and not the
previous calculated pixel, this is more accurate due to the last
calculated often being farther away.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 17:01:56 +01:00
Giorgio Vazzana
be97e7b9c2 mandelbrot: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 01:27:30 +01:00
Giorgio Vazzana
459bba58d2 mandelbrot: add missing options to the parsing code
The following options were added: end_scale, end_pts, bailout, outer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-13 01:27:30 +01:00
Giorgio Vazzana
6024bdb21a mandelbrot: fix sscanf format string
Replace ',' with ':'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 21:00:12 +01:00
Michael Niedermayer
32dd67162a mandelbrot: Print a note if the cache is too small
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:05:11 +01:00
Michael Niedermayer
905202ef6e mandelbrot: increase cache size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:04:50 +01:00
Michael Niedermayer
fd8d03457a mandelbrot: increase resolution, and decrease zoom speed to maintain the cpu requirement.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 17:04:08 +01:00
Michael Niedermayer
40d6e30c55 mandelbrot: increase default maxiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:41 +01:00
Michael Niedermayer
6c5dd858b4 mandelbrot: Only use cycle detection if previous pixel was an interior pixel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:21 +01:00
Michael Niedermayer
50b8f9388a mandelbrot: detect cycles to speed up interior rendering.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:46:16 +01:00
Michael Niedermayer
3de934c873 mandelbrot: increase default maxiter to 1024
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
07f272bdbb mandelbrot: use cache to avoid recalculating points.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
8ca891fc1a mandelbrot: more interresting zoom coordinates borrowed from wikipedia.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 16:44:53 +01:00
Michael Niedermayer
ddeb194b14 mandelbrot: add a end_scale and pts so we can zoom in.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:16 +01:00
Michael Niedermayer
dece017280 mandelbrot: center coordinate reference on the images center
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
aa198ad679 mandelbrot: make 2 variables const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
0e5b05134b mandelbrot: fix typo that led to hardcoded max iteration count.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-12 00:04:15 +01:00
Michael Niedermayer
4ccd898af2 mandelbrot: support different outer coloring methods.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 23:22:04 +01:00
Michael Niedermayer
75e309160b mandelbrot: make bailout a variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 23:21:42 +01:00
Michael Niedermayer
847e61de4a avfilter: bump minor for mandelbrot
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 23:20:25 +01:00
Michael Niedermayer
658d166da0 avfilter: add mandelbrot fraktal source
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 22:47:06 +01:00
Michael Niedermayer
393b234fa1 yadif, its 2011
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 17:06:47 +01:00
Michael Niedermayer
825481e87b yadif: reject reuse2 buffers as we cant use frames that change under our
fingers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-11 17:06:07 +01:00
Stefano Sabatini
dec354ba1d vf_fade: reindent after previous commit 2011-11-10 01:31:28 +01:00
Mark Himsley
8c1fb50d07 vf_fade: add alpha option and alpha fading support
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-11-10 01:31:13 +01:00
Mark Himsley
0d602615ab vf_fade: add support to options parsing
Extend fade syntax, required by a pending patch.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-11-10 01:28:31 +01:00
Nicolas George
68b531fe6a src_movie: set the channel layout to default if the codec did not set it.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 01:19:56 +01:00
Reimar Döffinger
5af7daabc4 Mark AVFilterPad[] compound literals as const.
GCC 4.6.2 at least still seems to fail to put them in .rodata though,
see also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37303

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-06 00:05:14 +01:00
Reimar Döffinger
b052601b95 Make another static array const.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-05 15:37:02 +01:00
Reimar Döffinger
6f6ab1d9f3 Make another PixelFormat list const.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-05 15:37:02 +01:00
Reimar Döffinger
d7e95ccd9f Make PIX_FMT format list arrays const.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-05 15:37:02 +01:00
Reimar Döffinger
d78473334e Add const to static arrays where it was forgotten.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-05 15:37:01 +01:00
Ronald S. Bultje
43317fd52c libavfilter: reindent. 2011-11-05 07:01:39 -07:00
Ronald S. Bultje
23a8b4ddfc avfilter: don't abort() on zero-size allocations. 2011-11-05 06:59:27 -07:00
Michael Niedermayer
c28ea94cd7 af_volume: exp10() is a GNU extension.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-05 05:39:42 +01:00
Stefano Sabatini
3a1045dfda af_earwax: copy input buffer properties to output
In particular, fix timestamps, partially address trac ticket #375.
2011-11-05 02:45:08 +01:00
Mina Nagy Zaki
fa4f06ab5e lavfi: add earwax audio filter, ported from Sox
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-11-05 02:16:45 +01:00
Stefano Sabatini
618ac71354 lavfi: add volume filter 2011-11-05 02:13:37 +01:00
Stefano Sabatini
1fc7077115 lavfi: increase number of maximum registered filters from 64 to 128 2011-11-05 02:13:37 +01:00
Stefano Sabatini
217790871e lavfi: issue error if maximum number of filters is reached
Issue an error and return a more meaningful error code in case the
maximum number of registered filters has been reached.
This is better than silently ignore the error, improve feedback.
2011-11-05 02:13:37 +01:00
Michael Niedermayer
259a960f1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vp6: Fix illegal read.
  avfilter: Don't copy garbage from the stack when setting up video pictures.
  avcodec: Make sure codec_type is set by avcodec_get_context_defaults2
  avcodec: Remove a misplaced and useless attribute_deprecated
  avconv: add -dump_attachment option.
  avconv: add -attach option.
  avconv: make negative mappings disable only streams from the specified file
  fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64

Conflicts:
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-04 01:44:06 +01:00
Alex Converse
0d7a16a946 avfilter: Don't copy garbage from the stack when setting up video pictures. 2011-11-03 15:54:04 -07:00
Reimar Döffinger
96949dafcc Replace all strcasecmp/strncasecmp usages.
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.
Instead use our own implementations that always treat the data
as ASCII.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-03 19:25:26 +01:00
Michael Niedermayer
988f585fcb Merge remote-tracking branch 'qatar/master'
* qatar/master: (44 commits)
  replacement Indeo 3 decoder
  gsm demuxer: do not allocate packet twice.
  flvenc: use first packet delay as global delay.
  ac3enc: doxygen update.
  imc: return error codes instead of 0 for error conditions.
  imc: return meaningful error codes instead of -1
  imc: do not set channel layout for stereo
  imc: validate channel count
  imc: check for ff_fft_init() failure
  imc: check output buffer size before decoding
  imc: use DSPContext.bswap16_buf() to byte-swap packet data
  rtsp: add allowed_media_types option
  libgsm: add flush function to reset the decoder state when seeking
  libgsm: simplify decoding by using a loop
  gsm: log error message when packet is too small
  libgsmdec: do not needlessly set *data_size to 0
  gsmdec: do not needlessly set *data_size to 0
  gsmdec: add flush function to reset the decoder state when seeking
  libgsmdec: check output buffer size before decoding
  gsmdec: log error message when output buffer is too small.
  ...

Conflicts:
	Changelog
	ffplay.c
	libavcodec/indeo3.c
	libavcodec/mjpeg_parser.c
	libavcodec/vp3.c
	libavformat/cutils.c
	libavformat/id3v2.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-03 02:16:26 +01:00
Stefano Sabatini
0b3e9d5dc6 vf_overlay: adopts FAST_DIV255 macro for calculating destination alpha
Ease readability, improve exactness.
2011-11-02 21:44:13 +01:00
Mark Himsley
91dfb73852 vf_fade: fade to correct CCIR601/709 black level
Current implementation fades to 0. This implementation fades to 16 for
YUV formats that contain CCIR601/709 video levels. RGB and YUVJ
formats are not altered.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-11-02 21:44:13 +01:00
Diego Biurrun
959cfbf3f4 vsrc_testsrc: fix mailing list reference URL 2011-11-02 10:42:55 +01:00
Diego Biurrun
124e28847b Remove some stray unnecessary ffmpeg references. 2011-11-02 10:42:54 +01:00
Michael Niedermayer
3fd0f6ed25 vf_transpose: remove pix_fmts which can currently not be supported.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-01 23:45:28 +01:00
Stefano Sabatini
30647fb45a lavfi: bump micro after recent changes in the overlay filter 2011-10-31 11:19:53 +01:00
Stefano Sabatini
2f7c8aefa8 vf_overlay: add support to alpha pre-multiplication in the RGBA path
Based on the work of Mark Himsley <mark@mdsh.com>.

See thread:
Subject: [FFmpeg-devel] libavfilter: extending overlay filter
Date: Sun, 13 Mar 2011 14:18:42 +0000
2011-10-31 11:06:31 +01:00
Stefano Sabatini
3013bfa81e vf_overlay: enable RGB path
Add option rgb which forces the RGB path.
2011-10-31 11:06:19 +01:00
Stefano Sabatini
b54c0a552d vf_overlay: use opt.h API for setting options
Extend syntax, allow to easily add more options later.
2011-10-30 21:10:54 +01:00
Stefano Sabatini
8dc90371b1 lavfi: add internal function ff_fill_rgba_map() 2011-10-28 02:06:50 +02:00
Clément Bœsch
9bd23f6815 ashowinfo: fix typo in description. 2011-10-27 22:16:24 +02:00
Clément Bœsch
a0b7853f7a vf_showinfo: print checksums in hexadecimal. 2011-10-27 22:14:57 +02:00
Michael Niedermayer
3e4375833d vf_scale: Request an aligned buffer.
Fixes Ticket594

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 03:46:50 +02:00
Michael Niedermayer
d7dcd96a23 vf_pad: Fix alignment of get_video_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 03:46:09 +02:00
Michael Niedermayer
d18fd13f30 avfilter: add named constamt to indicate the amount of alignment that AV_PERM_ALIGN means.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 03:45:02 +02:00
Michael Niedermayer
4d34b6c1a1 avfilter: add flag to indicate that alignment is needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-27 03:44:41 +02:00
Mark Himsley
9f9b2ab1b1 vsrc_testsrc: fix off-by-one logic when detecting the EOF time in request_frame()
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-10-25 23:38:56 +02:00
Mark Himsley
1ca1336067 testsrc seconds display is out-by-one frame
Without this patch each displayed second is incremented 1 frame early,
second 0 is only 24 frames long where as every other second is 25 frames
long.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-25 18:24:25 +02:00
Stefano Sabatini
d9d492513d vsrc_testsrc: increase log level from DEBUG to INFO for message in init() 2011-10-24 17:47:59 +02:00
Stefano Sabatini
1f4652068e lavfi: rewrite nullsrc using the code in vsrc_testsrc.c
Factorize code, extend the functionality of the filter, and make it
return empty buffers. This is useful for filters which ignore the input
frames content.

This is also changing the syntax of the nullsrc source, and dropping the
framerate expression evaluation, which does not look particularly useful.
2011-10-24 17:46:48 +02:00
Stefano Sabatini
42d44ec306 vsrc_testsrc: do not assume non-padded lines in test_fill_picture()
In particular, fix sliding color bar with padded data, for example with
testsrc,pad=iw+200:ih.
2011-10-23 23:54:37 +02:00
Stefano Sabatini
1679a40b74 vf_boxblur: fix slice-drawing
This filter does not support slice-drawing, the whole blurred image needs
to be written in end_frame().
2011-10-23 23:54:37 +02:00
Stefano Sabatini
43fce2214b lavfi: add missing header mulitple-inclusion guard in transform.h 2011-10-20 15:59:20 +02:00
Stefano Sabatini
99d48b07d1 lavfi/transform.h: apply misc doxy cosmetical changes 2011-10-20 15:59:12 +02:00
Michael Niedermayer
d0492578c8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  presets: rename presets directory
  lavc: make avcodec_get_context_defaults3 "officially" public
  lavf: replace av_new_stream->avformat_new_stream part II.
  lavf,lavd: replace av_new_stream->avformat_new_stream part I.
  lavf: add avformat_new_stream as a replacement for av_new_stream.
  Use correct scaling table for bwd-pred MVs in second B-field
  Ut Video decoder
  Makefile: change presets extension to .avpreset
  lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
  lavfi: add testsrc source
  AVOptions: add documentation.
  presets: update libx264 ffpresets

Conflicts:
	Changelog
	doc/APIchanges
	doc/ffmpeg.texi
	ffpresets/libx264-ipod320.ffpreset
	ffpresets/libx264-ipod640.ffpreset
	ffserver.c
	libavcodec/avcodec.h
	libavcodec/options.c
	libavcodec/version.h
	libavdevice/libdc1394.c
	libavfilter/avfilter.h
	libavfilter/vsrc_testsrc.c
	libavformat/flvdec.c
	libavformat/riff.c
	libavformat/version.h
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-20 02:34:51 +02:00
Paul Flinders
9ef714328c deshake: limit deshake to specific area to search for motion vectors. 2011-10-20 00:39:34 +02:00
Stefano Sabatini
ec2ac9271c lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
The licence was changed from GPL to LGPL with explicit approval from
the original author.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: add rgbtestsrc source,
        ported from MPlayer libmpcodecs
Date: Mon, 11 Jul 2011 16:32:41 +0200

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 07:09:08 +02:00
Stefano Sabatini
0244879f30 lavfi: add testsrc source
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 07:08:42 +02:00
Michael Niedermayer
35674a29b7 vf_mp: Fix several incompatible pointer type warnings.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-19 00:05:30 +02:00
Michael Niedermayer
cb3034e0d1 vf_unsharp: Fix false ‘src2’ may be used uninitialized in this function warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-19 00:04:33 +02:00
Michael Niedermayer
e73cc2819e src_movie: Fix incompatible pointer type warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-19 00:03:56 +02:00
Michael Niedermayer
5ed20cfeaf vf_deshake: Fix cast discards qualifiers from pointer target type warning.
And simplify the code in the process.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-19 00:03:13 +02:00
Michael Niedermayer
e96aa8d1a0 vf_pixdesctest: Fix incompatible pointer type warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 23:59:59 +02:00
Michael Niedermayer
abe9c54f14 yadif: Fix assignment from incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 23:59:20 +02:00
Michael Niedermayer
2982b02b79 vsrc_buffer: FIx incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 23:58:41 +02:00
Stefano Sabatini
2b72067406 asrc_aevalsrc: apply misc cleanup in the options array
Prefer AV_OPT_* over FF_OPT, vertically align fields.
2011-10-18 18:52:50 +02:00
Stefano Sabatini
3f20eada80 asrc_aevalsrc: prefer av_strtok() over strtok_r() 2011-10-18 18:46:58 +02:00
Stefano Sabatini
eae3a86e57 lavfi: update minor number and add Changelog entry after aevalsrc addition 2011-10-18 18:46:58 +02:00
Stefano Sabatini
36c06b0913 lavfi: add audio eval signal source 2011-10-18 18:21:04 +02:00
Stefano Sabatini
b35e9e19e9 lavu: add av_strtok()
The function strtok_r() is part of the POSIX.1 specification, but is not
available on some platforms. We provide an internal implementation, so we
do not need to rely on a platform implementation.
2011-10-18 18:21:03 +02:00
Michael Niedermayer
fae714a9fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: add presets
  rtsp: Expose the flag options via private AVOptions for sdp and rtp, too
  rtsp: Make the rtsp flags avoptions set via a define
  rtpenc: Set a default video codec
  avoptions: Fix av_opt_flag_is_set
  rtp: Fix ff_rtp_get_payload_type
  doc: Update the documentation on setting options for RTSP
  rtsp: Remove the separate filter_source variable
  rtsp: Accept options via private avoptions instead of URL options
  rtsp: Simplify AVOption definitions
  rtsp: Merge the AVOption lists
  lavfi: port libmpcodecs delogo filter
  lavfi: port boxblur filter from libmpcodecs
  lavfi: add negate filter
  lavfi: add LUT (LookUp Table) generic filters
  AVOptions: don't segfault on NULL parameter in av_set_options_string()
  avio: Check for invalid buffer length.
  mpegenc/mpegtsenc: add muxrate private options.
  lavf: deprecate AVFormatContext.file_size
  mov: add support for TV metadata atoms tves, tvsn and stik

Conflicts:
	Changelog
	doc/filters.texi
	doc/protocols.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/avfilter.h
	libavfilter/formats.c
	libavfilter/internal.h
	libavfilter/vf_boxblur.c
	libavfilter/vf_delogo.c
	libavfilter/vf_lut.c
	libavformat/mpegtsenc.c
	libavformat/utils.c
	libavformat/version.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-18 01:54:40 +02:00
Stefano Sabatini
b157be1f38 lavfi: port libmpcodecs delogo filter
The ported filter supports named option parsing and more YUV formats.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
ce6b6ef645 lavfi: port boxblur filter from libmpcodecs
With the following additions:
* support to gray format
* support to yuva420p format
* parametric luma/chroma/alpha radius
* consistency check on the radius values, avoid crashes with invalid values

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
171868e25a lavfi: add negate filter
This filter is a simple wrapper around the LUT filter.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
8fe0c527f3 lavfi: add LUT (LookUp Table) generic filters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:38 +02:00
Clément Bœsch
539399d4d1 AVOptions: rename remaining FF_OPT_TYPE_* to AV_OPT_TYPE_*. 2011-10-17 07:33:10 +02:00
Stefano Sabatini
bca8bd99d0 af_ashowinfo: fix plane size computation for planar layout formats
+10l.
2011-10-16 01:58:31 +02:00
Stefano Sabatini
22137bb5c2 af_aresample: fix properties setting in the output buffer
In particular: set output timebase to 1/output_sample_rate, fix output
PTS computation, and do not forget to copy properties values from the
input buffer.
2011-10-16 00:52:23 +02:00
Stefano Sabatini
cc6b8c4b61 af_ashowinfo: adopt used plane size when computing the plane checksum
Fix checksum computation when the used plane size is different from the
allocated plane size, as it was wrongly assumed.
2011-10-16 00:51:36 +02:00
Nicolas George
7d60b43e90 vsrc_nullsrc: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:51 +02:00
Nicolas George
21e888bd11 vf_crop: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:51 +02:00
Nicolas George
94b345855f vf_settb: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
db820c3c13 vf_setpts: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
1a3fa3ab2c vf_select: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
3b316f9f22 vf_scale: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
e2abe90ed7 vf_pad: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
8c88d734a5 vf_overlay: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
157ff97e3b vf_lut: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Nicolas George
a2af901295 vf_drawtext: remove mathematical constants now redundant.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 18:08:50 +02:00
Michael Niedermayer
f884ef00de Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  tiffenc: initialize forgotten avctx.
  avplay: free the active audio packet at exit.
  avplay: free rdft data used for spectrogram analysis.
  log.h: make AVClass a named struct
  fix ac3 encoder documentation
  vc1: more prettyprinting cosmetics
  vc1: prettyprint some tables
  vc1: K&R formatting cosmetics
  AVOptions: bump minor and add APIchanges entry.
  cmdutils/avtools: simplify show_help() by using av_opt_child_class_next()
  AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
  Remove all uses of deprecated AVOptions API.
  AVOptions: add av_opt_next, deprecate av_next_option.
  AVOptions: add functions for evaluating option strings.
  AVOptions: split get_number().
  AVOptions: add av_opt_get*, deprecate av_get*.
  AVOptions: add av_opt_set*().
  AVOptions: add new API for enumerating children.
  rv34: move inverse transform functions to DSP context
  flvenc: Write the right metadata entry count
  ...

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	ffplay.c
	ffprobe.c
	libavcodec/ac3dec.c
	libavcodec/h264.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/mpeg12enc.c
	libavcodec/options.c
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavfilter/vf_drawtext.c
	libavformat/flvdec.c
	libavformat/mpegtsenc.c
	libavformat/options.c
	libavutil/avutil.h
	libavutil/opt.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-13 06:00:03 +02:00
Anton Khirnov
145f741e11 AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* 2011-10-12 16:51:16 +02:00
Clément Bœsch
073effb6e4 deshake: simplify filename check. 2011-10-04 21:36:54 +02:00
Clément Bœsch
d4005e22c3 deshake: misc style fixes. 2011-10-04 21:36:54 +02:00
Michael Niedermayer
b0f270fdef deshake: move angles from stack to heap.
Fixes Ticket530

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 18:32:36 +02:00
Michael Niedermayer
1e4da6031c deshake: Allow specifying the filename for statistics and disable them by default.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 17:20:42 +02:00
Michael Niedermayer
171a5b5d36 deshake: remove non const static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 08:31:40 +02:00
Clément Bœsch
1912c215e0 doxygen: remove a few @file parameters.
It is not mandatory and prevents breakage on rename.
2011-10-04 08:04:17 +02:00
Clément Bœsch
65d5edcd2c lavfi: remove align tabs in Makefile. 2011-10-04 07:56:56 +02:00
Clément Bœsch
136093236f deshake: fix doxygen comments. 2011-10-04 07:48:55 +02:00
Michael Niedermayer
2cdb5e1986 deshake: nicer looking defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 02:15:18 +02:00
danielgtaylor
0cc2ed4a20 libavfilter: add deshake filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 02:14:21 +02:00
danielgtaylor
7985381e23 libavfilter: image transform code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-04 02:10:18 +02:00
Stefano Sabatini
91492bd1c4 lavfi: remove usage of deprecated av_opt_set_defaults2() function
Prefer av_opt_set_defaults() instead.
2011-10-02 15:16:36 +02:00
Michael Niedermayer
8447703c16 vf_scale.c: propagate error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-01 03:16:32 +02:00
Stefano Sabatini
1ee2014190 vf_unsharp: set default chroma size value to 5x5
The previous default value 0x0 was not good, since it is not even
valid.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-29 07:20:05 +02:00
Stefano Sabatini
998e8519ef vf_unsharp: fix out-of-buffer read
In apply_unsharp(), when y is >= height, prevent out-of-buffer reading
from src, read from the last buffer line in src2 instead.

The check was implemented in the original unsharp libmpcodecs code and
lost in the port.

This also fixes output discrepancy between the two filters.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-29 07:19:30 +02:00
Michael Niedermayer
f9a2d0c3fe Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  avconv: Reformat s16 volume adjustment.
  ARM: NEON optimised vector_fmac_scalar()
  dca: use vector_fmac_scalar from dsputil
  dsputil: add vector_fmac_scalar()
  latmenc: Fix private options
  vf_unsharp: store hsub/vsub in the filter context
  vf_unsharp: adopt a more natural order of params in apply_unsharp()
  vf_unsharp: rename method "unsharpen" to "apply_unsharp"
  vf_scale: apply the same transform to the aspect during init that is applied per frame
  vf_pad: fix "vsub" variable value computation
  vf_scale: add a "sar" variable
  lavfi: fix realloc size computation in avfilter_add_format()
  vsrc_color: use internal timebase
  lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
  graphparser: prefer void * over AVClass * for log contexts
  avfiltergraph: use meaningful error codes
  avconv: Initialize return value for codec copy path.
  fate: use 'run' helper for seek-test
  fate: remove seek-mpeg2reuse test
  Fix memory (re)allocation in matroskadec.c, related to MSVR-11-0080.
  ...

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-29 01:11:01 +02:00
Michael Niedermayer
514c44c4fa sink_buffer: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 22:28:47 +02:00
Stefano Sabatini
f63ec3eee9 lavfi: fix FF_API_* definition macros
Fix ABI break occurred after their use.

Bug reported and patch provided by chinsou, fix trac issue #516,
+80cola for me.
2011-09-28 17:24:52 +02:00
Nicolas George
fb35f7d7e1 vf_boxblur: remove useless code.
This block was probably leftovers from code refactoring.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 16:11:01 +02:00
Stefano Sabatini
1c257dc32d vf_unsharp: store hsub/vsub in the filter context
Also drop obfuscating CHROMA_WIDTH/HEIGHT macros.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:09:18 +02:00
Stefano Sabatini
e6d17ba426 vf_unsharp: adopt a more natural order of params in apply_unsharp()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:09:03 +02:00
Stefano Sabatini
de7b58da3e vf_unsharp: rename method "unsharpen" to "apply_unsharp"
More consistent with the original libmpcodecs code, and the name
"unsharpen" was confusing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:08:56 +02:00
Michael Niedermayer
d33e0c6bc8 vf_scale: apply the same transform to the aspect during init that is applied per frame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:08:30 +02:00
Stefano Sabatini
80de930a78 vf_pad: fix "vsub" variable value computation
It was shifting 2 rather than 1, +10l.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:03:30 +02:00
Stefano Sabatini
46b29397a6 vf_scale: add a "sar" variable
Also create a "dar" alias for the "a" variable, for avoiding possible
confusion between dar/sar.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:03:24 +02:00
Stefano Sabatini
0ec56d1144 lavfi: fix realloc size computation in avfilter_add_format()
Replace sizeof((*avff)->formats)
with    sizeof(*(*avff)->formats)

as the size of the array element is given by the pointed element
rather than by its pointer.

In particular fix computation with the pending patch when
sizeof(int64_t) != sizeof(int64_t *).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:03:18 +02:00
Stefano Sabatini
e63e4c99c9 vsrc_color: use internal timebase
Avoid timescale conversion, simplify.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:03:11 +02:00
Stefano Sabatini
57fa314090 lavfi: fix signature for avfilter_graph_parse() and avfilter_graph_config()
Require "void *" rather than "AVClass *" for the log context type.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:02:53 +02:00
Stefano Sabatini
64abd375ec graphparser: prefer void * over AVClass * for log contexts
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:02:42 +02:00
Stefano Sabatini
59cef18c24 avfiltergraph: use meaningful error codes
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:02:32 +02:00
Stefano Sabatini
9921613e82 vf_drawtext: apply misc style fixes 2011-09-25 22:47:51 +02:00
Stefano Sabatini
80daa247d8 vf_drawtext: do not reset "n" variable to 0 in case the filter is reinited 2011-09-25 22:47:51 +02:00
Stefano Sabatini
dd91499b66 lavfi: add debug trace when processing events 2011-09-25 22:47:51 +02:00
Stefano Sabatini
e64de2ad1a lavfi: document AVFilterCommand fields 2011-09-25 22:47:51 +02:00
Stefano Sabatini
87f5e79732 vf_drawtext: use ctx for expressing outlink and dtext in end_frame
(Very) slighly improve readability.
2011-09-24 12:37:12 +02:00
Stefano Sabatini
3de684206e vf_drawtext: perform misc cosmetics changes to uninit
In particular:
* lexically sort strings freeing commands
* logically group freeing instructions
* prefer NULL over 0 when setting dtext->glyphs
2011-09-24 12:37:03 +02:00
Stefano Sabatini
275516f87c vf_drawtext: set string defaults in the options array
Simplify.
2011-09-24 12:36:55 +02:00
Stefano Sabatini
482ce0ce4e vf_drawtext: make x and y options parametric
Address trac issue #378.
2011-09-24 12:36:48 +02:00
Stefano Sabatini
163854bca0 vf_drawtext: drop text wrapping feature
Or in other word, do not go to the next line when the text cannot be
rendered within the frame.

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

Also the current wrapping code is very limited (for example it splits
words in the middle), and correctly handling wrapping requires much
more complexity (alignment, gravity, word parsing etc.), while
drawtext is meant to be only a thin wrapper around libfreetype, so
such advanced features don't belong here.
2011-09-24 12:36:39 +02:00
Stefano Sabatini
b87d4c2b9f vf_drawtext: do not set limitations on fontsize
It may be needed to use values greater than 72, and in general greater
than an arbitrary big value. Let the user choose what's too big for
her.
2011-09-23 01:35:38 +02:00
Stefano Sabatini
3a87dce6bf vf_drawtext: remove useless and misnamed intermediary "baseline" variable in draw_text() 2011-09-22 00:45:59 +02:00
Stefano Sabatini
500b3210da vf_drawtext: fix background box coloring with RGB formats != RGBA
drawbox() expects a color specified in RGBA format, while the code was
providing a color with the components specified in the same order of
the input pixel format.

In particular, fix box coloring with AXXX RGB formats.
2011-09-22 00:45:59 +02:00
Stefano Sabatini
db56a7507e vf_drawtext: prefer int over unsigned int
This avoids overflow errors when the considered x and y values are
negative, as required by the incoming patches.
2011-09-22 00:45:59 +02:00
Stefano Sabatini
be4e8908d2 vf_yadif: add support to yuva420p
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 09:00:24 +02:00
Stefano Sabatini
4703a7b50b vf_yadif: correct documentation on the parity parameter
0 is top-field-first, 1 is bottom-field-first, not the other way
around.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:59:58 +02:00
Joakim Plate
5feb67f8a1 vf_yadif: copy buffer properties like aspect for second frame as well
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-21 08:59:36 +02:00
Michael Niedermayer
7491816010 libavfilter/libmpcodecs: add vf_stereo3d support
(code from mplayer see their svn for detailed authorship)
parameters must be integers as we do not have mplayers parser
also the stuff passed to it through non constant globals is not supported
this should be fixed in mplayer first.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-20 05:49:42 +02:00
Michael Niedermayer
5aa18fed84 libmpcodecs: some hunks from mplayer HEAD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-20 05:14:52 +02:00
Joakim Plate
ab09df9dea vf_yadif: add an option to enable/disable deinterlacing based on src frame "interlaced" flag
Signed-off-by: Joakim Plate <elupus@ecce.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:44:22 +02:00
Stefano Sabatini
91aff2665d vsrc_color: set output pos values to -1
-1 is more correct than 0, as the position in the file is undefined.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:44:02 +02:00
Stefano Sabatini
753890d0db vsrc_color: add @file doxy
Also remove outdated reference to color in vf_pad.c.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:43:25 +02:00
Stefano Sabatini
deb58ab447 vsrc_buffer: remove duplicated file description
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-19 12:43:10 +02:00
Clément Bœsch
46c9ddf83c lavfi: fix avfilter_get_audio_buffer() doxy to match reality. 2011-09-18 17:32:03 +02:00
Stefano Sabatini
9535929897 asrc_anullsrc: amend description to reflect the recent changes 2011-09-18 14:26:37 +02:00
Stefano Sabatini
1d8d987ba8 asrc_anullsrc: globally prefer "null" over "priv" for indicating the filter context
More locally and globally consistent.
2011-09-18 12:38:39 +02:00
Stefano Sabatini
17d2fee789 asrc_anullsrc: do not show the int64_t value for channel_layout
That was clumsy and confusing, only show the descriptive channel
layout string.
2011-09-18 12:38:39 +02:00
Stefano Sabatini
e72aa524d8 asrc_anullsrc: implement a request_frame callback for returning frames
This is mainly useful for filters (like the sox synth), which
overwrite the content of the passed data.
2011-09-18 12:38:33 +02:00
Stefano Sabatini
44ab77db9e asrc_anullsrc: extend syntax to make it accept a non positional list of arguments
The new syntax is more extensible and more user-friendly.

This breaks the previous syntax, should not be an issue as possibly
no-one is already using anullsrc.
2011-09-18 12:30:01 +02:00
Michael Niedermayer
9a9ceb8776 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: add select filter
  oggdec: fix out of bound write in the ogg demuxer
  movenc: create an alternate group for each media type
  lavd: add libcdio-paranoia input device for audio CD grabbing
  rawdec: refactor private option for raw video demuxers
  pcmdec: use unique classes for all pcm demuxers.
  rawdec: g722 is always 1 channel/16kHz

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavdevice/avdevice.h
	libavfilter/avfilter.h
	libavfilter/vf_select.c
	tests/ref/lavf/mov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-17 22:36:43 +02:00
Stefano Sabatini
d763fb7d47 lavfi: add select filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-17 19:08:30 +02:00
Stefano Sabatini
db79d04173 af_aresample: do not request a buffer with AV_PERM_REUSE2 permissions in filter_samples()
That was pointless. Simplify.
2011-09-17 01:36:00 +02:00
Mina Nagy Zaki
3ee0bedcc0 lavfi: refactor query_formats and auto-insert audio conversion filters
Behaviour has been changed to fail negotiation if fields have been
left empty.

Patch was originally based on a patch by Hemanth.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2011-09-16 20:44:27 +02:00
Stefano Sabatini
37cc443c83 lavfi: add audio convert filter
Add aconvert filter to perform sample format, channel layout, and
packing format conversion.

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

Based on previous work by S.N. Hemanth Meenakshisundaram and Mina Nagy
Zaki, performed for the GSoC 2010 and 2011.
2011-09-16 20:44:27 +02:00
Stefano Sabatini
553c5e9f23 lavfi: add and use an inlink variable in avfilter_config_links()
Simplify expressions, improve readability.
2011-09-16 20:44:27 +02:00
Stefano Sabatini
71c644ceda lavfi: set link audio time_base if not set in avfilter_config_links()
The set value depends on the input link, or on the sample_rate value.
Avoids the need to explicitely set the time_base value.
2011-09-16 20:44:26 +02:00
Michael Niedermayer
41215fdeb3 libavfilter/formats.c: fix compile of test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-16 06:07:07 +02:00
Stefano Sabatini
ea8de109af lavfi: add avfilter_all_channel_layouts public symbol
This list is mainly useful to be directly used as a parameter by the
audio sink buffer, when there is no need to force a specific channel
layout.

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

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

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

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

Breaks audio API/ABI, add a backward compatibility layer for video
API/ABI.
2011-09-16 00:42:47 +02:00
Michael Niedermayer
39e0accb7a vf_remove_logo: domt access vf->next->query_format() directly but use the API.
This fixes a crash

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-13 03:52:30 +02:00
Stefano Sabatini
9efae6a161 lavfi: bump minor and update APIchanges after recent updates
These changes were forgotten in commits:
  lavfi: simplify signature for avfilter_get_audio_buffer() and friends
  (commit 2c0317419b)
and
  lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
  (commit 4381bddc9f)
2011-09-12 22:08:53 +02:00
Michael Niedermayer
9765caec1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  adpcm: split ADPCM encoders and decoders into separate files.
  doc/avconv: fix typo.
  rv34: check that subsequent slices have the same type as first one.
  smacker demuxer: handle possible av_realloc() failure.
  lavfi: add split filter from soc.
  lavfi: add showinfo filter
  libxavs: add private options corresponding to deprecated global options

Conflicts:
	Changelog
	libavcodec/adpcm.c
	libavfilter/avfilter.h
	libavfilter/vf_showinfo.c
	libavfilter/vf_split.c
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 21:01:12 +02:00
Stefano Sabatini
4381bddc9f lavfi: consistently use int for sample_rate in AVFilterLink and AVFilterBufferRefAudioProps
Also consistent with AVCodecContext.sample_rate. Simplify/avoid
pointless type checks and conversions.

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

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

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

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 08:48:16 +02:00
Stefano Sabatini
ee42716b07 lavfi: add showinfo filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 08:48:14 +02:00
Michael Niedermayer
f1b5693027 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add LATM muxer
  v210enc: clip values according to specifications
  v210enc: switch to PIX_FMT_422P10
  v210dec: switch to PIX_FMT_422P10
  AVOptions: remove AVOption.offset <= 0 checks
  AVOptions: deprecate av_opt_set_defaults2
  AVOptions: move doxy for av_opt_set_defaults() from opt.c to opt.h
  libx264: fix setting some more parameters
  libx264: fix setting the H.264 level
  libx264: add 'direct-pred' private option
  libx264: add 'partitions' private option

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/libx264.c
	libavcodec/v210enc.c
	libavfilter/src_movie.c
	libavformat/version.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-07 22:58:39 +02:00
Anton Khirnov
79eff91325 AVOptions: deprecate av_opt_set_defaults2
It's a hack which was created to allow for multiple options with
different defaults to refer to same field (e.g. 'b' vs 'ab'). There is
no need for it anymore.
2011-09-07 11:19:43 +02:00
Michael Niedermayer
c0323b9c9b avfilter: dont crash on filters with NULL instance names.
Found-by: Rolf Siegrist
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 22:23:15 +02:00
Stefano Sabatini
4f7dfe12ea lavfi: rename vsink_buffer.c to sink_buffer.c, and vsink_buffer.h to buffersink.h
This is done in order to clarify the non-video-specific nature of the
buffersink code, as the result of the video/audio API unification of
the previous commit, and for improving overall consistency.
2011-09-06 18:51:09 +02:00
Stefano Sabatini
c4415f6ec9 lavfi: unify asink_buffer and vsink_buffer API
The new API is more generic (no distinction between audio/video for
pulling frames), and avoids code duplication.

A backward compatibility layer is kept for avoiding tools ABI breaks
(only for the video binary interface, audio interface was never used
in the tools).
2011-09-06 18:47:04 +02:00
Michael Niedermayer
845383c358 vf_drawtext: always use expanded_text as we always support strftime() now and dont depend on localtime_r() anymore
Found-by: Rolf Siegrist
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 23:13:59 +02:00
Michael Niedermayer
038a465efc vf_drawtext: make strftime work without localtime_r()
modern OS should have localtime_r() or return thread locals on localtime() hopefully

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 05:16:44 +02:00
Michael Niedermayer
b881a2e254 vf_drawtext: Fix reinit to allow color changes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 20:58:13 +02:00
Stefano Sabatini
a9c69362ea vsink_buffer: fix void pointer dereference in av_vsink_buffer_get_video_buffer_ref() 2011-08-31 16:27:33 +02:00
Stefano Sabatini
22ee131e85 vf_yadif: add support to yuva420p 2011-08-31 16:11:26 +02:00
Michael Niedermayer
595cfdef97 vf_drawtext: add basetime argument to allow specifying the wall clock time of PTS=0
the basetime argument also enables useage of pts instead of time()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 23:37:49 +02:00
Michael Niedermayer
cc2b4e889d libavfilter/graphparser: Avoid spaces in filter instance names.
This makes it easier to refer to filters where things are seperated by spaces.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 22:02:38 +02:00
Michael Niedermayer
3016c7f543 vf_drawtext: fix segfault on reinit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 20:25:58 +02:00
Stefano Sabatini
c70e8523af vsrc_testsrc: set more properties in the output frames 2011-08-30 10:03:19 +02:00
Michael Niedermayer
ea36c44e84 avfilter_graph_queue_command: Allow queueing commands out of order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:55:22 +02:00
Michael Niedermayer
37f9de59d1 avfilter: fix processing multiple commands per frame and filter
Found-by: Nicolas George
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:39:34 +02:00
Michael Niedermayer
3d8176d2f5 avfilter: Add avfilter_graph_que_command()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:10 +02:00
Michael Niedermayer
f782ce3b4d drawtext: Support changing parameters through reinit command at runtime.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:08 +02:00
Michael Niedermayer
1e5014c7c7 avfilter: Add command passing support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:01 +02:00
Michael Niedermayer
52982dbe47 vf_scale: don't leak SWS context.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-27 17:23:45 +02:00
Stefano Sabatini
24ddfb2bdb lavfi: add amovie source - audio movie source 2011-08-27 12:46:55 +02:00
Michael Niedermayer
c8868f28e3 vf_scale: apply the same transform to the aspect during init that is applied per frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 02:04:37 +02:00
Michael Niedermayer
094a496818 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fifo: add FIFO API test program, and fate test
  fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
  postprocess.c: filter name needs to be double 0 terminated
  doxygen: fix wrong comment syntax, //< vs. ///<
  doxygen: drop pointless star from pointer variable names
  Replace deprecated av_find_stream_info() by avformat_find_stream_info().
  xmv: eliminate superfluous zeroing of zero data
  configure: fix typo in avconv dependency list

Conflicts:
	configure
	doc/APIchanges
	libavutil/Makefile
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-26 23:18:54 +02:00
Diego Biurrun
0249478756 doxygen: fix wrong comment syntax, //< vs. ///< 2011-08-26 18:34:28 +02:00
Stefano Sabatini
276f43be68 lavfi: rename vsrc_movie.c to src_movie.c
The file is going to contain the amovie source, so give it a less
specific name.
2011-08-23 15:45:53 +02:00
Stefano Sabatini
e26782a9b4 lavfi: add ff_parse_pixel_format() internal function, and use it
Reduce code duplication.
2011-08-23 15:45:44 +02:00
Stefano Sabatini
e0ddc2e953 vsrc_movie: rename video movie specific callbacks, prefix them with "movie" 2011-08-22 10:40:50 +02:00
Stefano Sabatini
df4c7ae9db asink_abuffer: extend ABufferSinkContext to make it accept lists of formats in input
This is required for the pending lavfi indev extension, also
consistent with the video buffer sink.
2011-08-22 10:34:43 +02:00
Stefano Sabatini
3e4666f34c vsrc_movie: create media agnostic movie init and uninit routines
Allow factorization for the pending work on the audio movie source.
2011-08-22 10:34:43 +02:00
Stefano Sabatini
8aa62bb950 af_aformat: use evil ADD_FORMATS macro for cutting out duplicated code 2011-08-22 10:34:43 +02:00
Stefano Sabatini
34c997599e vsrc_testsrc: allow to set the sample aspect ratio
Add the sar option. Useful for debugging/testing purposes.
2011-08-21 15:27:09 +02:00
Stefano Sabatini
c5d9bd1938 asrc_abuffer: pass non-const string to strtok_r in init()
Fix GCC warning:
asrc_abuffer.c: In function ‘init’:
asrc_abuffer.c:258: warning: passing argument 1 of ‘strtok_r’ discards qualifiers from pointer target type
2011-08-21 11:38:30 +02:00
Mina Nagy Zaki
587c8ab912 lavfi: add asrc_abuffer - audio buffer source
Originally based on code by Stefano Sabatini and S. N. Hemanth.

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

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-17 13:12:40 +02:00
Stefano Sabatini
86ca51acb0 af_format: prefer strtok_r() over strsep()
strsep() is not POSIX compliant, and thus not supported on some platform.
Fix compilation on Solaris.
2011-08-16 17:00:57 +02:00
Stefano Sabatini
a719679561 lavfi: complain and exit for invalid named values in ff_parse_packing_format() 2011-08-16 17:00:49 +02:00
Michael Niedermayer
abf6b0d1ea af_aformat: hotfix compile due to strsep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 03:35:25 +02:00
Stefano Sabatini
b854c2a709 vf_unsharp: set default chroma size value to 5x5
The previous default value 0x0 was not good, since it is not even
valid.
2011-08-14 16:29:44 +02:00
Stefano Sabatini
63b61d55f9 vf_unsharp: fix out-of-buffer read
In apply_unsharp(), when y is >= height, prevent out-of-buffer reading
from src, read from the last buffer line in src2 instead.

The check was implemented in the original unsharp libmpcodecs code and
lost in the port.

This also fixes output discrepancy between the two filters.
2011-08-14 16:28:54 +02:00
Stefano Sabatini
6e89bdfecf lavfi: remove delogo mp wrapper
The delogo filter has been natively integrated into libavfilter,
simplify.
2011-08-14 12:26:44 +02:00
Stefano Sabatini
2701f6cc6a lavfi: port libmpcodecs delogo filter
The ported filter supports named option parsing and more YUV formats.
2011-08-14 12:17:10 +02:00
Mina Nagy Zaki
0a2295815d lavfi: add aformat filter
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-14 10:31:23 +02:00
Mina Nagy Zaki
3f07d40ea2 lavfi: add internal functions for parsing format arguments
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-14 10:31:09 +02:00
Stefano Sabatini
3560089e12 vsink_buffer: make the buffer cache all the incoming frames
Allow to cache more than one frame (e.g. for filters which return
more than one frame when avfilter_request_frame() is called on them),
and do not discard previously cached frames when a new one is added.
2011-08-14 02:04:19 +02:00
Stefano Sabatini
ccd85b869d vf_unsharp: vertically align lines, for better readability 2011-08-13 16:45:13 +02:00
Stefano Sabatini
09603dcff8 vf_unsharp: store hsub/vsub in the filter context
Also drop obfuscating CHROMA_WIDTH/HEIGHT macros.
2011-08-13 16:45:13 +02:00
Stefano Sabatini
53e8638205 vf_unsharp: adopt a more natural order of params in apply_unsharp() 2011-08-13 16:45:13 +02:00
Stefano Sabatini
540181f8e2 vf_unsharp: rename method "unsharpen" to "apply_unsharp"
More consistent with the original libmpcodecs code, and the name
"unsharpen" was confusing.
2011-08-13 16:45:13 +02:00
Stefano Sabatini
e72657f83d lavfi: remove mp test wrapper
The source was natively integrated into libavfilter, with the name
mptestsrc.
2011-08-11 16:19:53 +02:00
Stefano Sabatini
1a5e63f924 lavfi: port mp test source 2011-08-11 16:19:48 +02:00
Stefano Sabatini
961e8f31cf vf_mp: sort listing of vf_info_t symbols
This way it's easier for the programmer to look-up for a specific
symbols (e.g. for checking if it's unused).
2011-08-11 16:19:19 +02:00
Stefano Sabatini
fe3cad0e9e vf_select: reindent after the previous commit 2011-08-11 16:09:20 +02:00
William Yu
30ea0e47b5 vf_select: add NULL-checks in uninit
Fix NULL pointer dereference in case of failed initialization.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-11 16:09:20 +02:00
Stefano Sabatini
43fab7aafc vf_select: check for isnan when setting t from pts 2011-08-11 16:09:15 +02:00
William Yu
298fccad21 vf_select: set start_t if undefined
Previously start_t was never set.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-11 16:08:55 +02:00
Stefano Sabatini
640a905ece lavfi: remove gradfun mp wrapper
The gradfun filter was already integrated natively in libavfilter.
Both filters issue the same output, and have a comparable performance.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: remove gradfun mp wrapper
Date: Fri,  5 Aug 2011 00:19:04 +0200
2011-08-07 17:43:02 +02:00
Stefano Sabatini
4646ef87b1 lavfi: fix registration name for the buffersink sink
Previously both the buffer and buffersink elements were associated to
the "BUFFER" symbol in allfilters.c, so it was not possible to enable
one without the other.
2011-08-06 13:18:09 +02:00
Stefano Sabatini
3c56a421d8 lavfi: avoid void* arithmetic in defaults.c:set_common_formats()
void* pointer arithmetic semantics is undefined, use uint8_t* instead.

Also fix GCC warnings:
defaults.c: In function ‘set_common_formats’:
defaults.c:184: warning: pointer of type ‘void *’ used in arithmetic
defaults.c:189: warning: pointer of type ‘void *’ used in arithmetic
2011-08-06 13:18:09 +02:00
Mina Nagy Zaki
a8dcf5eebb lavfi: add asink_abuffer - audio buffer sink
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-06 13:17:49 +02:00
Mina Nagy Zaki
3e12b5893d lavfi: fix doxygen doc for config_props() callback
Update/extend documentation related to the link fields to set, and fix
a pads->filters braino.

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

Also remove channel_layout check as it is now negotiated.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-06 12:13:18 +02:00
Stefano Sabatini
4b7889453e lavfi: remove avfilter_default_config_input_link() declaration
The function is not implemented (and possibly useless).
2011-08-06 12:11:12 +02:00
Stefano Sabatini
82b1516a85 yadif: correct documentation on the parity parameter
0 is top-field-first, 1 is bottom-field-first, not the other way
around.

Fix trac issue #380.
2011-08-04 19:09:57 +02:00
Stefano Sabatini
f1b7c7e697 vf_boxblur: call avfilter_draw_slice() at the end of draw_slice() 2011-08-03 11:18:15 +02:00
Stefano Sabatini
a342517710 vf_boxblur: fix out-of-buffer access when h > w
Increase size of the private temporary buffers from w to FFMAX(w, h),
indeed they are used also for blurring vertical lines with length h.
2011-08-03 11:18:15 +02:00
Stefano Sabatini
d68ba3feb8 vf_boxblur: prefer the name "len" over "w" in the blur routines
Make more clear the meaning of the variables. They specify the length
of a (vertical or horizontal) line rather than a width.
Less confusing.
2011-08-03 11:18:15 +02:00