[Vorbis] Re: [Tremor] what is max and min bitrate supported in
msmith at xiph.org
Thu Aug 25 02:37:24 PDT 2005
On 8/25/05, Sanjaykumar Gupta <sanjaykumar.gupta at philips.com> wrote:
> Hi All,
> I am planning to implement Ogg Vorbis Decoder on a 24 bit DSP.
> I have following doubts:
> 1) What is min and max bitrate?
Minimum bitrate is extremely low. Much less than one kilobit per
second. Maximum bitrate is not strictly bounded in the full vorbis
specification (we still hope to create a 'portable friendly profile'
in the future), but over 500 kbps is unusual.
> 2)What is max Audio Packet size ?
Not strictly bounded. You can experiment with the reference encoder at
very high bitrates to get an idea of what real streams are likely to
top out at.
> 3)What is the max size of setup header?
Can be large. Several kilobytes is common. Perhaps a limit of 8 kB
might be reasonable for portable implementations?
> 4)Any idea how to start for making a 24Bit fixed point reference code? Shall
> I start with floating point or Tremor or Tremor Low Mem Version?
I'd say tremor or tremor-lowmem, depending on whether you require
particularly low memory usage or not (note that -lowmem requires
somewhat more cpu).
> 5) What window sizes in Ogg Vorbis are normally supported for audio portable
You should ideally support all window sizes (i.e. from 64 to 8096).
The smaller ones (64 and 128) are pretty simple to deal with. 256,
512, 2048, and 4096 are all used by the reference encoder for common
cases, so are absolutely crucial. I think some encoders use 1024 as
well. 8096 is something you could skip if you don't have the memory
available, but if you can fit it in that would be preferable.
> 6) Floor0 is termed to be obsolete, Does this mean non of the commercially
> available encoder supports Floor0?
It's not obvious what you mean by "commercially available". Certainly
there were releases of the reference encoder (which is by far the most
commonly used one) which used floor0, and some people have floor0
files. However, later releases (including 1.0 and later) do not use
floor0, it's uncommon, and it's reasonable to remove support for it if
you have limited cpu power (it's significantly more cpu-intensive than
More information about the Vorbis