[theora-dev] Re: Decoder accessing uninitialized variable... Re: [theora-dev]Using Theora in games?

Mauricio Piacentini mauricio at tabuleiro.com
Thu Feb 26 11:38:22 PST 2004

Alen Ladavac wrote:

> I took a liberty to run VTune over it and here is the stats on top-ten
> cycle-spenders:
> 13.37% video_write
> 10.39% ReconInterHalfPixel2
>  8.99% oggpackB_read
>  8.27% ReconRefFrames
>  7.78% ReconInter
>  6.41% ClearDownQFragData
>  6.04% FilterHoriz
>  5.19% UnPackVideo
>  4.54% FilterVert
>  4.22% CopyBlock
> Those are self-times (not including callees), from a 640x480 29.97fps
> video-only stream. I can also run call-graph time analyses, if this above is
> too moot. If I can read it right, Huffman decoding (UnPackVideo?) is not the
> main problem. Also, perhaps some more agressive inlining might help here?
> Note that I'm not familiar with the code yet, so maybe I'm talking rubbish.
> If so, please do correct me. If someone can point me to a small and simple
> function that could significantly benefit from peephole asm optimization, or
> rewriting in MMX specific code, or similar, I could assign one or two of our
> asm programmers to it sometime in the near future. (Some of Recon* functions
> look like a potential MMX candidates.)

The SDL stuff (videowrite to copy the pixel data and the actual SDL 
lock/display) is responsible for the bulk of processing, if I remember 
correctly the tests I did last year. I remember modifying splayer to 
simply decompress the video but not attempt to write it to an SDL 
surface, and it could decompress I believe 90-100 fps (640X480) on an 
Athlon 1600XP.
But if you want to optimize some stuff to asm, have a look at the vp3 
codec source, also available at the Xiph CVS. Several functions are 
already optimized in assembly for MMX, SSE and even Altivec.

--- >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 'theora-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 Theora-dev mailing list