Michael Niedermayer
bec509db43
vf_interlace: better handling of odd video size
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-12 11:40:56 +03:00
Anton Khirnov
eeeb5c291d
vsrc_movie: do not free avoption variables in uninit()
...
The generic code frees them as well. Since av_free was used to free them
instead of av_freep, this would result in a double free.
2013-06-20 13:27:14 +02:00
Anton Khirnov
c9c7bc4493
lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()
...
This simplifies the code and avoids using libavcodec-specific
avcodec_fill_audio_frame().
2013-06-18 11:21:16 +02:00
Vittorio Giovara
cd0faeee62
lavfi: math typo in interlace filter
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-17 12:25:43 +02:00
Anton Khirnov
8b7dffc2d6
lavfi doxy: improve/extend AVFilter doxy.
2013-06-04 17:18:33 +02:00
Anton Khirnov
8a994b7406
vf_fade: support slice threading
2013-05-24 09:33:05 +02:00
Anton Khirnov
cb79881b49
vf_yadif: support slice threading
2013-05-24 09:32:07 +02:00
Anton Khirnov
129bb23843
lavfi: add a slice threading infrastructure
...
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Anton Khirnov
7e2b15c094
avfilter: check a malloc in avfilter_link().
...
Additionally change sizeof(type) into sizeof(var)
2013-05-17 20:32:27 +02:00
Anton Khirnov
bf5b5d2b15
avfilter.c: cosmetics, reformat
2013-05-17 20:32:18 +02:00
Anton Khirnov
d79bd60405
lavfi: factorize freeing a link
2013-05-17 20:30:25 +02:00
Anton Khirnov
1dd3561143
vf_format: do not use the AVFilterFormats internals.
...
Use the formats.h API instead.
2013-05-17 20:30:17 +02:00
Anton Khirnov
c5ab6088ad
af_aformat: cosmetics, fix indentation
2013-05-17 20:30:02 +02:00
Anton Khirnov
b01f6041f4
lavfi: rename AVFilterFormats.format_count to nb_formats
...
This is more consistent with naming in the rest of Libav.
2013-05-17 20:29:50 +02:00
Anton Khirnov
bc8c1cdc7b
lavfi doxy: add a page for lavfi.
2013-05-17 20:26:11 +02:00
Anton Khirnov
16a645adeb
vf_pixdesctest: make config_props work properly when called multiple times.
2013-05-17 07:44:23 +02:00
Anton Khirnov
3ba35a346c
vf_hqdn3d: make config_props work properly when called multiple times.
...
Do not leak all the temp buffers.
2013-05-17 07:44:12 +02:00
Anton Khirnov
3fb29588a2
vf_drawtext: don't leak the expressions.
2013-05-17 07:44:04 +02:00
Anton Khirnov
6592cd22a2
vf_crop: make config_props work properly when called multiple times.
...
Do not leak the x/y expressions.
2013-05-17 07:43:57 +02:00
Anton Khirnov
d5c66d9c56
vf_setdar: make config_props work properly when called multiple times.
...
Do not overwrite the variable set through AVOptions.
2013-05-17 07:43:44 +02:00
Anton Khirnov
4c205f42c8
vf_drawbox: make config_props work properly when called multiple times.
...
Do not overwrite the variables set through AVOptions.
2013-05-17 07:43:17 +02:00
Anton Khirnov
90d9a2a04c
vf_drawtext: do not reset the frame number in config_input.
...
Frame number should be incremented normally even if the link properties
change.
2013-05-17 07:43:07 +02:00
Anton Khirnov
7727be79d1
vf_fps: move initializing pts from config_props to init.
...
It should not be reinitialized if the link properties change.
2013-05-17 07:42:55 +02:00
Anton Khirnov
d371c3c2e2
vf_frei0r: make config_props work properly when called multiple times.
...
Do not leak the initialized filter instance.
2013-05-17 07:42:46 +02:00
Anton Khirnov
87c31cfd7a
vf_gradfun: make config_props work properly when called multiple times.
2013-05-17 07:42:39 +02:00
Anton Khirnov
b06848f4de
vf_lut: make config_props work properly when called multiple times.
...
Do not leak the expressions.
2013-05-17 07:42:28 +02:00
Anton Khirnov
3062ac4c47
vf_pad: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:36:10 +02:00
Anton Khirnov
a70519aad1
vf_overlay: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:36:04 +02:00
Anton Khirnov
8d2565c28b
vf_lut: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:35:59 +02:00
Anton Khirnov
4753f802c0
vf_libopencv: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:35:53 +02:00
Anton Khirnov
56e4ce0d13
vf_hqdn3d: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:35:48 +02:00
Anton Khirnov
7af5ae2d07
vf_hflip: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:33:38 +02:00
Anton Khirnov
05fab5530b
vf_gradfun: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:33:29 +02:00
Anton Khirnov
f6b6d6ac42
vf_frei0r: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:33:23 +02:00
Anton Khirnov
cbec213a90
vf_format: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:33:17 +02:00
Anton Khirnov
d64cf54b34
vf_fieldorder: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:33:07 +02:00
Anton Khirnov
9bbf6c681a
vf_fieldorder: cosmetics, remove an extra linebreak
2013-05-16 07:32:49 +02:00
Anton Khirnov
c0279956b3
vf_fade: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:32:43 +02:00
Anton Khirnov
d3735f7ad6
vf_drawtext: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:32:34 +02:00
Anton Khirnov
20e2794eea
vf_drawbox: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:32:27 +02:00
Anton Khirnov
ba09675f44
vf_delogo: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:31:57 +02:00
Anton Khirnov
e16e23d70e
vf_cropdetect: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:31:50 +02:00
Anton Khirnov
671563d9fd
vf_crop: cosmetics, break lines
2013-05-16 07:31:31 +02:00
Anton Khirnov
7f83959598
vf_crop: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:31:11 +02:00
Anton Khirnov
762df56ef9
vf_boxblur: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:30:56 +02:00
Anton Khirnov
a2a696990c
vf_blackframe: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:30:41 +02:00
Anton Khirnov
b3ea76624a
vf_aspect: use the name 's' for the pointer to the private context
...
This is shorter and consistent across filters.
2013-05-16 07:30:28 +02:00
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
2013-05-16 00:23:30 +02:00
Anton Khirnov
e6c4ac7b5f
pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*
2013-05-15 07:46:51 +02:00
Anton Khirnov
ffba2053ed
lavfi: fix compatibility code for old vf_scale options syntax
...
Currently it would incorrectly trigger on a string that contains a '='
but does not contain a ':', e.g. flags=<flags>.
2013-05-15 07:46:04 +02:00
Anton Khirnov
096696ef0d
avfiltergraph: simplify inserting conversion filters.
...
There is now no need to explicitly pass 0:0 as width/height to scale,
those are the defaults.
2013-05-15 07:45:51 +02:00
James Darnley
d10499a32a
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: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:24:13 +02:00
James Darnley
b0ef0ae776
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: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:23:55 +02:00
Anton Khirnov
16a4a18db0
af_asyncts: fix offset calculation
...
delta is in samples, not bytes. Also the sample format is not guaranteed
to be planar.
CC:libav-stable@libav.org
2013-05-10 09:31:27 +02:00
Diego Biurrun
6e9f8d6a7d
x86: vf_yadif: Remove stray dsputil_mmx #include
2013-05-08 18:18:23 +02:00
Janne Grunau
5f87c277bd
vf_scale: add endianness conversion pixel format in query_formats
2013-05-06 21:48:15 +02:00
Hendrik Leppkes
20c86571cc
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: Martin Storsjö <martin@martin.st>
2013-05-04 23:40:13 +03:00
Diego Biurrun
093804a93c
avfilter: Add av_cold attributes to init/uninit functions
2013-05-04 21:10:05 +02:00
Anton Khirnov
a1e05b0487
lavfi: add trim and atrim filters.
2013-04-30 11:24:57 +02:00
Anton Khirnov
b472938233
lavfi: add an asetpts filter
2013-04-30 11:17:57 +02:00
Anton Khirnov
2548834b22
vf_setpts: cosmetics, reformat
2013-04-30 11:17:23 +02:00
Anton Khirnov
c22263d3e8
graphparser: only print filter arguments if they are non-NULL
2013-04-30 11:16:57 +02:00
Anton Khirnov
8aaab1113c
af_channelmap: ensure the output channel layout is valid.
2013-04-30 11:16:37 +02:00
Anton Khirnov
949c603ed9
af_channelmap: remove now unnecessary goto
...
Options are freed from the generic code now, there is no need to call
av_opt_free() from the filter.
2013-04-30 11:16:22 +02:00
Anton Khirnov
1012155722
vf_split: fix description
...
It now allows an arbitrary number of inputs, not just two.
2013-04-30 11:16:16 +02:00
Diego Biurrun
c1ad70c3cb
x86: Move some conditional code around to avoid unused variable warnings
2013-04-22 17:50:02 +02:00
Anton Khirnov
9bfc6e02ba
afifo: fix request_samples on the last frame in certain cases
...
The current code can fail to return the last frame if it contains
exactly the requested number of samples.
Fixes the join filter test, which previously did not include the last
408 samples in most cases.
CC:libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 02:29:56 +02:00
Anton Khirnov
c0771a1ac6
af_channelmap: cosmetics, use an extra local variable to shorten the code
2013-04-17 08:37:59 +02:00
Anton Khirnov
aafed1175d
af_channelmap: sanity check input channel indices in all cases.
...
Fixes invalid reads from non-existing channels.
CC:libav-stable@libav.org
2013-04-17 08:37:59 +02:00
Vittorio Giovara
3fce136798
lavfi: new interlace filter
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:07 +02:00
Anton Khirnov
f160c6a18a
lavfi: do not segfault on NULL passed to avfilter_get_by_name()
2013-04-11 20:44:35 +02:00
Anton Khirnov
fa2a34cd40
lavfi: change the filter registering system to match the other libraries
...
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov
7e8fe4be5f
lavfi: add a function for counting elements in AVFilterPad arrays.
...
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov
7cdd737ba8
lavfi: mark filters with dynamic number of inputs or outputs with special flags
...
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Anton Khirnov
1ba95a9cca
lavfi: add avfilter_init_dict() for initializing a filter with a dict.
2013-04-11 20:40:20 +02:00
Anton Khirnov
48a5adab62
lavfi: add avfilter_init_str() to replace avfilter_init_filter().
...
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov
1565cbc65c
lavfi: make avfilter_free() remove the filter from its graph.
2013-04-11 20:38:48 +02:00
Anton Khirnov
111367263a
lavfi: add AVFilterContext.graph.
...
It will be useful in the following commits.
2013-04-11 20:38:23 +02:00
Anton Khirnov
c2c9801bc9
lavfi: deprecate avfilter_graph_add_filter().
...
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
2013-04-11 20:36:42 +02:00
Anton Khirnov
bc1a985ba0
lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
...
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov
38f0c0781a
lavfi: merge avfiltergraph.h into avfilter.h
...
We do not support using filters without AVFilterGraph in practice
anyway, so there is no point in pretending we do.
2013-04-11 20:33:33 +02:00
Anton Khirnov
4a37d4b3f8
lavfi: add const to the pads parameter of avfilter_pad_get_name/type
2013-04-11 20:33:23 +02:00
Anton Khirnov
91d2efa7d6
lavfi: add const to AVFilterContext.filter.
...
lavfi should never modify the filter through that pointer.
2013-04-11 20:32:39 +02:00
Anton Khirnov
837112c0c8
af_channelmap: fix uninitialized variable use introduced in ba8efac977
2013-04-09 22:01:34 +02:00
Anton Khirnov
cdac3acb11
lavfi: add a bump and docs entries for the AVOptions switch
2013-04-09 19:13:27 +02:00
Anton Khirnov
8114c10160
lavfi: add avfilter_get_class().
...
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov
4d1f31ea44
lavfi: make AVFilterContext export filter options.
2013-04-09 19:13:10 +02:00
Anton Khirnov
62549f9655
lavfi: error out when options are provided to a filter that does not take any
2013-04-09 19:12:59 +02:00
Anton Khirnov
c43a7ecad9
lavfi: remove now unused args parameter from AVFilter.init
2013-04-09 19:12:38 +02:00
Anton Khirnov
7b3eb745b9
vsrc_testsrc: switch to an AVOptions-based system.
2013-04-09 19:12:06 +02:00
Anton Khirnov
a42d6e6c4c
vsrc_movie: switch to an AVOptions-based system.
2013-04-09 19:11:27 +02:00
Anton Khirnov
b7b3302f8f
vsrc_nullsrc: switch to an AVOptions-based system.
2013-04-09 19:11:12 +02:00
Anton Khirnov
7bc1a883c9
vsrc_color: switch to an AVOptions-based system.
2013-04-09 19:11:03 +02:00
Anton Khirnov
73d5d405d4
split: switch to an AVOptions-based system.
2013-04-09 19:10:41 +02:00
Anton Khirnov
b13623e184
af_volume: switch to an AVOptions-based system.
2013-04-09 19:10:27 +02:00
Anton Khirnov
dd7fc37c71
af_join: switch to an AVOptions-based system.
...
Change the mappings separator from comma to '|' to avoid excessive
escaping, since comma is already used for separating filters in the
filtergraph description.
2013-04-09 19:10:12 +02:00
Anton Khirnov
3f14febbdf
af_channelsplit: switch to an AVOptions-based system.
2013-04-09 19:10:00 +02:00
Anton Khirnov
ba8efac977
af_channelmap: switch to an AVOptions-based system.
2013-04-09 19:09:40 +02:00
Anton Khirnov
b2b25b0659
af_asyncts: switch to an AVOptions-based system.
2013-04-09 19:09:33 +02:00
Anton Khirnov
ac20e3ab8e
af_amix: switch to an AVOptions-based system.
2013-04-09 19:09:26 +02:00