Am 20.09.2013 17:58, schrieb Fons Adriaensen:
On Thu, Sep 19, 2013 at 07:07:37PM +0200, hermann
meyer wrote:
I've attached the diff, for your review.
Some of the changes are not necessary needed, but handy for our use case.
Ignore please the #include "gx_compiler.h" and __rt_func
Thanks. It
would seem possible to merge the two versions, but
I have a few questions/remarks.
It will be very welcome, if you merge ffmpeg
support into zita-convolver
and we will switch to "official" version as soon you release it. :-)
1. You shouldn't have removed the
'options'. In the current release
they are used for things not related to the FFT library, and other
options may be added in the future. It has no performance penalty.
2. You have changed the gain normalisation from 0.5 / partition to
1.0 / partition. Why ? The 0.5 is not related to anything specific
FFTW. It's there because the FFT size is twice the partition size.
The result should be that convolution with a single impulse of 1.0
amplitude reproduces the input without a gain change.
we experience a reduced
gain , with 1.0 / partition for ffmpeg FFT
and 0.5 / partition for fftw3, we get comparable results
when switching between ffmpeg and fftw3.
3. If av_malloc() can ever fail, this should raise an
exception.
4. Assuming that the 'swap' operation that is part of the av FFT
only changes the order of complete complex values (and not of
their components), all the swaps can be removed. The only thing
that happens in the F-domain is that values with the same index
are multiplied. Their order is not important.
Ciao,