Nicolas George
c619a4e525
lavfi: make two functions static.
...
ff_request_frame_to_filter() and ff_filter_frame_to_filter()
are only used in avfilter.c.
2017-01-12 14:06:16 +01:00
Nicolas George
ae4650f0b9
lavfi: disallow ff_request_frame for filters using activate.
...
Having two different functions allows to have stricter tests
and detect errors earlier.
2017-01-12 14:06:16 +01:00
Nicolas George
9eb4c79afd
lavfi: add ff_inlink_request_frame().
2017-01-12 14:06:16 +01:00
Nicolas George
d3cb140433
lavfi: move ff_update_link_current_pts() into the utility functions.
...
It does not change anything for the existing filters and makes
better code fatrorization when future code will use the utility
functions.
2017-01-12 14:06:16 +01:00
Nicolas George
7910127a8e
lavfi: cosmetic: remove forward declaration.
2017-01-12 14:06:16 +01:00
Nicolas George
3ff01feda3
lavfi: add AVFilter.activate.
2017-01-12 14:06:16 +01:00
Nicolas George
db4a71c0ff
lavfi: use the consume helpers in ff_filter_frame_to_filter().
2017-01-12 14:06:16 +01:00
Nicolas George
d360ddf03b
lavfi: add helpers to consume frames from link FIFOs.
2017-01-12 14:06:16 +01:00
Nicolas George
2e5af443c3
lavfi: pass min explicitly to samples_ready().
2017-01-12 14:06:16 +01:00
Nicolas George
e7e4c8dfbe
lavfi: add ff_inlink_evaluate_timeline_at_frame().
2017-01-12 14:06:16 +01:00
Nicolas George
0e3d2496e2
lavfi: add ff_inlink_process_commands().
2017-01-12 14:06:16 +01:00
Nicolas George
846f142134
lavfi: merge two variables after a recent commit.
2017-01-12 14:06:16 +01:00
Nicolas George
28c62df672
lavfi: implement ff_inlink_make_frame_writable().
...
Unlike av_frame_is_writable(), it uses the link's alloc callback,
making direct rendering possible.
The code comes from ff_filter_frame_framed(), moved with mostly
trivial changes.
2017-01-12 14:06:16 +01:00
Nicolas George
918891e146
lavfi: export ff_filter_set_ready() to the library.
2017-01-12 14:06:16 +01:00
Nicolas George
4c24f3ac16
lavfi: add ff_inlink_acknowledge_status().
...
Also introduce libavfilter/filters.h for all functions needed
to implement filters.
2017-01-12 14:06:16 +01:00
Nicolas George
485617ea0f
lavfi: document that AVFilterLink is not for applications.
2017-01-12 14:06:16 +01:00
Nicolas George
e9ecada1d4
lavfi/tests/filtfmts: include internal.h.
2017-01-12 14:06:16 +01:00
Nicolas George
dbe9dbed31
lavfi/buffersink: add accessors for the stream properties.
...
av_buffersink_get_frame_rate() did already exist; its argument becomes const.
2017-01-12 14:06:16 +01:00
Nicolas George
0b66c456f9
lavfi, ffmpeg: simplify filter names.
...
The names are only used for technical output and debugging.
Make them similar to C identifiers for easier quick reading
of debug dumps.
2017-01-12 14:06:16 +01:00
Matthieu Bouron
e1f4971209
lavfi: use an audio frame pool for each link of the filtergraph
2017-01-12 10:22:52 +01:00
Matthieu Bouron
b1ed7957b8
lavfi/framepool: cosmetic style fixes
2017-01-12 10:22:52 +01:00
Matthieu Bouron
e2d336cf64
lavfi/framepool: re-indent after previous commit
2017-01-12 10:22:52 +01:00
Matthieu Bouron
eb3368178e
lavfi/framepool: add audio support
2017-01-12 10:22:52 +01:00
Matthieu Bouron
b1f68f00b1
lavfi/framepool: rename FFVideoFramePool to FFFramePool
2017-01-12 10:22:52 +01:00
Steven Liu
184c13f64a
avfilter/vf_libopencv: fix resource leak in read_shape_frame_filter
...
CID: 1324298
add a label when error goto the label to release resource
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-01-11 09:59:55 +08:00
Paul B Mahol
7aef56864c
avfilter/af_sofalizer: speed and clean up fast convolution a little
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-09 18:38:25 +01:00
Paul B Mahol
0ddc24d232
avfilter/af_dynaudnorm: fix hang with too short input
...
The only thing we can do at such point is return samples unchanged.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-08 20:42:17 +01:00
Clément Bœsch
27627c281e
lavfi/selectivecolor: add a link to algorithm explanations
2017-01-07 14:25:57 +01:00
Michael Niedermayer
bc6b53ae99
avfilter/asrc_flite: Fix textbuf leak
...
Fixes CID1244189
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-06 16:26:05 +01:00
Paul B Mahol
520c0736fd
avfilter/vf_shuffleframes: allow also dropping frames
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-06 12:27:46 +01:00
Paul B Mahol
72d6101510
avfilter/avf_aphasemeter: fix memleaks
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-01-04 13:15:19 +01:00
Michael Niedermayer
3d8a8fd27e
avfilter/vf_pad: Fix segfault if reconfiguration fails
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-02 18:42:31 +01:00
Clément Bœsch
771b3a956e
lavfi/selectivecolor: rename adjust_range to scale
...
This variable corresponds to the final scale of the adjustement for a
given color range.
2016-12-31 13:01:04 +01:00
Michael Niedermayer
ffc3337e0b
avfilter/vf_pad: Add eval=frame support
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-30 02:29:19 +01:00
Paul B Mahol
49abd5dbb8
avfilter/avf_aphasemeter: make video output optional
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-28 17:03:57 +01:00
Clément Bœsch
afaaf8db18
lavfi/selectivecolor: simplify crazy mid val computations
2016-12-27 23:56:23 +01:00
Clément Bœsch
571a360157
lavfi/transpose: add missing const options flags
...
Fixes ffmpeg -h filter=transpose
2016-12-27 23:49:44 +01:00
Marton Balint
0db48ee425
avfilter/af_amerge: properly handle unknown input layouts
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-25 21:10:03 +01:00
Paul B Mahol
c6c888e996
avfilter/vf_w3fdif: add >8 but <16 bit support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-25 09:50:36 +01:00
Nicolas George
0ff5567a30
lavfi/buffersrc: push the frame deeper if requested.
...
Reduce peak memory consumption with ffmpeg in certain cases.
2016-12-24 13:18:03 +01:00
Nicolas George
3b64e3ea45
lavf/framesync: detect EOF immediately.
...
Fix an infinite loop in forward_status_change().
2016-12-24 13:18:02 +01:00
James Almer
e1b8271949
avfilter/framequeue: add missing check for ASSERT_LEVEL
...
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-24 01:56:24 -03:00
Paul B Mahol
9b26bf7e2a
avfilter/vf_deband: do not use uninitialized value
...
Fixes coverity report.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-23 18:53:20 +01:00
Nicolas George
373f21a911
lavfi: avfilter_graph_request_oldest: request a frame again before returning.
...
With min_samples, if a frame arrives but is too small, it clears
frame_wanted_out. In most cases, the destination filter would be
activated again later because of frame_wanted_out on its own
outputs, but not sinks.
avfilter_graph_request_oldest() is doing the work of the sink
itself, and is therefore allowed to use frame_blocked_in.
2016-12-23 15:21:43 +01:00
Nicolas George
8156b5ac94
avfilter/af_amerge: detect EOF immediately
...
Fix an infinite loop in forward_status_change().
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-23 03:47:43 +01:00
Paul B Mahol
fdcb7a85cf
avfilter/vf_deband: add planes coupling mode
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-22 21:51:44 +01:00
Nicolas George
ff8b17c998
lavfi: take_samples: free frames after taking all samples.
2016-12-22 10:35:48 +01:00
Paul B Mahol
9933579a9b
avfilter/vf_psnr: add gray10 and gray12 support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-21 21:37:22 +01:00
Nicolas George
bec8ea20c8
lavfi/framequeue: avoid empty structs.
...
Fix compilation on MSVC.
2016-12-20 09:37:25 +01:00
Pavel Koshevoy
4240e5b047
lavfi/atempo: avoid false triggering an assertion failure
...
Steps to reproduce:
./ffmpeg_g -f s16be -i /dev/null -af atempo=0.5 -y /tmp/atempo.wav
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-19 21:59:13 +01:00
Nicolas George
02aa0701ae
lavfi: make filter_frame non-recursive.
...
A lot of changes happen at the same time:
- Add a framequeue fifo to AVFilterLink.
- split AVFilterLink.status into status_in and status_out: requires
changes to the few filters and programs that use it directly
(f_interleave, split, filtfmts).
- Add a field ready to AVFilterContext, marking when the filter is ready
and its activation priority.
- Add flags to mark blocked links.
- Change ff_filter_frame() to enqueue the frame.
- Change all filtering functions to update the ready field and the
blocked flags.
- Update ff_filter_graph_run_once() to use the ready field.
- buffersrc: always push the frame immediately.
2016-12-18 10:38:52 +01:00
Nicolas George
62b11db0a0
lavfi: add FFFrameQueue API.
2016-12-18 10:38:52 +01:00
Paul B Mahol
334fad3645
avfilter/vf_ssim: add >8 bit depth suppport
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-17 16:33:16 +01:00
Paul B Mahol
745f4bcc2c
avfilter/vsrc_testsrc: draw_bar: make sure width is not negative
...
Reported-by: Josh de Kock
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-15 16:03:48 +01:00
Paul B Mahol
458fbee221
avfilter/af_sofalizer: warn if user gives unknown channel names
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-14 22:47:38 +01:00
Marton Balint
265d45183b
avfilter/avfilter: fix filtering frames with unknown channel layouts for filters needing writable frames
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-13 09:57:10 +01:00
Marton Balint
df694a5e9d
avfilter/af_ashowinfo: properly show input channel layout for unknown channel layouts
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-10 11:57:12 +01:00
Marton Balint
01a19f77ca
avfilter/af_channelmap: add support for unknown input channel layouts
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-10 11:57:11 +01:00
Marton Balint
bffc2bcd75
avfilter/af_atempo: add support for unknown channel layouts
...
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-10 11:57:11 +01:00
Marton Balint
7ceb9e6b11
avfilter/formats: allow unknown channel layouts by default
...
Since the default in the libav fork is to only allow known layouts, making
unknown layouts allowed by default here can be a security risk for filters
directly merged from libav. However, usually it is simple to detect such cases,
use of av_get_channel_layout_nb_channels is a good indicator, so I suggest we
change this regardless.
See http://ffmpeg.org/pipermail/ffmpeg-devel/2016-November/203204.html .
This patch indirectly adds unknown channel layout support for filters where
query_formats is not specified:
abench
afifo
ainterleave
anullsink
apad
aperms
arealtime
aselect
asendcmd
asetnsamples
asetpts
asettb
ashowinfo
azmq
It introduces a query_formats callback for the asyncts filter, which only
supports known channel layouts since it is using libavresample.
And it removes .query_formats callback from filters where it was only there to
support unknown layouts, as this is now the default:
aloop
ametadata
anull
asidedata
asplit
atrim
Acked-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-12-10 11:57:11 +01:00
Paul B Mahol
a251149833
avfilter/vf_deband: fix silly mistakes
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-08 21:29:58 +01:00
Srinath K R
4df5a6a26a
avfilter/vf_hwupload_cuda: Add min/max limits for the 'device' option
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-12-08 11:11:26 +01:00
Michael Niedermayer
7d1b1b660b
avfilter/vf_premultiply: remove redundant semicolons
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-02 19:37:00 +01:00
Paul B Mahol
6e713841e8
avfilter: add premultiply filter
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-01 22:12:21 +01:00
Carl Eugen Hoyos
d44af9a38e
lavfi: Fix aix compilation.
...
Rename hz in af_apulsator.c and avf_showspectrum.c as hertz.
The aix header sys/m_param.h defines hz as __hz.
2016-12-01 09:53:38 +01:00
Timo Rothenpieler
7dafb3a25a
avfilter/vf_hwupload_cuda: fix potential leak
2016-11-30 12:36:23 +01:00
Timo Rothenpieler
88281a5256
avfilter/vf_scale_npp: check ff_set_common_formats return value
2016-11-30 12:36:23 +01:00
Miroslav Slugeň
1d056dd855
avfilter/vf_scale_npp: move aspect ratio correction after av_frame_copy_props
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-11-30 12:36:23 +01:00
Paul B Mahol
9e9c2276c3
avfilter/vf_masked*: add gray10 and gray12 support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-29 16:50:38 +01:00
Paul B Mahol
c9dcd25288
avfilter/vf_bitplanenoise: add gray10 and gray12 suppport
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-29 16:32:33 +01:00
Paul B Mahol
46752d6b12
avfilter/vf_extractplanes: add extract support for 10bit and 12bit formats
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-29 14:50:28 +01:00
Paul B Mahol
57ef0f0f17
avfilter/vf_waveform: add gray10 and gray12 support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-29 11:34:48 +01:00
Vittorio Giovara
afb84857bf
vf_colorspace: Forbid odd dimensions
...
This prevents writing past bounds.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-11-28 11:24:09 -05:00
Clément Bœsch
5d7be07a8b
lavfi/f_ebur128: relicense to LGPL
...
All copyright holders have agreed to the relicensing.
Approved-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Approved-by: David Sedacca <sedacca@comcast.net>
Approved-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Approved-by: Jean First <jeanfirst@gmail.com>
Approved-by: Kyle Swanson <k@ylo.ph>
Approved-by: Michael Niedermayer <michael@niedermayer.cc>
Approved-by: Nicolas George <george@nsup.org>
Approved-by: Paul B Mahol <onemda@gmail.com>
Approved-by: Thilo Borgmann <thilo.borgmann@mail.de>
2016-11-27 20:46:20 +01:00
Paul B Mahol
4719e563a4
avfilter/vf_zscale: export approximate gamma option and enable it by default
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-27 11:43:54 +01:00
Wan-Teh Chang
dceac9a4a7
avfilter/tests/.gitignore: add integral
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-24 21:10:37 +01:00
Moritz Barsnick
0700d02a69
lavfi/pan: allow negative gain parameters also for other inputs than the first named
...
Expands the parser to also accept the separator '-' in addition to
'+', and take the negative sign into consideration.
The optional sign for the first factor in the expression is already
covered by parsing for an integer.
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-24 00:54:52 +01:00
Paul B Mahol
b96a6e2024
avfilter/vf_zscale: add support for some recent new additions
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-23 19:02:20 +01:00
Timo Rothenpieler
0faf3c3a25
avfilter/vf_hwupload_cuda: check ff_formats_ref for errors
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
b0ca90d7cb
avfilter/vf_hwupload_cuda: use new hwdevice allocation API
2016-11-22 10:34:27 +01:00
Timo Rothenpieler
a0c9e76942
avfilter/vf_scale_npp: use dynamically loaded CUDA
2016-11-22 10:34:27 +01:00
Kyle Swanson
83b6b434ff
lavfi/ebur128: use ff_ prefix
...
Signed-off-by: Kyle Swanson <k@ylo.ph>
2016-11-13 19:11:07 -06:00
Hendrik Leppkes
1f8e1c209d
Merge commit 'c3f113d58488df7594a489bdbb993a69ad47063c'
...
* commit 'c3f113d58488df7594a489bdbb993a69ad47063c':
vf_hwdownload: allocate the destination frame for the pool size
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-13 22:35:57 +01:00
Mark Thompson
1a359e5341
vf_scale_vaapi: Respect driver quirks around buffer destruction
...
(cherry picked from commit 582d4211e0
)
2016-11-13 20:39:48 +00:00
Nicolas George
183ce55b0d
lavfi: split frame_count between input and output.
...
AVFilterLink.frame_count is supposed to count the number of frames
that were passed on the link, but with min_samples, that number is
not always the same for the source and destination filters.
With the addition of a FIFO on the link, the difference will become
more significant.
Split the variable in two: frame_count_in counts the number of
frames that entered the link, frame_count_out counts the number
of frames that were sent to the destination filter.
2016-11-13 10:41:16 +01:00
Marton Balint
0f8b852a64
lavfi/ebur128: specify scaling_factor directly
...
This should fix build with Solaris CC.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-11-13 03:11:16 +01:00
Marton Balint
005d058f42
lavfi/loudnorm: add an internal libebur128 library
...
Also contains the following changes to the library:
- add ff_ prefix to functions
- remove cplusplus defines.
- add FF_ prefix to contants and some structs
- remove true peak calculation feature, since it uses its own resampler, and
af_loudnorm does not need it.
- remove version info and some fprintf(stderr) functions
- convert to use av_malloc
- always use histogram mode for LRA calculation, otherwise LRA data is slowly
consuming memory making af_loudnorm unfit for 24/7 operation. It also uses a
BSD style linked list implementation which is probably not available on all
platforms. So let's just remove the classic mode which not uses histogram.
- add ff_thread_once for calculating static histogram tables
- convert some functions to void which cannot fail
- remove intrinsics and some unused headers
- add support for planar audio
- remove channel / sample rate changer function, in ffmpeg usually we simply
alloc a new context
- convert some static variables to defines
- declare static histogram variables as aligned
- convert some initalizations to mallocz
- add window size parameter to init function and remove window size setter
function
- convert return codes to AVERROR
- fix indentation
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-11-11 19:37:54 +01:00
Alex Agranovsky
88db6c2890
avfilter/vf_drawtext: fixed default/flt formatting ignoring offset parameter
...
Signed-off-by: Alex Agranovsky <alex@sighthound.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-06 23:02:38 +01:00
Michael Niedermayer
0e66dcd733
avfilter/af_volumedetect: Remove dependency on channel layout
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-06 16:59:20 +01:00
Muhammad Faiz
b4e9252ae3
avfilter/af_firequalizer: add fft2 option
...
2-channels convolution using complex fft
improves speed significantly
not sure if it should be enabled by default
so disable it by default
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-11-04 09:45:01 +07:00
Vittorio Giovara
6f2ad32a16
vf_colorspace: Add support for film primaries
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Vittorio Giovara
4697f60444
vf_colorspace: Add support for smpte 431/432 (dci/display p3) primaries
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Vittorio Giovara
2996604acd
vf_colorspace: Add support for ycgco color space
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Carl Eugen Hoyos
bf52730051
lavfi/mergeplanes: Fix little endian yuv formats >8 bit and <16bit.
...
Fixes remaining cases of ticket #5916 .
2016-11-01 12:28:36 +01:00
Carl Eugen Hoyos
1a65d2a3cc
lavfi/mergeplanes: Fix >8 bit for big endian formats and yuv4xxp16le.
...
Fixes part of ticket #5916 .
2016-11-01 12:24:57 +01:00
Vittorio Giovara
5a123f1424
vf_colorspace: Add support for iec61966-2.4 (xvYCC) transfer
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-31 21:02:12 +01:00
Muhammad Faiz
0686537002
avfilter/avf_showcqt: add bar_t option
...
custom bargraph transparency
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-10-29 22:11:58 +07:00
Rodger Combs
f53c26c694
lavfi/vf_overlay: support NV12 and NV21
...
Tested-by: Michael on x86-32/64 linux, mingw, mips/arm qemu linux
2016-10-26 20:13:30 -05:00
Michael Niedermayer
1609935b6c
Bump minor versions after 3.2 branchpoint to seperate release
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-26 20:52:42 +02:00
Michael Niedermayer
3f3025205f
Bump minor versions for 3.2
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-26 20:52:42 +02:00