Hendrik Leppkes
cb8f70c96e
vf_fps: use double constants for default/min/max for start_time
...
When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.
When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.
This results in an infite loop in various FATE tests on MSVC 2012.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:47 +03:00
Vittorio Giovara
0ce1a7598e
vf_interlace: fix file permissions
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-27 23:50:45 +02:00
Justin Ruggles
545a0b807c
vf_fps: add 'start_time' option
...
This allows for dropping or duplication to match a particular start time.
2013-08-20 14:10:02 -04:00
Anton Khirnov
3799376dd3
lavfi/fifo: fix flushing when using request_samples
...
If any samples are still buffered when request_frame returns EOF, they
won't be returned currently.
2013-08-05 10:52:00 +02:00
Anton Khirnov
77cc958f60
lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()
...
This function should never modify the filter.
2013-08-04 15:46:19 +02:00
Diego Biurrun
7950e519bb
Disable deprecation warnings for cases where a replacement is available
2013-08-02 19:19:02 +02:00
Diego Biurrun
b5a138652f
Give less generic names to global library option arrays
2013-08-02 19:19:02 +02:00
Diego Biurrun
45dd1ae1b3
avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs
2013-07-31 19:23:00 +02:00
Diego Biurrun
0e8c6f221a
avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
...
Also fix some similar typos in comments and documentation.
2013-07-29 20:09:59 +02:00
Diego Biurrun
bf4b0ed1d5
Add missing deprecation attributes
2013-07-27 16:08:49 +02:00
Diego Biurrun
966689442e
buffersink: K&R formatting cosmetics
2013-07-27 10:47:38 +02:00
Hendrik Leppkes
779e6c2b98
lavfi: add attribute_align_arg to all public entry points
...
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.
Instead, add it to all public entry points to avoid these problems.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 19:51:04 +03:00
Vittorio Giovara
6756d98cec
lavfi: filtfmts: use newer avfilter APIs
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:22:30 +03:00
Diego Biurrun
3ac7fa81b2
Consistently use "cpu_flags" as variable/parameter name for CPU flags
2013-07-18 00:31:35 +02:00
Sean McGovern
50612484e0
pthread: Rename thread_init to avoid symbol collision
...
The AIX threads library exposes a function with the same name.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 00:13:31 +03:00
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
Anton Khirnov
7536c67104
vf_yadif: switch to an AVOptions-based system.
2013-04-09 19:09:03 +02:00
Anton Khirnov
b83e9efc53
vf_unsharp: switch to an AVOptions-based system.
2013-04-09 19:08:42 +02:00
Anton Khirnov
0c2466dec7
vf_transpose: switch to an AVOptions-based system.
2013-04-09 19:08:04 +02:00
Anton Khirnov
ffea3b00c3
vf_settb: switch to an AVOptions-based system.
2013-04-09 19:07:44 +02:00
Anton Khirnov
33b97faaba
vf_setpts: switch to an AVOptions-based system.
2013-04-09 19:07:28 +02:00
Anton Khirnov
95f1f56a21
vf_select: switch to an AVOptions-based system.
2013-04-09 19:06:51 +02:00
Anton Khirnov
40c885c589
vf_pad: switch to an AVOptions-based system.
2013-04-09 19:06:29 +02:00
Anton Khirnov
9087eaf193
vf_overlay: switch to an AVOptions-based system.
2013-04-09 19:06:13 +02:00
Anton Khirnov
20b46f8f4f
vf_lut: switch to an AVOptions-based system.
2013-04-09 19:05:32 +02:00
Anton Khirnov
ee0e8d4b15
vf_libopencv: switch to an AVOptions-based system.
2013-04-09 19:05:22 +02:00
Anton Khirnov
8c747d46f7
vf_hqdn3d: switch to an AVOptions-based system.
2013-04-09 19:05:12 +02:00
Anton Khirnov
7ed833d78e
vf_gradfun: switch to an AVOptions-based system.
2013-04-09 19:04:57 +02:00
Anton Khirnov
c334c113d4
vf_scale: switch to an AVOptions-based system.
2013-04-09 19:04:45 +02:00
Anton Khirnov
5aa1a668cf
vf_frei0r: switch to an AVOptions-based system.
2013-04-09 19:04:28 +02:00
Anton Khirnov
f13ab29925
vf_fps: switch to an AVOptions-based system.
2013-04-09 19:04:15 +02:00
Anton Khirnov
a39c154049
vf_fieldorder: switch to an AVOptions-based system.
2013-04-09 19:03:56 +02:00
Anton Khirnov
b9dfee9fa2
vf_fade: switch to an AVOptions-based system.
2013-04-09 19:03:43 +02:00
Anton Khirnov
8ec464c61c
vf_drawtext: switch to an AVOptions-based system.
2013-04-09 19:03:23 +02:00
Anton Khirnov
335c31293b
vf_drawbox: switch to an AVOptions-based system.
2013-04-09 19:03:08 +02:00
Anton Khirnov
63e58c55c1
vf_delogo: switch to an AVOptions-based system.
2013-04-09 19:02:43 +02:00
Anton Khirnov
460e7b4f6d
vf_cropdetect: switch to an AVOptions-based system.
2013-04-09 19:02:32 +02:00
Anton Khirnov
fba0156af7
vf_crop: switch to an AVOptions-based system.
2013-04-09 19:00:54 +02:00
Anton Khirnov
51def31dbe
vf_boxblur: switch to an AVOptions-based system.
2013-04-09 19:00:39 +02:00
Anton Khirnov
62dcdb028c
vf_blackframe: switch to an AVOptions-based system.
2013-04-09 19:00:26 +02:00
Anton Khirnov
2831b307e6
vf_aspect: switch to an AVOptions-based system.
2013-04-09 18:58:30 +02:00
Anton Khirnov
e67a87eac8
vf_(no)format: switch to an AVOptions-based system.
2013-04-09 18:56:39 +02:00
Anton Khirnov
0af7fe1f95
af_aformat: switch to an AVOptions-based system.
2013-04-09 18:55:45 +02:00
Anton Khirnov
d28cb84989
buffersrc: switch to an AVOptions-based system.
2013-04-09 18:48:16 +02:00
Anton Khirnov
4fa1f52e33
af_resample: switch to an AVOptions-based system.
2013-04-09 18:45:50 +02:00
Anton Khirnov
b439c992c2
lavfi: switch to an AVOptions-based system.
2013-04-09 18:45:37 +02:00
Anton Khirnov
6d0546bbaf
avfiltergraph: set deprecated filter_count.
2013-04-04 07:52:32 +02:00
Anton Khirnov
6e3c13a559
avfiltergraph: check for sws opts being non-NULL before using them.
...
Avoid snprintfing a NULL pointer.
CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Clément Bœsch
1ae44c87c9
lavfi/gradfun: remove rounding to match C and SSE code.
...
There is no noticable benefit for such precision.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:29 +01:00
Clément Bœsch
38a2f88d39
lavfi/gradfun: fix dithering in MMX code.
...
Current dithering only uses the first 4 instead of the whole 8 random values.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:18 +01:00
Clément Bœsch
2d66fc543b
lavfi/gradfun: fix rounding in MMX code.
...
Current code divides before increasing precision.
Also reduce upper bound for strength from 255 to 64. This will prevent
an overflow in the SSSE3 and MMX filter_line code: delta is expressed as
an u16 being shifted by 2 to the left. If it overflows, having a
strength not above 64 will make sure that m is set to 0 (making the
m*m*delta >> 14 expression void).
A value above 64 should not make any sense unless gradfun is used as
a blur filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:04 +01:00
Clément Bœsch
8b9a153ef3
lavfi/gradfun: do not increment DC pointer for odd values.
...
First DC is only used once otherwise. This also makes the code
consistent with ASM versions.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:55 +01:00
Jindřich Makovička
20a8ee3061
af_asyncts: fix compensation and PTS monotonicity
...
This patch improves af_asyncts behavior on streams with bogus PTS, which
are either non-monotonic, or contain PTS jitter, and trigger the
non-monotonicity error. With this patch, af_asyncts is able to correct
these streams and avoid the error.
Firstly, it fixes resample compensation calculation by supplying proper
units to avresample_set_compensation (sample count per second instead
of sample count per some arbitrary frame size). Also, the calculation of
the compensation itself is fixed - delta is proportional to an adjustment
of the compensation, not the compensation itself. Ideally, the compensation
should converge to a value that keeps delta at zero.
To be able to deal with sources with PTS jitter even without resampling,
small PTS errors are adjusted, so the output frames do not overlap.
Finally, one more monotonicity check is added.
The FATE reference changes because now there is 8 less samples of
silence because of the pts jitter.
Signed-off-by: Jindřich Makovička <makovick@gmail.com>
2013-03-22 20:09:34 +01:00
Anton Khirnov
6599b087de
buffersrc: fix a typo.
...
Vertical shift is log2_chroma_h, not log2_chroma_w.
2013-03-19 11:12:17 +01:00
Anton Khirnov
c977039e58
lavc, lavfi: fix counting number of planes in AVBufferRef wrappers
...
Number of planes is not always equal to the number of components even
for formats marked with PIX_FMT_PLANAR -- e.g. NV12 has three components
in two planes.
2013-03-19 11:12:17 +01:00
Anton Khirnov
6552808014
lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers
...
It is supposed to be height * linesize, not width * linesize.
Thanks to Hendrik Leppkes for pointing out the bug.
2013-03-17 09:10:04 +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
Loren Merritt
5b3c1aecb2
hqdn3d: Fix out of array read in LOWPASS
...
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:59 +01:00
Anton Khirnov
d0a863ac89
vf_hqdn3d: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Anton Khirnov
887d31d455
vf_gradfun: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:34 +01:00
Xi Wang
5d639b2b4a
vf_pad: fix a & instead of && typo
...
Avoid buffer overflow in buffer_needs_copy()
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-10 11:16:10 +01:00
Anton Khirnov
0651e892e1
Replace remaining includes of audioconvert.h with channel_layout.h
2013-03-08 07:42:13 +01:00
Anton Khirnov
d8b31be6ca
Add the bumps and APIchanges entries for reference counted buffers changes.
2013-03-08 07:41:49 +01:00
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Reimar Döffinger
efa7f42020
Use the avstring.h locale-independent character type functions
...
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Justin Ruggles
9f1223562e
lavfi: connect libavresample options to af_resample via AVFilterGraph
2013-02-23 17:07:54 -05:00
Anton Khirnov
64ed397635
vf_yadif: fix out-of line reads
...
Some changes in the border pixels, visually indistinguishable.
2013-02-15 16:08:33 +01:00
Anton Khirnov
ccd70d9c16
vf_yadif: factorize initializing the filtering callbacks
...
Do it all in config_props().
2013-02-15 16:08:00 +01:00
Anton Khirnov
99162f8d46
vf_yadif: silence a warning.
...
clang says:
libavfilter/vf_yadif.c:192:28: warning: incompatible pointer types assigning to
'void (*)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int)'
from 'void (uint16_t *, uint16_t *, uint16_t *, uint16_t *, int, int, int, int, int)'
2013-02-06 10:21:51 +01:00
Diego Biurrun
e66240f22e
avfilter: x86: consistent filenames for filter optimizations
2013-02-04 15:00:47 +01:00
Diego Biurrun
76d90125cd
vf_hqdn3d: x86: Add proper arch optimization initialization
2013-02-01 13:11:45 +01:00
Anton Khirnov
7194330bcd
vf_delogo: fix copying the input frame.
...
CC:libav-stable@libav.org
2013-01-29 07:33:02 +01:00
Anton Khirnov
f81c37e40f
vf_delogo: fix an uninitialized read.
...
CC:libav-stable@libav.org
2013-01-29 07:32:54 +01:00
Vladimir Pantelic
0b55b16abc
avfilter: allow setpts filter to use wallclock time for calculations
...
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:50:09 +01:00
Justin Ruggles
23098bbd50
vf_fps: add final flushed frames to the dropped frame count
2013-01-15 11:26:46 -05:00
Daniel Kang
67360ccd51
yadif: x86: fix build for compilers without aligned stack
...
Manually load registers to avoid using 8 registers on x86_32 with
compilers that do not align the stack (e.g. MSVC).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 09:51:52 +01:00
Daniel Kang
899157b308
yadif: Port inline assembly to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-09 18:41:02 +01:00
Diego Biurrun
bcb8d9eb8f
Drop unnecessary 'l' length modifier when printfing double values.
...
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
2012-12-31 11:20:45 +01:00
Diego Biurrun
c73c87b412
cosmetics: Prettyprint codec/format/filter registration files
2012-12-28 19:18:13 +01:00
Diego Biurrun
69583bd3b1
avfilter: Refactor unconditional filter registration
2012-12-28 19:18:13 +01:00
Diego Biurrun
5af53731d9
avfilter: Compile FIFO filters unconditionally
...
Building libavfilter without that functionality makes little sense.
2012-12-23 18:57:01 +01:00
Diego Biurrun
69f086e0f9
build: avfilter: Remove duplicate compilation entry for vf_scale
...
vf_scale should not be unconditionally compiled even if disabled.
2012-12-21 00:18:34 +01:00
Justin Ruggles
4e5a8878d5
asyncts: ignore min_delta only if first_pts is set
2012-12-13 18:51:56 -05:00
Justin Ruggles
c0dc57f126
asyncts: merge two conditions
2012-12-13 18:51:56 -05:00
Justin Ruggles
0ee440fe38
asyncts: cosmetics: reindent
2012-12-13 13:02:21 -05:00
Justin Ruggles
c143de40c3
asyncts: fix the asyncts behavior when using the first_pts option
...
Currently it will do padding, but it does not properly handle
start-of-stream trimming as documented.
2012-12-13 13:02:21 -05:00
Justin Ruggles
8083332c2d
asyncts: use clipped delta value when setting resample compensation
...
The max_comp option is supposed to limit maximum compensation, but
currently the clipped value is not actually used.
2012-12-13 13:02:21 -05:00
Justin Ruggles
f266486b2e
asyncts: fix flushing of final samples at EOF
2012-12-13 13:02:21 -05:00
Justin Ruggles
b30a363331
x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
f96f1e06a4
x86: af_volume: add SSE2-optimized s16 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
b384e031da
lavfi: add volume filter
...
Based on the volume filter in FFmpeg written by Stefano Sabatini
<stefasab@gmail.com>.
2012-12-05 11:23:37 -05:00
Anton Khirnov
cb45553f57
Remove pointless #undefs of previously forbidden functions.
2012-12-04 21:40:22 +01:00
Anton Khirnov
4c973de9a5
vf_fieldorder: require write permissions
...
This filter modifies the input frame.
2012-11-28 08:50:24 +01:00
Anton Khirnov
49dd71a6f1
vf_fieldorder: reindent
2012-11-28 08:50:24 +01:00
Anton Khirnov
565e4993c6
lavfi: merge start_frame/draw_slice/end_frame
...
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Anton Khirnov
bb6c67bb36
lavfi: remove vf_slicify
...
The following commit will make it useless.
The crop_scale_vflip FATE test changes because of off-by-one differences
in output when vflipped slices are passed to sws.
2012-11-28 08:44:01 +01:00
Anton Khirnov
af7d13ee4a
asink_nullsink: plug a memory leak.
2012-11-28 08:43:54 +01:00
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Anton Khirnov
b68aac7ea3
vf_drawtext: do not use deprecated av_tree_node_size
2012-11-02 18:28:55 +01:00
Diego Biurrun
d8eda37080
x86: mmx2 ---> mmxext in function names
2012-10-31 17:53:57 +01:00
Diego Biurrun
04581c8c77
x86: yasm: Use complete source path for macro helper %includes
...
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Diego Biurrun
6860b4081d
x86: include x86inc.asm in x86util.asm
...
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Anton Khirnov
20dd41af85
lavfi: add ashowinfo filter
...
It can be useful for debugging.
Based on a patch by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-10-29 21:29:58 +01:00
Mans Rullgard
67a68dcec2
af_channelmap: remove stray enum declaration
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:43 +01:00
Mans Rullgard
6b776c61da
buffersink: remove stray semicolon after function definition
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:27 +01:00
Janne Grunau
285b706b55
avfilter: fix graphparser memleaks on error paths
...
Fixes CID700635, CID700636 and CID732274.
2012-10-25 15:00:15 +02:00
Diego Biurrun
f6c38c5f4e
avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX)
2012-10-12 19:58:51 +02:00
Anton Khirnov
59ee9f78b0
lavfi: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Mans Rullgard
568c70e79e
lavfi: convert input/ouput list compound literals to named objects
...
A number of compilers, for example those from TI and IBM, choke on
these initialisers. The current style is also quite ugly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Janne Grunau
79e6e8eba2
avfilter: correct memcpy size avfilter_copy_buf_props()
...
Does not make a difference in this case since sizeof(uint8_t*) ==
sizeof(uint8_t**). Fixes CID703814.
2012-10-09 21:05:14 +02:00
Janne Grunau
ac9a89562a
af_resample: unref out_buf when avresample_convert returns 0
...
Fixes CID732273.
2012-10-09 18:43:30 +02:00
Janne Grunau
8501c09868
af_amix: prevent memory leak on error path
...
Fixes CID732272.
2012-10-09 16:15:15 +02:00
Janne Grunau
1afd7a118f
af_channelmap: free old extended_data on reallocation
...
Prevents writes to freed memory and the leak of the old extended data.
Fixes CID732303.
2012-10-09 15:41:24 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Justin Ruggles
7b556be673
af_resample: avoid conversion of identical sample formats for 1 channel
...
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Diego Biurrun
e4cbf7529b
Give all anonymously typedeffed structs in headers a name
...
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Anton Khirnov
ba04177eeb
vf_pad/scale: use double precision for aspect ratios.
...
Fixes Bug 203.
CC:libav-stable@libav.org
2012-10-06 07:27:53 +02:00
Anton Khirnov
e7ba5b1de0
lavr: change the type of the data buffers to uint8_t**.
...
This is more consistent with what the rest of Libav does.
This breaks API.
2012-10-05 13:49:44 +02:00
Anton Khirnov
4673a5a761
vf_overlay: properly sync inputs.
...
Right now it incorrectly assumes that the frames are sent in the proper
order, which worked with old ffmpeg and avconv versions by accident.
2012-10-04 10:23:25 +02:00
Anton Khirnov
ab35ec29a4
vf_overlay: get rid of pointless messing with timebase.
...
Output frames correspond 1:1 to input frames on the main input.
So use the main input timebase for output.
2012-10-04 10:21:58 +02:00
Anton Khirnov
11d1ca4b2c
Use avcodec_free_frame() to free AVFrames.
2012-09-24 12:31:25 +02:00
Anton Khirnov
e3496e5dbe
avfiltergraph: silence an uninitialized variable warning
...
The warning is:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:528:9: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
libavfilter/avfiltergraph.c:479:13: note: ‘best_idx’ was declared here
Initialize it to an invalid value and add an assert that it's properly
set later.
2012-09-17 15:48:20 +02:00
Anton Khirnov
4e48aa8656
buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
2012-09-17 15:48:20 +02:00
Mans Rullgard
1fce361d70
lavfi: replace empty input/output lists with null pointers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 14:35:06 +01:00
Luca Barbato
28165fee1b
yadif: cosmetics
2012-09-09 15:31:18 +02:00
Anton Khirnov
91a84a5247
af_asyncts: check return value from lavr when flushing.
...
Fixes an infinite loop on flush when avresample_get_delay() still
reports some samples but avresample_convert() doesn't return any data.
2012-09-07 09:06:48 +02:00
Martin Storsjö
21bc440384
avopt: Explicitly store rational option defaults in .dbl
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:55 +03:00
Martin Storsjö
c7b610aa0b
avopt: Explicitly store float/double option defaults in .dbl
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:51 +03:00
Martin Storsjö
e6153f173a
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5
avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Martin Storsjö
235f74db59
Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 23:27:21 +02:00
Diego Biurrun
17337f54c0
x86: Split inline and external assembly #ifdefs
2012-08-31 01:53:25 +02:00
Diego Biurrun
cdaec0b240
avfilter: x86: Use more precise compile template names
2012-08-30 18:51:51 +02:00
Martin Storsjö
b441a4517b
vf_hqdn3d: Remove a duplicate inline declaration
...
Compilation seems to fail on GCC 3.4 due to this duplicate
declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 16:40:59 +03:00
Martin Storsjö
2bd67175c7
vf_hqdn3d: Don't declare the loop variable within the for loop
...
This C99 feature is generally not used in the libav codebase,
since it breaks building with some fringe compilers (GCC 2.95,
MSVC).
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 15:29:39 +03:00
Loren Merritt
7a1944b907
vf_hqdn3d: x86 asm
...
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
2012-08-26 10:49:14 +00:00
Loren Merritt
566858a770
vf_hqdn3d: support 16bit colordepth
2012-08-26 10:49:14 +00:00
Anton Khirnov
4d7adec8bd
AVOptions: store defaults for INT64 options in int64 union member.
...
Double does not have enough precision to represent all int64 numbers
exactly.
2012-08-24 11:25:06 +02:00
Martin Storsjö
7ebe3962f3
Add missing includes for code relying on external libraries
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 16:47:02 +03:00
Martin Storsjö
33e112847d
Add more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 10:49:54 +03:00
Martin Storsjö
70766c2182
Add some more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 23:48:48 +03:00
Martin Storsjö
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Mans Rullgard
480178a295
x86: yadif: fix asm with suncc
...
Under some circumstances, suncc will use a single register for the
address of all memory operands, inserting lea instructions loading
the correct address prior to each memory operand being used in the
code. In the yadif code, the branch in the asm block bypasses such
an lea instruction, causing an incorrect address to be used in the
following load.
This patch replaces the tmpX arrays with a single array and uses a
register operand to hold its address. Although this prevents using
offsets from the stack pointer to access these locations, the code
still builds as 32-bit PIC even with old compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Diego Biurrun
804d7a1aa6
doxygen: Fix function parameter names to match the code
2012-08-09 20:05:55 +02:00