I'm working on integrating libmad with a game engine, and I've got a few questions. I'm new to MAD and mp3 decoding in general, so I apologize in advance for any newbie questions.
In scanning through the mad-dev archives, I read that FPM_DEFAULT produces slow and not very accurate decoding whereas FPM_INTEL is fast and accurate, but the provided msvc project file uses FPM_DEFAULT. Is this because FPM_INTEL assumes gcc and uses gcc-specific extensions? Is there any way to use something faster than FPM_DEFAULT in VC? I'm very concerned with speed because I'll need to use lazy decoding to ensure smooth frame rates.
I initially used mpglib (a subsection of mpg123) for this project of mine, and got the lazy decoding working nicely when I discovered that mpglib doesn't support joint stereo. Does libmad fully support joint stereo, intensive stereo, and VBR?
Thanks very much, Chris Dellario
On Thursday, November 21, 2002, at 01:49 PM, Chris & Amanda Dellario wrote:
In scanning through the mad-dev archives, I read that FPM_DEFAULT produces slow and not very accurate decoding whereas FPM_INTEL is fast and accurate, but the provided msvc project file uses FPM_DEFAULT. Is this because FPM_INTEL assumes gcc and uses gcc-specific extensions? Is there any way to use something faster than FPM_DEFAULT in VC? I'm very concerned with speed because I'll need to use lazy decoding to ensure smooth frame rates.
In the Debug configuration, the MSVC++ project will use FPM_DEFAULT, but it should use FPM_INTEL in the Release configuration. I think you can safely use FPM_INTEL even in the Debug configuration, although it may make debugging the library difficult -- not that you should need to do this.
I initially used mpglib (a subsection of mpg123) for this project of mine, and got the lazy decoding working nicely when I discovered that mpglib doesn't support joint stereo. Does libmad fully support joint stereo, intensive stereo, and VBR?
Yes, libmad fully supports M/S and intensity joint stereo, VBR, and even free format streams.
Cheers,
I initially used mpglib (a subsection of mpg123) for this project of mine, and got the lazy decoding working nicely when I discovered that mpglib doesn't support joint stereo. Does libmad fully support joint stereo, intensive stereo, and VBR?
I've ported the mpg123 to DOS using the DJGPP compiler, great library, but the early version had junk VBR support, I've moved over the madplay, and found then CPU utilisation has dropped, and file compatibiliy is much better.
I'm currently sorting out my merged build tree working out which bits are mine to release. When done, I'll try to get the project merged back into the madplay tree. I seem to remember needing one change in the header files and that was it.
Roger.