[vorbis-dev] FLOAT_LOOKUP version of lsp_to_curve

TIMMERMANS ANDRE Andre.Timmermans at sbs.be
Tue Jun 25 23:47:28 PDT 2002



> -----Original Message-----
> From:	TIMMERMANS ANDRE 
> Sent:	Wednesday, June 26, 2002 8:40 AM
> To:	vorbis-dev at xiph.org
> Subject:	[vorbis-dev] FLOAT_LOOKUP version of lsp_to_curve
> 
> It seems to me that in this version of the function using
> 
>     float p=.7071067812f;
>     float q=.7071067812f;
> 
> will just leads after applying all the products and squaring
> to p and q having a common factor 0.5 which can be extracted
> from the formulaes.
> 
> So I propose to replace:
> 
>     float p=.7071067812f;
>     float q=.7071067812f;
>     float w=vorbis_coslook(wdel*k);
>     float *ftmp=lsp;
>     int c=m>>1;
> 
> by:
> 
>     float w=vorbis_coslook(wdel*k);
>     float p=lsp[0]-w;
>     float q=lsp[1]-w;
>     float *ftmp=lsp + 2;
>     int c=(m>>1) - 1;
> 
> and:
> 
>     vorbis_invsq2explook(qexp+m)
> 
> by:
> 
>     vorbis_invsq2explook(qexp+m-1)
> 
I forget to add that strictly speaking the looping conditions should changed on

    do{
      q*=ftmp[0]-w;
      p*=ftmp[1]-w;
      ftmp+=2;
    }while(--c);

but if I understand it correctly m is always greater or equal than 8
which means the loop will always be executed at least once.

André

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