[Tremor] Re: packaging tremor (libvorbisidec) for debian

Daniel Kahn Gillmor dkg-debian.org at fifthhorseman.net
Fri Nov 24 18:06:42 PST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On November 24, monty at xiph.org said:

> > I've already made an example package, which tests and runs well (50%
> > CPU consumption, comparable to libmad for mp3's) on the linksys NSLU2
> > (32MB RAM, 266Mhz processor) under Linux 2.6.18.
> 
> That seems a little high; Tremor originally ran on an ARM7 TDMI
> (Cirrus Maverick) at 74MHz at about 50% cpu.

And here i thought i was doing good for matching libmad's speed :(.  i
haven't done any very serious testing, though: i've used the
ivorbisfile_example.c program (dynamically-linked) like this:

  <test.ogg ./ivorbisfile_example | aplay -f cd

i was running vmstat during the run (i interrupted the playback after
~25 seconds), which shows:

[0 dkg at igor ~]$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0   5352   1092    836  16252    0    0     7     2   27   20  2  1 96  0
 0  0   5348   1108    836  15484    0    0     0     0  217   43 26  3 70  0
 0  0   5348   1108    848  15484    0    0     0    10  363   48 48  5 47  0
 0  0   5348   1108    852  15484    0    0     0     1  358   35 48  3 44  4
 0  0   5348   1104    856  15484    0    0     0     1  358   35 49  3 48  0
 0  0   5348   1800    860  15484    0    0     0     1  358   48 48  4 47  0
 0  0   5348   1800    860  15484    0    0     0     1  105   19  2  0 98  0
 0  0   5348   1816    860  15484    0    0     0     0   99    7  0  0 100  0

[130 dkg at igor ~]$ 

I don't think aplay itself (or any userland alsa component) is chewing
up a significant fraction of that, either: test.ogg is 4:04, and i
tried:

[0 dkg at igor ~]$ time <test.ogg ./ivorbisfile_example >/dev/null
ALBUM=The Great Rock 'N' Roll Swindle
TRACKNUMBER=4
TITLE=Anarchy In The U.K. (Johnny Rotten)
ARTIST=Sex Pistols

Bitstream is 2 channel, 44100Hz

Decoded length: 10761576 samples
Encoded by: Xiph.Org libVorbis I 20040629

Done.

real    1m38.053s
user    1m36.590s
sys     0m0.350s
[0 dkg at igor ~]$ 

4:04/1:37 is 2.5 x realtime, or 40% usage.

so that's better than 50%, but not by much.  

Any suggestions for what i might be able to do to speed up (or other
ways to test) would be welcome.

> > I'm packaging the regular branch, rather than the low-memory
> > branch at the moment, since debian systems tend towards higher RAM
> > than most embedded devices, and i'm assuming that the regular
> > branch can provide higher fidelity than the lowmem version.
> 
> Fidelity is the same, but the main branch is much faster (CPU/memory
> tradeoff).

OK, that makes sense.  Thanks for the clarification.  Maybe i'll try
packaging the lowmem branch with these same tests just for
comparison...

> > i'm pulling the sources from svn: If there's a more canonical
> > location for the source i should be looking at, i'd be happy to
> > hear it.  I also notice that svn contains bits of debian packaging
> > (a debian/ directory, in particular) which seems to be either
> > out-of-date or from another package or both.
> 
> "All of the above"

heh.  That's kinda what i thought, but it doesn't hurt to check.

> > I'd be happy to contribute my packaging modifications to the
> > mainline tree, if that's desired.  They're GPL at the moment, but
> > i would be willing to change them to the BSD-ish license favored
> > by tremor if that's needed.
> 
> The tremor directory must be BSD, so contributed Debian packaging
> updates should be BSD as well.

Done.  Until i can get this into debian, i'm going to be publishing my
main packaging changes [0].  The diff.gz file there contains all my
changes.  They're fairly small at the moment, and now they're all
BSD-licensed.  You are welcome to incorporate them into SVN if you
like.  They're nothing outrageous.  Also, i'll keep you informed as
things change with the debian packaging (unless don't want me to!).

> > also: i'm having a bit of trouble figuring out the proper version
> > number for the tremor library.
> > http://svn.xiph.org/trunk/Tremor/debian/changelog implies that it
> > is version 1.2.0, but http://svn.xiph.org/trunk/Tremor/CHANGELOG
> > implies that it is 1.0.2, and the libraries appear to build for me
> > as 1.0.2 -- i just want to make sure i'm not missing some new
> > version.
> 
> I... don't actually know :-)

Fair enough.  Can you point me toward anyone who might know?  i
haven't been able to find any release-publication timeline for
libvorbisidec yet.  If there is one, i'd love to set up an automated
"watchfile" [1] to help me keep current if y'all make new releases
upstream, but of course this isn't urgent.

Thanks for your prompt response,

	--dkg

[0] http://lair.fifthhorseman.net/~dkg/src/tremor/
[1] http://dehs.alioth.debian.org/uscan.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8+ <http://mailcrypt.sourceforge.net/>

iD8DBQFFZ6TsiXTlFKVLY2URAhAJAKCR38VIddPfGMX7bJ0EbOc/ThJZUQCgz5I7
5j1GLGTBh/9vDcq54R2tetw=
=Eknk
-----END PGP SIGNATURE-----


More information about the Tremor mailing list