|
Rockbox mail archiveSubject: Re: Call for testers and DSP brainsRe: Call for testers and DSP brains
From: Bryan VanDyke <bryan.vandyke_at_gmail.com>
Date: Wed, 18 Feb 2009 16:04:23 -0500 Bryan VanDyke wrote: > pondlife wrote: >> Hi all, >> >> I'd very much like to see FS#8894 in SVN at some point. This allows speed >> to be changed independently of pitch. It's particularly useful with audio >> books/podcasts (and maybe would be useful for audible fast forward/rewind). >> >> However, it has had problems with locking up when EQ/crossfeed are in use, >> perhaps when CPU usage gets too high (given that it fails on target and >> never on the sim). Or maybe it's something to do with the various DSP >> initialisations being done incorrectly. >> >> However, I can no longer repro this on my real H300, so I wonder if it's due >> to another bug that's recently been fixed. >> >> So... I'd like help with two things: >> >> 1) People to test the patch and report back. >> >> 2) Rockbox DSP gurus to take a look at it. It might be something obvious. >> And if you think you can improve the audio quality, feel free to do that too >> ;) >> >> The other issue to be is that it grabs a chunk of static memory - I think >> this should be allocated from the audio buffer only when the feature is >> first enabled (restarting playback as needed). >> >> pondlife >> >> >> >> > > > Iriver H10 5g > Fresh pull and the 090218 patch. > With Speed turned on. > > Crossfeed - can't get it lock up. Seems to work fine. > > With Bass, Treble, Eq on. > > I can change the settings while a song is playing and everything is fine. > > If I skip to the next song, ffw, or try playing a new song with the > setting already on, lock up. > > Bryan > > Follow up to my previous post. I think the tdspeed_doit function being called in dsp_process in file dsp.c is returning a bad number. If I add a check after it my system no longer freezes. this is against the tdspeed_090218.patch --- dsp.c 2009-02-18 15:55:47.026741200 -0500 +++ dsp2.c 2009-02-18 15:24:04.551093200 -0500 _at__at_ -1177,6 +1177,9 _at__at_ if(dsp->tdspeed_active) samples = tdspeed_doit(tmp, samples); + if (samples <= 0) + break; + if (dsp->apply_gain) dsp->apply_gain(samples, &dsp->data, tmp); Bryan Received on 2009-02-18 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |