more on codecs, and maybe some mention of cats
June 5, 2005
June 5, 2005
So after spending quite a lot of time getting LAME/mpglib tuned for my app, it turns out mpglib doesnt handle having multiple decodes going at once (despite having a context pointer etc). LAME. REALLY. So after looking around for any good solid (<=LGPL) mp3 decoders, and not finding any, I started trying to use Vorbis again. My main problem was with creating a Vorbis encoder taking too long. Well, when I went to get a burrito tonight, I realized that I shouldn't be encoding samples as they come in, but rather just when I get a chance. So with a mild architectural change (that took about 30 minutes), I got it all working nicely. Vorbis is really ideally suited for this app (which you will be seeing shortly), on many levels, and above all the fact that it's free goes a long long way. Now I've been talking shit about APIs some, lately, and I just want to state that while I don't think I'm an expert on making great APIs (god knows Winamp's API is a handfull), I do know a good API when I see one. :) I managed to do a good one for Jesusonic, that allows me to integrate Jesusonic processing with other apps extremely easily (including the new app)-- in making the DirectX plug-in the only challenge was making the DirectX plug-in. Not integrating Jesusonic into it. I'm very tempted to go make a version of LAME that has a very clean and sane encoding and decoding API, as well as tuning the mpglib that comes with it to support multiple decodes, much better frame synchronization (Winamp's got as solid as it did from just a few good tweaks).. it's very tempting, cause I often find myself wanting to support these things. Then again, maybe I should wait until the MP3 patents run out, since I live in the USA... Yay for Vorbis... The other thing to note, is that the feral cat who adopted us rocks. Last night we were watching a movie, and we heard this noise. I went to look into her little doghouse, and it looked like she was shredding the crap out of her bed. I was thinking "wow she must be restless or something", and I went out to survey (and perhaps clean up) the damage (scaring the cat off in the process), only to find that she was just pulling her shedded hair from the bed, cleaning it. IT made us feel bad that we didn't clean it sooner, but all was well once we cleaned the hair off, and ran it through the washer and dryer, to give the kitty back her clean bed. It just really impressed me, that's all. And one final thing, with all of the rumour going around about Apple possibly announcing switching to Intel architecture chips tomorrow, I'd just like to point out the following: Whether or not it makes business sense for them to switch, the actual process of switching won't be that bad. Porting applications from OSX/PPC to OSX/x86 wouldn't be that big of a deal. Getting everybody to use the updated APIs, and gcc for compiling, was the huge step. Apple may even have planned it, for all we know. API changes are a much bigger headache than instruction set/ endian changes. At least from my experience in porting software. Then again, 99.99% of the code I write is endian-nuetral on the first take, so maybe I'm smoking crack (but I doubt it). I'd really like to hear that Apple announced that they were going to use Athlon64s. AMD has really blown me away. And I'm going to order my A64X2 4400+ soon (HELLO, BIOS UPGRADE).
Posted by - on Mon 06 Jun 2005 at 11:37 from 12.32.63.x
Add comment: