]>
git.sesse.net Git - ffmpeg/log
Michael Niedermayer [Tue, 28 May 2013 09:28:18 +0000 (11:28 +0200)]
Merge commit '
d1bec4be2207738669874e02605e879ea9620974 '
* commit '
d1bec4be2207738669874e02605e879ea9620974 ':
wavpack: return an error on 0-sized blocks
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 09:13:00 +0000 (11:13 +0200)]
Merge commit '
1d177200ce1ffd8902729e3a4d647b04fc4b35f8 '
* commit '
1d177200ce1ffd8902729e3a4d647b04fc4b35f8 ':
wavpack: remove a useless check.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 09:08:24 +0000 (11:08 +0200)]
Merge commit '
0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840 '
* commit '
0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840 ':
wavpack: add an error message to a failure.
wavpack: return 0 instead of samples count from decoding functions
Conflicts:
libavcodec/wavpack.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 08:56:25 +0000 (10:56 +0200)]
wavpack: Properly check channel index, dont write out of arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 09:02:22 +0000 (11:02 +0200)]
Merge commit '
528daa399018af74d52192eb1861d2b59d256111 '
* commit '
528daa399018af74d52192eb1861d2b59d256111 ':
wavpack: switch to planar output
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Carl Eugen Hoyos [Tue, 28 May 2013 08:28:16 +0000 (10:28 +0200)]
configure: Fix jack auto-detection, broken since
3fc8500
Michael Niedermayer [Tue, 28 May 2013 08:02:56 +0000 (10:02 +0200)]
Merge commit '
a7ec3a9a4eea4e374afcd6e05828b103e6fcb601 '
* commit '
a7ec3a9a4eea4e374afcd6e05828b103e6fcb601 ':
wavpack: drop redundant if/else blocks
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 07:57:40 +0000 (09:57 +0200)]
Merge commit '
7b44c9918086c6aeacf7ef9f902af38b97f43170 '
* commit '
7b44c9918086c6aeacf7ef9f902af38b97f43170 ':
wavpack: remove the subframes codec cap
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 07:50:15 +0000 (09:50 +0200)]
Merge commit '
c330eba84cf2370ad72423aa9e410e20afdc52e2 '
* commit '
c330eba84cf2370ad72423aa9e410e20afdc52e2 ':
lavf: preserve side data when parsing packets.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 07:35:56 +0000 (09:35 +0200)]
jpeg2000dwt: add float based 9/7 dwt
Untested as theres no code yet using it in the encoder.
Code based on mixed float/int dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 07:30:28 +0000 (09:30 +0200)]
jpeg2000dwt: remove floats from mixed float/int 9/7 dwt
This should fix some fate failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 06:59:07 +0000 (08:59 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
smacker: add a clarification notice about audio decoding
configure: make jack depend on pthreads
Conflicts:
configure
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 06:52:03 +0000 (08:52 +0200)]
Merge commit '
538bf767373f176b6487e30181155e74b37cced6 '
* commit '
538bf767373f176b6487e30181155e74b37cced6 ':
avconv: make -aspect work with streamcopy
Conflicts:
ffmpeg.c
ffmpeg_opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Tue, 28 May 2013 06:04:02 +0000 (08:04 +0200)]
Merge commit '
564b7e0c0095768cd20001b28154d69462be54e7 '
* commit '
564b7e0c0095768cd20001b28154d69462be54e7 ':
matroskadec: silently skip CodecState element.
smacker: fix off-by-one error in palette expanding code
Conflicts:
libavformat/smacker.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Sun, 26 May 2013 08:44:11 +0000 (10:44 +0200)]
wavpack: return an error on 0-sized blocks
Such blocks are not valid.
Anton Khirnov [Sun, 26 May 2013 08:39:55 +0000 (10:39 +0200)]
wavpack: remove a useless check.
Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
Anton Khirnov [Sun, 26 May 2013 08:38:54 +0000 (10:38 +0200)]
wavpack: add an error message to a failure.
Anton Khirnov [Sun, 26 May 2013 08:32:56 +0000 (10:32 +0200)]
wavpack: return 0 instead of samples count from decoding functions
The caller never cares about the number of decoded samples, so this only
confuses the reader.
Anton Khirnov [Sat, 25 May 2013 13:31:18 +0000 (15:31 +0200)]
wavpack: switch to planar output
This simplifies the code and makes it faster.
Anton Khirnov [Sat, 25 May 2013 05:49:25 +0000 (07:49 +0200)]
wavpack: drop redundant if/else blocks
Anton Khirnov [Sat, 25 May 2013 04:44:14 +0000 (06:44 +0200)]
wavpack: remove the subframes codec cap
The decoder always consumes full packets.
Anton Khirnov [Fri, 17 May 2013 05:39:34 +0000 (07:39 +0200)]
lavf: preserve side data when parsing packets.
Michael Niedermayer [Tue, 28 May 2013 05:48:51 +0000 (07:48 +0200)]
Merge commit '
5f30c6c8ed1f006c1b3a547dfe388f3a4a080e4d '
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Kostya Shishkov [Mon, 27 May 2013 16:21:04 +0000 (18:21 +0200)]
smacker: add a clarification notice about audio decoding
Michael Niedermayer [Tue, 28 May 2013 00:47:25 +0000 (02:47 +0200)]
j2kenc: Zero DWT struct on allocation
Should fix fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 23:31:07 +0000 (01:31 +0200)]
j2kdec: random non functional changed from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 23:10:26 +0000 (01:10 +0200)]
j2kdec: merge get_tlm() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 20:55:14 +0000 (22:55 +0200)]
j2k/jpeg2000: merge lowres code
This also fixes lowres use with ffplay
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 22:09:00 +0000 (00:09 +0200)]
ffplay: dont forget passing lowres to private options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 20:25:03 +0000 (22:25 +0200)]
jpeg2000: merge mant type from j2k
mant fits in 16bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Fri, 17 May 2013 06:13:58 +0000 (08:13 +0200)]
configure: make jack depend on pthreads
Michael Niedermayer [Mon, 27 May 2013 19:47:32 +0000 (21:47 +0200)]
j2k/jpeg2000: merge j2k & jpeg2000 dwts, drop j2k dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Anton Khirnov [Sun, 26 May 2013 13:31:09 +0000 (15:31 +0200)]
avconv: make -aspect work with streamcopy
Anton Khirnov [Wed, 15 May 2013 13:48:15 +0000 (15:48 +0200)]
matroskadec: silently skip CodecState element.
mkvmerge apparrently uses it for mpeg1/2 video, but it contains the same
information as CodecPrivate, so it can be ignored.
Clément Bœsch [Mon, 27 May 2013 18:52:56 +0000 (20:52 +0200)]
lavfi/haldclutsrc: 10l remove size options.
Clément Bœsch [Mon, 27 May 2013 18:41:38 +0000 (20:41 +0200)]
lavfi/overlay: remove do_blend forward declaration.
Clément Bœsch [Mon, 27 May 2013 18:39:44 +0000 (20:39 +0200)]
lavfi/lut3d: move lut3d init to its definition scope.
Clément Bœsch [Fri, 24 May 2013 23:07:46 +0000 (01:07 +0200)]
lavfi: add haldclut filter.
Fixes Ticket #2517.
Clément Bœsch [Sat, 25 May 2013 14:25:46 +0000 (16:25 +0200)]
lavfi: add dual input helpers.
Clément Bœsch [Thu, 23 May 2013 08:13:35 +0000 (10:13 +0200)]
lavfi: add haldclutsrc filter.
Michael Niedermayer [Mon, 27 May 2013 17:57:42 +0000 (19:57 +0200)]
j2k_dwt: fix scaling of 9/7 dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 16:50:18 +0000 (18:50 +0200)]
j2kenc: Allow encoding with the 9/7 wavelet
Also add a fate test that tests 9/7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Kostya Shishkov [Mon, 27 May 2013 04:26:28 +0000 (06:26 +0200)]
smacker: fix off-by-one error in palette expanding code
Kostya Shishkov [Mon, 27 May 2013 03:40:44 +0000 (05:40 +0200)]
Revert "smackaud: clip output samples"
Smacker audio uses overflows instead of clipping.
This reverts commit
375ca0aca81be2951d9ba4731196e70e490d3cdf .
Michael Niedermayer [Mon, 27 May 2013 15:58:06 +0000 (17:58 +0200)]
j2k: change fixed point of stepsize to 16.16
This seems more natural and matches jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 15:46:54 +0000 (17:46 +0200)]
j2k/jpeg2000: Partially merge quantization code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 14:10:36 +0000 (16:10 +0200)]
j2k/jpeg2000: merge a few whitespaces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 13:55:29 +0000 (15:55 +0200)]
j2k: drop cblknx/y from Jpeg2000Band
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 13:53:42 +0000 (15:53 +0200)]
j2k/jpeg2000: drop xi/yi0/1 from Jpeg2000Prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 12:55:46 +0000 (14:55 +0200)]
j2k: remove cblk from band
cblk is now in the same place as in jpeg2000, which will simplify
merging the 2 decoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 12:51:30 +0000 (14:51 +0200)]
j2kdec: merge decode_tile cblk handling from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 12:50:04 +0000 (14:50 +0200)]
j2kdec: cdxy != 1 does not work, print an error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 12:30:42 +0000 (14:30 +0200)]
j2k/jpeg2000: restructure cblk coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 12:31:05 +0000 (14:31 +0200)]
j2k: fix band coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 08:05:21 +0000 (10:05 +0200)]
j2kdec: merge cblk restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Mon, 27 May 2013 00:18:43 +0000 (02:18 +0200)]
j2kenc: switch to cblk in prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 22:16:07 +0000 (00:16 +0200)]
j2k: merge precinct init code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 21:55:18 +0000 (23:55 +0200)]
j2k/jpeg2000 headers: Cblk/Prec cleanup & merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Paul B Mahol [Mon, 27 May 2013 11:28:17 +0000 (11:28 +0000)]
lavfi/ocv: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 11:19:49 +0000 (11:19 +0000)]
lavfi/frei0r: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 11:30:31 +0000 (11:30 +0000)]
lavfi/channelmap: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 11:17:34 +0000 (11:17 +0000)]
lavfi/format: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 11:14:43 +0000 (11:14 +0000)]
lavfi/setpts: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 11:10:39 +0000 (11:10 +0000)]
lavfi/join: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 10:58:45 +0000 (10:58 +0000)]
lavfi/hqdn3d: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 May 2013 09:57:30 +0000 (09:57 +0000)]
lavfi/interlace: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sun, 26 May 2013 19:31:35 +0000 (19:31 +0000)]
lavfi/trim: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sun, 26 May 2013 19:17:55 +0000 (19:17 +0000)]
lavfi/interlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sun, 26 May 2013 19:13:41 +0000 (19:13 +0000)]
lavfi/trim: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sun, 26 May 2013 19:03:18 +0000 (19:03 +0000)]
lavfi/tinterlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Sun, 26 May 2013 18:52:11 +0000 (18:52 +0000)]
lavfi/idet: remove request_frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Michael Niedermayer [Mon, 27 May 2013 07:31:51 +0000 (09:31 +0200)]
Merge remote-tracking branch 'dilaroga/master'
* dilaroga/master:
avcodec/vda_h264_dec: fix a memory leak
avcodec/vda_h264: use av_buffer to manage buffers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Xidorn Quan [Tue, 21 May 2013 04:12:31 +0000 (12:12 +0800)]
avcodec/vda_h264_dec: fix a memory leak
Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
Xidorn Quan [Tue, 21 May 2013 04:12:30 +0000 (12:12 +0800)]
avcodec/vda_h264: use av_buffer to manage buffers
This patch fixes a leak of buffer when seeking occurs.
It adds a flag in struct vda_context for compatibility with apps which
currently use it. If the flag is not set, the hwaccel will behave like
before.
Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
Michael Niedermayer [Mon, 27 May 2013 06:55:20 +0000 (08:55 +0200)]
Merge remote-tracking branch 'qatar/master'
* qatar/master:
arm: Only output eabi attributes if building for ELF
fix scalarproduct_and_madd_int16_altivec() for orders > 16
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 20:40:25 +0000 (22:40 +0200)]
j2k: merge cosmetics and non functional changes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Paul B Mahol [Sun, 26 May 2013 21:57:28 +0000 (21:57 +0000)]
libtwolame: add forgotten calls
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Martin Storsjö [Sun, 26 May 2013 09:47:33 +0000 (12:47 +0300)]
arm: Only output eabi attributes if building for ELF
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.
Signed-off-by: Martin Storsjö <martin@martin.st>
Clément Bœsch [Sun, 26 May 2013 20:32:24 +0000 (22:32 +0200)]
lavfi/dctdnoiz: move DC normalization out of loops.
Make code slightly faster, simpler, clearer.
The filter is still slow as hell, and that change won't cause any
visible performance improvement (it still takes more than one minute to
process a single 1080p frame on a Core 2 here).
Michael Niedermayer [Sun, 26 May 2013 19:50:17 +0000 (21:50 +0200)]
j2k/jpeg2000: log2_prec size cleanup
This also changes the cblk size storage method to what jpeg2000 uses
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 18:05:30 +0000 (20:05 +0200)]
j2k/jpeg2000: check cblk size
This is based on j2k FCD which is ambigous thus the limit
might be tighter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 17:18:58 +0000 (19:18 +0200)]
j2k: ff_j2k_tag_tree_init: check for integer overflow in alloc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 17:18:31 +0000 (19:18 +0200)]
jpeg2000: cosmetics & restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 17:09:05 +0000 (19:09 +0200)]
j2k: add #includes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 17:00:56 +0000 (19:00 +0200)]
j2k: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:52:47 +0000 (18:52 +0200)]
j2kdec: add AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:52:31 +0000 (18:52 +0200)]
j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:50:18 +0000 (18:50 +0200)]
j2kdec: merge copyright header with jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:47:53 +0000 (18:47 +0200)]
j2kdec: profile code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:47:25 +0000 (18:47 +0200)]
j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:42:00 +0000 (18:42 +0200)]
avcodec/j2kdec: drop disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:32:11 +0000 (18:32 +0200)]
j2k/jpeg2000: merge cosmetics and whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:27:53 +0000 (18:27 +0200)]
j2kdec: merge jpeg2000_init_static_data() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:26:07 +0000 (18:26 +0200)]
j2kdec: move avctx init to decode_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Clément Bœsch [Sun, 26 May 2013 16:45:39 +0000 (18:45 +0200)]
lavfi/lut3d: faster tetrahedral interpolation.
Increase performance by fetching only the necessary points.
1097 → 917 decicyles.
Clément Bœsch [Sun, 26 May 2013 16:36:53 +0000 (18:36 +0200)]
lavfi/lut3d: restore original interpolation speed.
Call NEXT() only once since it got slower due to the overflow condition
introduced in
91b46145 .
interp_trilinear: 1462 → 1280 decicycles
interp_tetrahedral: 1188 → 1097 decicycles
Tested on a Core2, GCC 4.8.
Michael Niedermayer [Sun, 26 May 2013 16:02:38 +0000 (18:02 +0200)]
j2k: s/ff_j2k_getsigctxno/ff_jpeg2000_getsigctxno/g
Also add a related comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 16:01:23 +0000 (18:01 +0200)]
j2k.h: whitespace cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 15:58:44 +0000 (17:58 +0200)]
j2k.h: remove disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Michael Niedermayer [Sun, 26 May 2013 15:58:12 +0000 (17:58 +0200)]
j2k.h: Merges various cosmetics & unused defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>