On Sun, Feb 20, 2005 at 03:09:37PM +0100, petshome@atlas.cz wrote:
> I did composition of butterfly8 and butterfly16 and I found, that these
functions are well decomposed - decomposition doesn't lower computional
speed. On the other hand the same can be done with butterfly8 - decomposition to
butterfly4 (further decomposition is not possible) but there's no reason to
do this. I think little improvement can be done by inlining them. Compiler and
processor can do some speed up only in functions, not between them. Speculative
execution works better without jumps.
Glad to hear they are in fact a sane decomposition. Thanks for checking.
> Did anybody tested MDCT on pictures/video data? It can bring same
computional load as DCT but lower data rates (as MP3 - Vorbis).
You mean running image data through vorbis? some people have experiemented with
that, I think.
If you mean in general, then yes, most lossy image and video formats use an
MDCT, including our
own theora codec.
> Did anybody tested arithmetic coding instead of Huffman coding? This can
lower data rate (or increase quality). Computional complexity will increase but
cannot be so high for Pentium 4. This can be audiophile option when coding. I
don't suppose support of this on fixed-point decoders.
No. Performance issues aside (it's not really more complex, just much, much
slower--vorbis isn't
only implemented on GHz P4s :) useful implementations of arithmetic coding are
still covered by
patents, though many of those will be expiring in the next decade. There are
some variations of
range coding that are believed to be free and do almost as well.
Would be interesting to find out how far from optimum our huffman codebooks are,
if you want to
experiment. We do know the fixed sets the reference encoder uses are withing a
few percent of
optimal for huffman, but I don't know about optimal with respect to actual
entropy.
FWIW,
-r