[Vorbis-dev] Re: Vorbis bistream definition / separation from ogg
Nico Sabbi
nsabbi at tiscali.it
Thu Apr 28 03:25:20 PDT 2005
Michael Smith wrote:
>Hi Nico,
>
>The vorbis specification has the complete definition of the bitstream
>format. It also explains how this bitstream gets embedded in ogg, but
>that's a seperate section, you can ignore it if you want.
>
>Note that from the raw vorbis bitstream, you CANNOT isolate all frame
>boundaries. You must explicitly provide that information in another
>layer (typically, ogg is used for this, but you could use anything
>else). The spec will give you the other information you want here.
>
>
this is very sad :(
Most of mpeg audio formats (excluding several variations of that
incredible mess that is AAC) permit it, and for an excellent
reason: they permit to recover from errors and decode audio
frame singularly if they are not corrupt.
Side informations always creates a hell of dependancies, and in my
specific case I couldn't even access them.
I wonder why in vorbis it's not possible. To save space or what?
IMHO it's a serious limit to the usability of an excellent codec like
vorbis.
>Within a given stream, vorbis frames are always one of two sizes. What
>those two sizes are is information given in the primary vorbis header
>(though to figure out which one a particular block uses, you need info
>from the setup header as well - I guess that answers that part of your
>question).
>
>There are many disadvantages to using only a single block size (number
>of samples per frame). You are incorrect in thinking that things like
>mp3, aac, etc. have constant frame sizes - like vorbis, they use two
>frame sizes (at least mp3 does, the others definitely use more than
>one, but I'm not certain that it's two).
>
>Mike
>
>
>
I wrote that they use a constant number of samples per frame
(576/1152/1024), not a constant frame size.
Thanks very much for your help!
More information about the Vorbis-dev
mailing list