Help - Search - Members - Calendar
Full Version: Monkey's Audio
Hydrogenaudio Forums > Lossless Audio Compression > Lossless / Other Codecs
WILU
From Monkey's Audio site:

"Monkey's Audio for Apple and Linux is on the way. If you'd like to help, check out the Developers section.
rjamorim
Hrm.. I checked the Developer forum, and all I could find about Mac was some threads with people asking for support, and others claiming bullshit about Macintosh.

(some others were actually trying to feed the source codes to GCC and "see if it works". Gotta admire their creativity)

So what? Are people going to code PPC assembly to replace the current x86 assembly? Or will they rely on the very slow C fallback code?


BTW: Monkey's for Linux x86 has been around for ages, provided by Frank Klemm.
atici
I don't understand why this task is so difficult. It's not a ripper or a player so no hardware access is necessary. Thus the only problem in porting should be due to the math library functions which could be easily modified. Am I wrong?
rjamorim
Most of the core of Monkey's Audio (including the famous neural network routine) is written in x86 assembly. Assembly is probably one of the least portable across plataforms language. Therefore, in order for it to work fast on PPC processors, most assembly code would need to be rewritten.

And yes, hardware access is necessary. Ultimately, you are accessing the CPU smile.gif
bryant
QUOTE(atici @ Jul 5 2003, 04:25 PM)
I don't understand why this task is so difficult. It's not a ripper or a player so no hardware access is necessary. Thus the only problem in porting should be due to the math library functions which could be easily modified. Am I wrong?

Two other problems are the use of a lot of Microsoft-specific calls (even in a command-line program) and the whole big-endian/little-endian thing.
atici
Hmm. But what's the advantage of writing in pure assembly? Of course it'll be the most efficient but any compiler these days produces very efficient code. Isn't it one of the goals in encoder/decoder design to preserve the portability by refraining from using architecture specific code? I guess, for instance Vorbis' approach was more towards portability than pure speed.

BTW what's the case with MPC? I guess it should be easier to port it to PowerPC/Alpha/IA64, isn't it? Does the SV8 code contain much assembly?
rjamorim
QUOTE(atici @ Jul 5 2003, 11:51 PM)
Hmm. But what's the advantage of writing in pure assembly?

It's much faster than any C code, no matter what compiler you use.

QUOTE
Isn't it one of the goals in encoder/decoder design to preserve the portability by refraining from using architecture specific code?


Back then the only goals of Monkey's were compression and speed.

QUOTE
I guess, for instance Vorbis' approach was more towards portability than pure speed.


Of course, but it's pointless comparing Monkey's to Vorbis. The had different planning stages.
bryant
QUOTE(atici @ Jul 5 2003, 06:51 PM)
Hmm. But what's the advantage of writing in pure assembly? Of course it'll be the most efficient but any compiler these days produces very efficient code.

I believe Matt uses MMX instructions to speed up the processing of his neural network (because a lot of it can be done in parallel) and I don't think that compilers are very good at generating stuff like that.
mcbevin
Its possible to write MMX code in pure-C/C++ if you use Intel's intrinsics library (included with Visual Studio, and portable to Linux if you just use the Intel Compiler on Linux, which in any case produces a lot faster programs than gcc) - this is what La does. This code is pretty much the same speed as handwritten assembler.

Of course, this is still not portable to the Mac, however I think in Monkeys audio theres a check whether MMX is supported and if not (i.e. if the computer is an older Pentium/486 etc) then non-MMX versions of the routines are simply used, so the MMX use shouldn't be a fundamental problem except that the Mac version might be a bit slower.
WILU
QUOTE
Hrm.. I checked the Developer forum, and all I could find about Mac was some threads with people asking for support, and others claiming bullshit about Macintosh.


Sorry, I forgot to mention that I took it from download section.

BTW It would be nice if we have support for these systems. For many users on this forum it's the main reason to use Flac ...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.