This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#5607 - Speex codec interface (&library)
|
DetailsTested on iPod video with gcc 3.4.3. (GCC 4.0.3 on iPod gives me the sound of silence).
Gcc 4.0.3 works with sound using the simulator on x86_64 (with the same target). Logf gives some messages, and printf is used too (if SIMULATOR is defined). Based on speex SVN from week 21.06.2006. Uses arm4 assembly if ARM_CPU is defined. Seeking and changing tracks work. Seeks in the start backwards so you loose a bit of playback. Vorbis metadata tags are parsed. Includes a little workaround for a segmentation fault when using crossfade. Decodes NB&WB speex files (up to 16kHz) realtime on iPod video. Patch against rockbox CVS as of 25.06.2006. |
This task depends upon
Closed by Dan Everton (safetydan)
Friday, 09 February 2007, 11:22 GMT+2
Reason for closing: Accepted
Additional comments about closing: Checked in to SVN as revision 12241. Cheers.
Friday, 09 February 2007, 11:22 GMT+2
Reason for closing: Accepted
Additional comments about closing: Checked in to SVN as revision 12241. Cheers.
I have tried, and would very much like to see it ported to Tremor/framing, but the memory management code caused segmentation faults when libogg was working so I was not able to figure it out.
Pach must depends on speex.v003.patch
Is there any clue to what's causing it, or is it more an issue of GCC being crazy?
float spx_sqrtf(float arg)
{
if(arg==1.0) return 1.0;
return spx_sqrt(arg); // <---------- this is the line to be added
#if 0
.........
#endif
}
Patch is against speex.v004 patched sources
16kHz WB decodes realtime on ipod (gcc4) with boost half the time.
Crossfade works without workaround.
speex.c confirms to rockbox text format guidelines.
Patch against cvs 2006.8.3.
#elif defined(SHORTCUTS) && (defined(ARM4_ASM) || defined(ARM5E_ASM))
to
#elif (defined(ARM4_ASM) || defined(ARM5E_ASM))
to make uwb work realtime
use 'patch -p0 < patch (unzipped)' to apply