June 4, 2005
Burgers, APIs, and processors
In reverse order. My 2.4ghz Athlon64 will encode 48khz stereo WAV to 192kbps
MP3 at about 15x realtime. My 2.8ghz P4 does it at 11.5x realtime (both using
LAME). Sweet. That's 130% the speed at 85% the clock rate. Or about 1.5x more
shit getting done per cycle. Yay, and dual core A64s come out in a week or two,
I can't wait.
I spent some time integrating OGG Vorbis support into this new app that
Brennan and I are working on, and it is sorely lacking in one respect--
the API for using it. Complete pain in the ass. They need to have a simple
encode/decode API, much like LAME (though I have a beef with LAME's API, too,
see next paragraph). Instead you have to deal with the gory details of the
OGG format (OK so you can use the VorbisFile API, but it has its own complexity
issues, especially if you are dealing with streamed content).
So then I also did some stuff with LAME, and they need to (at least on the
Win32 side) provide a nice clean API as well as the old BladeEnc compatible
one. And lame_enc.dll includes mp3 decoding support, yet they don't expose
any of it. So instead I have to do a 10 line patch to lame_enc.dll and have
a custom dll to get it to work! (I will be sending them the changes for
hopeful inclusion shortly)...but once I do it's good times and works.
There's a place down the street from here that I go to from time to time for
drinks and burgers, and I used to think that their burgers were really good,
but now I'm realizing they are only good if you have exactly the right amount
of alcohol-- too little, and you realize how overdone they are, or too much
which leaves you like I feel now-- bloated, nauseous, and feeling like you
want to die. With burps that remind you why. Ugh.
Finally, I'm happy to see AOL open source AVS/Milkdrop/NSV/Ultravox. Woot.