[vorbis-dev] vorbis.com

Michael Smith msmith at labyrinth.net.au
Fri Dec 29 20:22:52 PST 2000

At 05:03 AM 12/30/00 +0100, you wrote:
>Form the vorbis.com homepage:
>"Ogg Vorbis does not compromise quality for freedom. Its stunning
>quality is coupled with aggressive features like fast bitrate scaling,
>surround channels, and fast sample-granularity seek and decode."
>This makes me wonder...
>-- What is "fast bitrate scaling"?

Encoding at some bitrate (usually high), then scaling that down to lower
bitrates (for streaming, etc.) at high speed. Without a decode/encode cycle.

The code isn't complete, but the format is designed to make it possible.
Basically, each vorbis packet gets truncated (the packets have to be built
specially to make this possible, but the code doesn't do that quite yet.) 

I don't know the details of how this is meant to work, though, except that
it's mostly codebook trickeruy.

>-- I've never seen anything in the source supporting surround channels.

The format supports multiple channels (and the code allows you to use this
capability). It's up to the application using the codec to actually feed
this data to appropriate speakers. So yes - vorbis does support surround
sound, though only at a low level - the application level stuff isn't there

Further features specifically for surround sound may exist in the future,
too (channel coupling for multiple channels, etc).

>-- I don't think Vorbis can do sample-gran seeks (yeah, sure, we can
>   emulate it, but anyone can, and it's not implemented at this time).

Since it's a transform codec, obviously the 'real' seeking is to the
nearest block (packet). Emulating it is possible (as it presumably is with
other transform codecs, though I don't know if anyone actually does it),
and the code does this. See ov_pcm_seek(). There's also a faster function
that just does 'rough' seeking.

Unlike some codecs (mp3 comes to mind...), vorbis is capable of producing
(as output) the same length (in samples) of data as the input - hence "fast
sample-granularity [...] decode". 

--- >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