[vorbis-dev] Optimizations

David Riley oscar at the-rileys.net
Sun Oct 15 17:08:03 PDT 2000



Firelight Multimedia wrote:
> 
> Ive been doing some testing lately with speed.  Ive included vorbis support
> into my sound engine (www.fmod.org) for release soon..
> Currently the reference source uses approximately 8% CPU in win98 on a
> p3-500.  (my mp3 playback takes around 2.6% as a side note)..
> This is a lot better than the previous source tree where it took around
> 12-13% cpu time. (sorry i cant quote the version # :) .. it is about a month
> old anyway and used all doubles.
> 
> I havent gone through the source much and wont even pretend to understand
> most of it, so here are some questions.
> My questions are
> 1. Are there any algorithmic 'hacks' i can put in to speed up the playback
> with acceptable quality?  I heard something about removing a dither step.

Any changes you make would probably be made to the library and checked
in with core developers (posted to the list?)  The library could
probably definitely use some optimization (like unrolling loops) but a
good rule of thumb I've found is "Get it working before you optimize"
(or in some projects, "get it working before you ship").  Vorbis is
certainly *working* now, and I think anyone who can do optimizations is
probably welcome (although I certainly can't speak for the developers).

> 2. I am mainly a low level coder, ie i will code anything in ASM if i can
> get the chance.  This should be split into 2 sub questions ->
> 2a.  What parts of the code are 'locked down' and can be low level
> optimized?  I can (and probably will for fmod) rewrite parts of vorbis in
> optimized fpu code, katmai sse and 3dnow.  I dont want to rewrite something
> and have it change on me the next day :)
> 2b.  LPGL .. so I will resubmit these asm optimizations if people want it..
> will the vorbis developers take .S files or is it too soon?

I think if everyone starts submitting asm files, someone will take them
in.  I know I'm going to be making some PPC ones (no altivec yet) for
linux/mac...  As long as there's C equivalents to the functions for
other platforms it should be nice.  Again, I should let the core
developers speak for themselves.

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