dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: Some comments on the iFP port

Re: Some comments on the iFP port

From: Thom Johansen <>
Date: Mon, 10 Apr 2006 23:04:31 +0200

Tomasz Malesinski wrote:

>1. Adjusting what is in IRAM and what is not.
>I started implementing the idea discussed some time ago on IRC. I
>introduced macors like IBSS_ATTR_MPC_SAMPLE_BUF. The macros may be
>defined in config-<model>.h to be empty or not. The default values are
>defined in config.h or, as I think is better, in files like
>config-tremor.h, which are included by all files which may use a
>specific macro.
Good, but perhaps it would be better to move these changes
to config header files located in the codec directories themselves,
so we don't end up with target config files even more crowded
than now?

>2. Decreasing the audio buffer size.
>There is no memory for 5s audio buffer. Currently I use a 0.5s
>(~80kB) long buffer. I guess we should create a SMALL_AUDIO_BUFFER or
>similar config macro. Crossfeeding should be probably disabled when
>using a small audio buffer.
Crossfading pretty much has to be disabled when you're using
buffers this small, unless you like really, really small crossfades :)

>5. Noninterleaved output from dsp.
>The iFP hardware uses noninterleaved samples or at least I don't know
>how to make it accept interleaved ones. An option to make audio buffer
>noninterleaved could save some unnecessary processing on iFP. I
>haven't tried to implement this.
Rockbox pretty much uses non-interleaved audio for all
audio processing steps anyway, so I don't see this as much
of a problem. Perhaps some of our other targets support
this as well.

>6. Codecs optimization.
>Although I believe I switched the CPU to 60 MHz, I have performance
>problems. After some optimizations I managed to play 80 kbps Ogg
>Vorbis file in realtime. A 192 kbps Ogg and all mp3s still skip.
Sounds like we're reading for a bunch of optimising fun, then.

>The Tremor codec contains optimizations of vector operations (merged
>with the Coldfire code), MDCT (block load and store instructions) and
>Huffman decoding. The MP3 codec contains only one optimization in
>synth.c, with a small impact on decoding speed. More is needed.
Thanks, I just might steal some of those right now... :)

Received on 2006-04-10

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy