Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: hello all (Tremor optimization)

Re: hello all (Tremor optimization)

From: Pedro Vasconcelos <pbv_at_st-andrews.ac.uk>
Date: Mon, 23 May 2005 10:09:06 +0100

On Mon, 23 May 2005 01:50:24 +0200
Thom Johansen <thomj_at_pvv.ntnu.no> wrote:


> > The only optimization I've been able to do is write some asm functions
> > to implement the 32x32 bit arithmetic using the Coldfire MAC
> > instructions. That improved playbay speed slightly to about 24-25%. The
> > other advantage is full 32 bit precision -- i.e. no need to use the
> > lower accuracy mode.
> I'm very curious as to how you performed these optimisations. Did you
> implement them in assembler? Did you utilize the MAC instructions
> with the parallell load? Is there some way I can see your code?

What I did define the multiplication and cross-products MULT3x, XPROD3x,
etc. as assembly inlined functions in an asm_mcf5249.h include (i.e.
analogous to the stock Tremor asm_arm.h). I didn't use the parallel
loads as these functions aren't used with sequencial memory accesses.
Maybe I am missing something here?

I'm not at home at the moment, but I can send you the header file if
you're interested.

> > BTW, I also tested commmenting out mdct_backwards: playback improves to
> > 40-45%, so clearly something else must be optimized...
> Have you tried putting essential data in IRAM? This often gives huge
> performance boosts. As for other parts of the code to optimise, I
> haven't looked much at Tremor yet, only thing I can think of off the
> top of my head is that the windowing can be done faster using
> the EMAC unit.

Sorry, I don't known what the IRAM is--- could you point me to some
description?

> Feel free to pop by #rockbox on irc.freenode.net, if you've got any
> questions or want to discuss your optimisation work. I'm the only person
> involved with codec optimisations at the time, and go by the
> nick 'preglow' there.

OK, I might get back to you later.

Pedro

-- 
Pedro Vasconcelos, School of Computer Science, University of St Andrews
-----------------------------------------------------------------------
"The difference between Theory and Practice 
is greater in Practice than in Theory."
_______________________________________________
http://cool.haxx.se/mailman/listinfo/rockbox
Received on 2005-05-23

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy