[Flac] I'm listening to FLAC on my ipod!

Eric Wong eric at petta-tech.com
Wed Feb 2 22:38:44 PST 2005


Josh Coalson <xflac at yahoo.com> wrote:
> --- Eric Wong <eric at petta-tech.com> wrote:
> > Just to let you guys know, I've been listening to FLAC (compression
> > level 2 or lower) tunes on my 3rd generation ipod running ipodlinux
> > (modified uCLinux) for the past few days.  No skips or slow-downs
> > whatsoever using MPD to play music.
> 
> how loaded is the cpu with a -2 FLAC file?  also, how does the
> battery life compare against regular ipod use?  not sure how
> much would be due to FLAC vs. MP3/AAC and how much due to
> ipodlinux vs. native ipod OS.

Not sure about CPU load, but I suspect not a whole lot.  I have -8
playing comfortably (slows down a little during UI (what little UI I
have) interaction if it's reading from disk at the same time).  I
haven't been able to get plain-old telnet to it working the past week or
so, but I can telnet into MPD.  I optimized a few functions a little in
libFLAC and MPD in C and it was enough for now.  I'll post those to the
-dev mailing list in a bit, but I haven't been able to get very far with
ARM asm (though reading it has given me great insight on how to optimize
my C).

Battery life: >= 2 hours, that's the longest I've left it unplugged and
playing.  No idea compared to the Apple software, I've only used the
Apple software it for a few minutes to make sure the hardware was
working right when I got it.  I'll run a test this weekend and see how
long it takes to drain.

ipodlinux is only using one of the ARM cores, and afaik, not all of the
processor cache.  David Carne (another ipodlinux dev) has gotten the
second core to execute arbitrary instructions but syscalls don't work
yet.  True SMP also seems out of the picture, as the cache is "broken"
(I'm not that knowledgeable enough in this area and will let someone
else explain it).

A cursory search of libFLAC tells me that I can at least run the
CPU-critical functions in COP without using syscalls.  A calloc/malloc
or two exists, but I can get rid of those, I think.

Afaik, MP3s (<=128kbps) play fine using the Intel Processor Primitives
(IPP), but I don't think I can't use it with MPD (which is GPL).  libMAD
isn't playing at full speed, but does play under ipodlinux with MPD, but
I haven't really pursued it.  Tremor support hasn't been added to MPD
yet, but shouldn't take long for anyone to do it since MPD is pretty
modular and I don't have that much time... optimizing is a different
problem.  MPD also supports AAC through libFAAD, but I've never tried
that even on a desktop machine.  Lossy formats don't interest me a whole
lot, so I'm tempted to leave supporting those to other devs. 

-- 
Eric Wong
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.xiph.org/pipermail/flac/attachments/20050202/5a8df0b1/attachment.pgp


More information about the Flac mailing list