Rockbox mail archiveSubject: Re: FS#8806 - MikMod MOD, S3M, IT, XM player
Re: FS#8806 - MikMod MOD, S3M, IT, XM player
From: Michael König <plasm_at_kawo2.rwth-aachen.de>
Date: Fri, 05 Nov 2010 09:13:09 +0100
Am 04.11.2010 18:17, schrieb Nils Wallménius:
> On Thu, Nov 4, 2010 at 6:08 PM, Thomas Martitz
> <thomas.martitz_at_student.htw-berlin.de> wrote:
>> The codec buffer is bigger than the plugin buffer, doesn't the plugin buffer
>> limit it even more?
> Plugins can capture the audio buffer though.
I had a look at the mikmod codec a bit over a year ago. I'll assume here
that not a lot of its internal workings has
changed since then. I looked at the currently used mod codec as well.
The memory requirements really are the
only issue imho. The current mod codec mostly uses the filebuffer to
read the necessary samples from iirc and
mixes directly from there bypassing the codec memory. So it will be able
to handle vastly bigger modules than
mikmod does even if it is limited to the mod format.
The mikmods codec bin size, combined with its insistence of 16 bit
samples in memory, uncompressing of
compressed samples, having a bloated internal pattern format and an
internal 32bit mixing buffer plus a 16 bit
downmixing buffer usually fails to load and play anything thats bigger
than 250kb. Which is enough for the really
old stuff, for which the mod codec usually already sufficed. For S3M and
IT you run into memory based limitations
fast. If you applied the way the currently used mod codec uses the
filebuffer, extent the mikmod mixer to work
with 8bit samples as well, only converting the samples it absolutely has
too, see if we can do without the 32bit
mixing buffer and maybe condense its own pattern format to something
more compact it would become a lot more
usefull. You could also think about splitting it into 2 or 3 codecs
instead of 1 and see if that would gain you any
significant memory left from lowered binsize to use for more samples,
but i dont think that will be worth it.
Personally i was looking for something that would be able to play the
Unreal S3M/IT/XM2 stuff. Mikmod would
need at least 2MB to do that somewhat reliably at the rate it spews
memory left and right. Using it as a codec
'as is' wouldnt break anything as long the current mod codec stays the
default for '.mod', but dont expect a lot of
mikmod on low memory targets. It needs a lot of memory which rockbox
doesnt readily provide.
Received on 2010-11-05