From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <16ff6b980901280953s17a7e041s1b605290b365b0e9@mail.gmail.com> References: <16ff6b980901280953s17a7e041s1b605290b365b0e9@mail.gmail.com> Date: Wed, 28 Jan 2009 19:22:00 +0100 Message-ID: From: hiro <23hiro@googlemail.com> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Ogg/Vorbis ported Topicbox-Message-UUID: 8c2813a6-ead4-11e9-9d60-3106f5b1d025 That's great. There's also the celt codec, which has low delay and a quality which is pretty much from outer space... I thought about it, but can't port it. On Wed, Jan 28, 2009 at 6:53 PM, Mathieu Lonjaret wrote: > Hello all, > > Subject says it all; as my first port I did libogg and libvorbis. > > I did it mainly as a learning exercise, so it's far from perfect, but > both the libs compile as well as the simple encoder and decoder from > the 'examples' dir. > I have not tried the encoder, but the decoder seems to be running fine > like that: > cat somefile.ogg | ./decoder_example > /dev/audio > > I did no try to rework things, like the types for example (as it was > done for libmad/mp3dec in rsc's contrib), I limited myself to fix > things the best I could until it built fine. So constructive > criticism, remarks, comments, are of course welcome please. In > particular, I'm not sure about these various things I did: > 1) changed all the alloca calls to some malloc/free > 2) added a rint function > 3) commented out most of the #if defined ... (seemed safe since most > were gnuisms, gcc, or win32 specific). > 4) the 'max' and 'min' vars seemed to pose a problem (although I > wasn't able to find them already defined on plan9), so renamed them to > things like local_max. > 5) created some new headers and moved some code in there to make it cleaner. > 6) the various locations I set in the mkfile to install things. > Also, the weirdest I think was these 3 extern funcs: floor1_fit, > floor1_interpolate_fit, floor1_encode which were declared with a void > * as one of the args, but which were used with a struct * instead. > Seems like fixing the declarations and moving them to a header made > things build fine but I'm not sure of what was the initial intent > here. > > They're hosted as indicated below at the moment, but if they're not > deemed worthless, could I have a contrib dir so they can be installed > with fgb's replica please? > > http://www.ipgp.jussieu.fr/~lonjaret/libogg.tar.gz > http://www.ipgp.jussieu.fr/~lonjaret/libvorbis.tar.gz > > Next should be a decent player, and other of the vorbis-tools, if I > can get around the ncurses dependency. > > Thanks to rsc for 9vx (haven't tested on native plan9 btw), and to > sqweek and quintile for their advices. > > Cheers, > Mathieu > > -- > GPG key on subkeys.pgp.net: > > KeyID: | Fingerprint: > 683DE5F3 | 4324 5818 39AA 9545 95C6 09AF B0A4 DFEA 683D E5F3 > >