- Status Closed
- Percent Complete
- Task Type Patches
- Category Codecs
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#5607 - Speex codec interface (&library)
Tested 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.
Closed by safetydan
2007-02-09 10:22
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
2007-02-09 10:22
Reason for closing: Accepted
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
Checked in to SVN as revision 12241.
Cheers.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Fix for skipping in the beginning of playback (caused by reallocation in libogg)
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
You’ll have to remove all (2) printf’s in apps/codecs/libogg/framing.c to make it compile on non simulated targets.
It’s unlikely to get included (in my opinion) unless you resolve the GCC 4 things, since that’s what we use for our iPod builds.
Is there any clue to what’s causing it, or is it more an issue of GCC being crazy?
Any change to get this patch available as an already compiled experimental build for the iPod mini 2nd gen? I have the gcc version 4.0.0 (Apple Computer, Inc. build 5026). It would be interesting to see how the Dual 80 MHz ARM 7TDMI processors inside perform with Speex if at all.
Removed (in a way) the silence for (stereo) using gcc 4 on ipod by editing apps/codecs/libspeex/math_approx.c:~106: change spx_sqrtf to be like:
float spx_sqrtf(float arg)
{
#if 0
……… #endif
}
This patch no longer applies to CVS (probably due to the SID codec being added). Would you be able to update it, preferably as a single patch against CVS?
New patch applies against current CVS (as of 2006.07.21 ~18.00 CET). Includes a better (but not very good) sterio square root function, please use mono speex files if possible. Seeking is not improved and it is somewhat flaky, especially in short (about 1 min) files.
Patch (to apply to speex.v004.patch.zip) to get better stereo sound
Fixes speed (& incorperates sterio imporvement). Now speex files encoded with speexenc –vbr –agc –comp 9 –quality 5 (and source files 32kHz mono) decodes nearly realtime (with pich 90% on ipod), which means that they are listenable on a happy day :)
Patch is against speex.v004 patched sources
v005: 32kHz UWB decodes 100% on ipod (gcc4) (with no peak meaters), skips if menues are used.
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.
Not tested on big endian processors, use update be_int & le_int to use #if*def ROCKBOX_BIG_ENDIAN to have a chance.
Wont work with cvs due changes in id3.c and playback.c
Sync with Speex SVN & rockbox CVS, updated to compile without errors with gcc 4.0. (UWB, gets a little slower (just not realtime on iPod)).
in apps/codecs/libspeex/vq.c change:
#elif defined(SHORTCUTS) && (defined(ARM4_ASM) || defined(ARM5E_ASM))
to
#elif (defined(ARM4_ASM) || defined(ARM5E_ASM))
to make uwb work realtime
Fixed assembly and synced to cvs.
should be better makefiles
This last patch is broken quite severely, could you please upload one that adds Speex support, not removes it? :)
I quite agree. I didn’t see this before now, but now i am uploading a new synced (afaik working patch)
Any chance of a new working version?
This should work (tested on iPod, but it may be some faults in the diffing).
use ‘patch -p0 < patch (unzipped)’ to apply