Hi all,
I found an interesting paper on psychomodel 1 which may contain some
useable ideas: (it also comes with C source)
ftp://ftp.icsi.berkeley.edu/pub/real/kyrill/PsychoMpegOne.tar.Z
They discuss using formula for values instead of tables and thus (this
is the good bit) they can apply the psycho model to *any* bitrate, not just the
48/44.1/32 rates. They don't discuss speed aspects though, and I'd hazard a
guess that it's quite slow. Source code is there for all to see.
I've found on my p166 box, that loop order in a for() statement does
affect speed. I've mostly seen that a for(i=999; i>0;i--) is faster than if we
started with 1 and counted up.
And yes, there are still plenty of loops within toolame which need
looking at.
Toolame01e is at www.cryogen.com/mikecheng
Main change is adding the FHT-based fft() from the LAME code. Which
speeds it up a significant amount. II_f_f_t() now calls fht() rather than doing
its own fft.
Did other cleanup and changed default settings (192kbps, .mp2 filename)
Added a downmix to mono mode.
Added Patrick's scale_factor_calc
If you've got an idea, send it in. If you've got a patch, mail it to
me. (caveat: try to keep individual patches simple. ie small incremental
changes :)
Time to code Babylon5 Track 1 (236 seconds) @ 128kbps
toolame psy1 226seconds
psy2 284
nopsy 91
nopsy mono 55
CDEX-iso 220
Iomega recordit 60
later
mike
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )