[CELT-dev] Use of cruel and unusal frame sizes
N H Elroy
nelroy at box.nl
Sun May 29 00:46:08 PDT 2011
I've been developing an application using CELT for some time and, for
simplicity, have restricted frame sizes to powers of 2. During final
testing I tested with a sound interface (the Phonic Firefly 302) whose
ASIO drivers are very restictive in what they accept, and have about 6
allowable frame sizes < 512, a lot of which are odd numbers. However
some are even numbered, so this should work. Unfortunately it doesn't
and en exception is raised. Some investigation reveals the problem to
be in the module kiss_fft.c, during allocation of storage for the FFT.
The factorisation function kf_factor returns a failure if the frame size
has a prime factor > 5. This results in the block which wasn't yet
allocated being freed, and hence the exception. Given this restriction,
their is no frame size that the both the driver and CELT will accept.
I'd like to avoid the fancy footwork involved in having different frame
sizes, if at all possible.
My question is (a) is this the intended behaviour, or am I missing
something? and (b)is there a way around this restriction? I've also
tried to address this with Phonic, because this sort of behaviour of the
driver is weird and is not a problem with the WDM drivers, but they're
More information about the celt-dev