[vorbis-dev] double -> float conversion

Monty xiphmont at xiph.org
Tue Aug 29 23:32:57 PDT 2000



> 
>   I'm in the process of collecting performance data on my platform and I thought I'd test the difference between double and float performance.  So, I replaced all occurances of double in vorbis with float (as was suggested should work).
> 
>   I ended up hanging at:
> 
> #0  0x0002695c in cacm283 ()
> #1  0x00026dd0 in vorbis_lpc_to_lsp ()
> #2  0x0001b3cc in forward ()
> #3  0x0001cac8 in forward ()
> #4  0x0000b844 in vorbis_analysis ()
> #5  0x000030b4 in oe_encode ()
> #6  0x00002230 in main ()
> #7  0x00001a04 in _start ()
> #8  0x000018a8 in start ()

Ah, the iterative root finder ran out of precision.

The *decoder* is currently well tested with floats.  The encoder will work too 
if you guard the LSP root finder against near-digital-silence.  I haven't 
determined the proper threshold value for using floats, although I suppose I 
should do so.

(you're hitting this case, I'll guess, in a frame os near silence with just a 
bit or two over 1024 samples to make the frame nonzero).

<onty

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