[vorbis-dev] Vorbis memory consumption

Monty xiphmont at xiph.org
Tue Jan 22 00:20:13 PST 2002



On Tue, Jan 22, 2002 at 12:04:43AM -0500, Monty wrote:
> The two biggest remaining points of memory usage are the window
> function lookups and the decode final waveform buffer.  The first

The decode final wave buffer optimization is now on mainline.  It saves
another 70kB nominal over rc3 decode.  We're now at 50% of rc3 memory
usage and ~30% of beta 4.  This change also eliminated a buffer copy
that cut ~2% off decode time.

There are no known issues in this optimization, but playback code that
doesn't use vorbisfile (or didn't follow decoder_example carefully)
might break as the 'potentially infinite decode buffer' is gone.  You
have to read the data out with vorbis_synthesis_pcmout() after each
vorbis_synthesis_blockin(), or vorbis_synthesis_pcmout() will return
OV_EINVAL.

Note that during testing, I found a vorbisfile seek bug that I thought
was in my new code, but turns out to have appeared in the short-file
vorbisfile patches from before rc3.  The seek succeeds, but the PCM
position is not correct.  I'll fix this ASAP.

I'll get to the window lookup optimization time permitting; the rest
of this week will be a major time crunch.  Once the windowing change
is in place (saving another 30kB), we'll be at about 110kB nominal
heap usage for playback, roughly 40% of rc3.  Past that point, I think
another 32-48kB should be easy to squeeze out, but I'm likely to stop
(for now) at the windowing lookups.

Monty

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