[vorbis-dev] A couple of questions

Michael Smith msmith at labyrinth.net.au
Tue Jul 11 21:08:41 PDT 2000



>2) How 'thread safe' are the vorbis routines ? Could you encode two blocks
at 
>once for example. I hear the LAME guys are having a few fun and games with 
>making Lame multithreaded. I'm thinking SMP here :)

libvorbis is intended to be entirely threadsafe. There's one possible
exception, which involves a once-off (or it's meant to be once-off, it
wasn't last time I checked - probably a minor bug, possibly just left that
way for debugging reasons) initialisation of some tables used for the CRC
in the ogg headers. 

That's easy to avoid (check framing.c, there are some comments about it
there) - you just have to do the initialisation in only one thread. Also, I
think it wouldn't matter anyway on most cpus.

I'm not aware of anyone having done anything using libvorbis for
multithreaded encoding, but there isn't any reason (that I know of) that it
shouldn't work - there might be bugs, but it all looks fine.

Have fun!

Michael

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list