Hi everyone, I'm currently looking into using speex in an embedded project using an ST ARM-device (STR9 family) just with internal memory (96kbyte) and no O/S. Does anyone know if the optimizations included in the code for ARMv4 and ARMv5e are appliable to this device? I would also need to strip down libspeex pretty hard to fit into the available memory. I just want to use a fixed bitrate of 6000 and no wideband. Can anyone give me some more hints what kind of tables I could strip to leave the memory-print even smaller? I was thinking about changing the code with some kind of pre-processor-directives to deactivate certain bitrates and to provide that code back to the general public... Best regards, Tobias -- Psssst! Schon vom neuen GMX MultiMessenger geh?rt? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01
Hi Tobias, I don't know if you've noticed, but ST actually released an optimised port of Speex for their chip (see mailing list archive). About disabling wideband, that can be done by defining DISABLE_WIDEBAND. You probably also want to define DISABLE_VBR and DISABLE_FLOAT_API. As you noted, you can also disable more than half the codebooks. That being said, I think adding a bunch of macros to the main codebase to do that automatically, would just make things more confusing. Jean-Marc Tobias Erichsen a ?crit :> Hi everyone, > > I'm currently looking into using speex in an embedded project > using an ST ARM-device (STR9 family) just with internal > memory (96kbyte) and no O/S. > > Does anyone know if the optimizations included in the code > for ARMv4 and ARMv5e are appliable to this device? > > I would also need to strip down libspeex pretty hard to fit > into the available memory. > > I just want to use a fixed bitrate of 6000 and no wideband. > Can anyone give me some more hints what kind of tables I > could strip to leave the memory-print even smaller? > > I was thinking about changing the code with some kind of > pre-processor-directives to deactivate certain bitrates > and to provide that code back to the general public... > > Best regards, > Tobias
Hi Jean-Marc, I have just discovered the post of Vit Kanevsky and I have already sent him a message. I'm currently evaluating the work of stripping stuff on the win32 platform(nicer workflow ;-) and noticed that I could not just leave out the exc_*_table.c files without getting compiler/linker warning, but possibly I made a mistake there. Is my assumption correct that I just need the exc_10_16_table.c for my 6000 bps? Best regards, Tobias -- Jetzt 1 Monat kostenlos! GMX FreeDSL - Telefonanschluss + DSL f?r nur 17,95 Euro/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a