Rockbox mail archiveSubject: Re: Some comments on the iFP port
Re: Some comments on the iFP port
From: Thom Johansen <thomj_at_pvv.ntnu.no>
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
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
>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