Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Call for testers and DSP brains

Re: 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
@@ -1177,6 +1177,9 @@
         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 was last modified "Jan 10 2012" The Rockbox Crew
aaa