[vorbis-dev] Vorbis bitstream specification...

Michael Smith msmith at labyrinth.net.au
Sat Feb 9 23:48:01 PST 2002



At 12:38 PM 2/8/02 -0800, you wrote:
>Hi,
>
>I'm looking for more documentation on the Vorbis bitstream format. 
>The goal for me is to write an optimized decoder using only integer
>or fixed point math for use on the Phatnoise Car Audio System
>(see http://www.phatnoise.com).

Sorry. In-depth bitstream format docs are the bit we haven't really even
started on documenting. The libvorbis source is where you have to go
(and though the source is fairly impenetrable if you try and figure out
how the encoder works, figuring out the decoder - and the bitstream format -
is substantially easier).

You might be better off starting from libvorbis - ripping out all the encode
side stuff, and then converting everything to fixed point. That way you
don't need to rewrite all the generic non-fp-stuff, or even figuring out
all the details of the bitstream. The licence of the code is such that you
should be able to do this without any problem.

If you have specific questions that the source doesn't make clear, we're
always willing to answer them - either here on the list, or on our irc
channel (which, if people are around, is a better way to get quick
responses, and discussion, etc.). irc.openprojects.net #vorbis

  
>
>I've already found the info on the Ogg framing system and I've already
>written my own thing for parsing through Ogg frames (easy).

Yeah, this is simple (ogg/src/framing.c is what does this, including encode
(write) side stuff, and that's only about 1700 lines including extensive
self-tests. 
  
>
>Also, is RTP only used for streaming Vorbis data from internet streams?
>When that data is packeted into a file, I assume it uses the Ogg 
>framing system.

Whilst it should be possible to use RTP for streaming, and there is a 
draft RTP payload spec out there (I forget the URL, but it should be
easy to find), it isn't used currently.
For reasons of simplicity, compatibility with the MANY clients out there,
and so on, we use HTTP (with some special headers, which are optional) - 
there's stuff in xiph.org cvs (ices and icecast) for doing this. This just
streams the data as-is, including the ogg framing.

Michael

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list