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