Commit Graph

2977 Commits

Author SHA1 Message Date
Nicolas George
f29c28a884 lavfi/buffersrc: check channel count changes. 2013-03-17 12:31:24 +01:00
Nicolas George
3cd342636f lavfi/buffersrc: set channel layout if it is known.
Introduced in 01649c7, lost in the API change.
2013-03-17 11:59:51 +01:00
Clément Bœsch
286153ea48 lavfi/alphaextract: fix frame memleak. 2013-03-17 03:12:44 +01:00
Clément Bœsch
2b27f7fb04 lavfi/thumbnail: replace frame unref with free.
Fixes memleak spotted by FATE.
2013-03-17 01:46:22 +01:00
Stefano Sabatini
db36ea5b5e lavfi/settb: add support for named options 2013-03-17 00:27:33 +01:00
Stefano Sabatini
0407a79e41 lavfi/blackframe: add support for named options 2013-03-17 00:27:08 +01:00
Hendrik Leppkes
d8dccf69ff lavfi: let gcc realign the stack on public graph driving functions
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.

This fixes a crash in YADIF filter when using a mingw build in a MSVC application.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 23:52:35 +01:00
Clément Bœsch
8d84e90c9b lavfi/delogo: 10l forgotten trailing NULL in shorthand.
Regression since de3e0ab3.
2013-03-16 23:37:58 +01:00
James Darnley
c9a51c29fc yadif: remove an 'm' from the LOAD macro definition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:49 +01:00
James Darnley
1d3b14cac2 yadif: remove repeated check on width
The filter already checks that width (and height) are greater than 3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:30 +01:00
James Darnley
7976d92dac yadif: cosmetic indentation from previous commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:06 +01:00
James Darnley
0a5814c9ba yadif: x86 assembly for 9 to 14-bit samples
These smaller samples do not need to be unpacked to double words
allowing the code to process more pixels every iteration (still 2 in MMX
but 6 in SSE2).  It also avoids emulating the missing double word
instructions on older instruction sets.

Like with the previous code for 16-bit samples this has been tested on
an Athlon64 and a Core2Quad.

Athlon64:
1809275 decicycles in C,    32718 runs, 50 skips
 911675 decicycles in mmx,  32727 runs, 41 skips, 2.0x faster
 495284 decicycles in sse2, 32747 runs, 21 skips, 3.7x faster

Core2Quad:
 921363 decicycles in C,     32756 runs, 12 skips
 486537 decicycles in mmx,   32764 runs,  4 skips, 1.9x faster
 293296 decicycles in sse2,  32759 runs,  9 skips, 3.1x faster
 284910 decicycles in ssse3, 32759 runs,  9 skips, 3.2x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:54 +01:00
James Darnley
17e7b49501 yadif: x86 assembly for 16-bit samples
This is a fairly dumb copy of the assembly for 8-bit samples but it
works and produces identical output to the C version.  The options have
been tested on an Athlon64 and a Core2Quad.

Athlon64:
1810385 decicycles in C,    32726 runs, 42 skips
1080744 decicycles in mmx,  32744 runs, 24 skips, 1.7x faster
 818315 decicycles in sse2, 32735 runs, 33 skips, 2.2x faster

Core2Quad:
 924025 decicycles in C,     32750 runs, 18 skips
 623995 decicycles in mmx,   32767 runs,  1 skips, 1.5x faster
 406223 decicycles in sse2,  32764 runs,  4 skips, 2.3x faster
 387842 decicycles in ssse3, 32767 runs,  1 skips, 2.4x faster
 307726 decicycles in sse4,  32763 runs,  5 skips, 3.0x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:34 +01:00
Hendrik Leppkes
a77f453703 lavfi/avcodec: deprecate remainders of the avcodec glue code
Since lavfi works natively with AVFrame now, these functions are no longer
necessary and can be removed in a future bump.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 17:04:36 +01:00
Michael Niedermayer
946cbf04ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_join: do not leak input frames.
  asrc_anullsrc: return EOF, not -1

Conflicts:
	libavfilter/asrc_anullsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:58:41 +01:00
Michael Niedermayer
7fff5781b6 Merge commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b'
* commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b':
  vf_showinfo: remove its useless init function
  AVOptions: fix using named constants with child contexts.

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:38:11 +01:00
Michael Niedermayer
b64077bebe Merge commit '9676b9a2cdc4a90611188fc48d8d388e427997c5'
* commit '9676b9a2cdc4a90611188fc48d8d388e427997c5':
  AVOption: remove an unused function parameter.
  filters.texi: restore mistakenly removed section name for noformat
  avfiltergraph: use sizeof(var) instead of sizeof(type)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:28:27 +01:00
Michael Niedermayer
ecade984ac Merge commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf'
* commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf':
  avfiltergraph: replace AVFilterGraph.filter_count with nb_filters

Conflicts:
	doc/APIchanges
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:09:37 +01:00
Clément Bœsch
3b2b636a2a lavfi: add perms and aperms filters. 2013-03-16 16:04:59 +01:00
Anton Khirnov
4750b05d67 af_join: do not leak input frames. 2013-03-16 05:37:01 +01:00
Anton Khirnov
c2b9bd97f5 asrc_anullsrc: return EOF, not -1 2013-03-16 05:36:46 +01:00
Anton Khirnov
f4281f4571 asrc_anullsrc: do not set samplerate and channel layout explicitly
They are auto-negotiated.
2013-03-16 05:36:35 +01:00
Anton Khirnov
e4a7b2177d vf_showinfo: remove its useless init function
Filter private data is memset to 0 so there is no point in explicitly
initing anything to 0.
2013-03-16 05:36:14 +01:00
Anton Khirnov
dd74e3ef33 avfiltergraph: use sizeof(var) instead of sizeof(type) 2013-03-16 05:34:20 +01:00
Anton Khirnov
42c7c61ab2 avfiltergraph: replace AVFilterGraph.filter_count with nb_filters
This is more consistent with the naming in the rest of Libav.
2013-03-16 05:33:23 +01:00
Anton Khirnov
556aab8f11 lavfi: use designated initializers in avfilter_class 2013-03-16 05:33:06 +01:00
James Darnley
3d751b1ef6 yadif: correct strides in filter_edges_16bit
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 19:10:55 +01:00
Michael Niedermayer
cd5f50a255 avfilter: avoid direct access to AVFrame.channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 16:13:53 +01:00
Michael Niedermayer
0bcea7b575 vf_pp: use new API to access qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Clément Bœsch
1edbeb3532 lavfi/ebur128: check histogram allocations. 2013-03-15 02:58:29 +01:00
Clément Bœsch
db670e5366 lavfi/ebur128: add framelog option. 2013-03-15 02:35:26 +01:00
Nicolas George
7a71544f9d lavfi/graphdump: fix output for unknown layouts. 2013-03-14 20:52:50 +01:00
Clément Bœsch
9ace0dbe41 lavfi/ebur128: use same ref for inputs and outputs.
Fixes Ticket2342.
2013-03-14 18:43:53 +01:00
Clément Bœsch
fe898a037d Revert "lavfi/ebur128: fix format negociation for output."
This reverts commit 9efcfbed9d.

All the shame on me; this commit is actually causing more problems
(broken outputs but also crashes) than it was solving.
2013-03-14 06:25:20 +01:00
Clément Bœsch
9efcfbed9d lavfi/ebur128: fix format negociation for output.
Before this change, the audio input and output formats are set
independently, so the lavfi negociation could pick different settings
for the input and output. This is particularly true for the channel
layout settings, where multiple choices were available.

Fixes Ticket2342.
2013-03-14 01:24:42 +01:00
Clément Bœsch
a95a38793c lavfi/thumbnail: support flushing.
This makes possible the raise of one picture if the input has less than
the number of frames to analyze.

Fixes Ticket1992.
2013-03-14 00:14:19 +01:00
Hendrik Leppkes
ed69c69a01 lavfi/avcodec: fix API version checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:18:02 +01:00
Hendrik Leppkes
3c7f669972 lavfi/avcodec: cleanup includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:14:58 +01:00
James Darnley
0735b50880 yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only).

Changes made in 64ed397 slowed the filter to just under 3/4 of what it
was.  This commit restores the speed while maintaining identical output.

For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:07:25 +01:00
Stefano Sabatini
ae732640ab lavfi/cropdetect: add support for named options 2013-03-13 20:38:54 +01:00
Clément Bœsch
de3e0ab35f lavfi/delogo: remove sscanf and rely on av_opt_set_from_string() only. 2013-03-13 19:00:10 +01:00
Clément Bœsch
e7279638e8 lavfi/thumbnail: remove unecessary poll_frame() callback. 2013-03-13 19:00:10 +01:00
Clément Bœsch
bce2e97a16 lavfi/mptestsrc: raise filter_frame() error. 2013-03-13 19:00:10 +01:00
Clément Bœsch
afa0b90803 lavfi/mandelbrot: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
227a4b63f5 lavfi/life: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
fe6077d902 lavfi/cellauto: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
f32fee570a lavfi/alphamerge: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
05854f5505 lavfi/movie: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
bdbdadbaff lavfi/buffersrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
27ce858c98 lavfi/showspectrum: raise filter_frame() error. 2013-03-13 19:00:09 +01:00