On Sun, 28 Dec 2003 13:03:37 -0800
Dave Yost <Dave@...> wrote:
[lame development list CCed]
> I'm working with some guys on a new instruction set. Are there one or
A new instruction set doesn't matter, as long as there isn't a nice CPU
which is able to work with this instruction set natively... :-)
> two loops that are hotspots in lame? Could you please email C code
If you want to design some kind of multimedia instruction set (at the
moment I only see a CISC way of doing this), I suggest to add some
double precision DSP functions which are able to operate on multiple
data... maybe sqrt, log, log10, a fft with several kinds of window
types, cos, sin...
I suggest to just profile some multimedia apps and look at the used math
functions. It's not beneficial to optimize an instruction set to a
specific application which is subject to change as technology
progresses. Either put most of the application into hardware, or design
a general purpose one which is able to do a lot of things in one go. In
the multimedia business this means SIMD math functions. Have a look at
the used technologies (FFT, MDCT, Wavelets, ...) and the used
mathematical operations.
> for them to me, so we can hand-compile them for the new processor?
Just download an actual lame version and look at the
libmp3lame/i386/fft3dn.nas file (or the corresponding C function
somewhere else in libmp3lame/).
Alternatively you can checkout the experimental branch ("the road to
4.0") in the lame CVS repository from sf.net/projects/lame/. There
should be more interesting files in the i386 directory.
> If you know of hotspots in a decoder, that would be interesting, too.
I suggest to ask the author of libmad or ask on mp3encoder@..., a
general mp3 encoder/decoder mailing list.
Bye,
Alexander.
--
I will be available to get hired in April 2004.
http://www.Leidinger.net Alexander @ Leidinger.net
GPG fingerprint = C518 BC70 E67F 143F BE91 3365 79E2 9C60 B006 3FE7
|